🐳 Docker 加速地址配置
// /etc/docker/daemon.json
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "5"
},
"registry-mirrors": [
"https://docker.sunzishaokao.com",
"https://docker.1panel.live",
"https://docker.kejilion.pro",
"https://docker-registry.nmqu.com"
],
"features": {
"containerd-snapshotter": false
}
}💡 Windows 11 截屏路径:
C:\Users\root\AppData\Local\Packages\MicrosoftWindows.Client.Core_cw5n1h2txyewy\TempState\ScreenClip
📊 Prometheus 监控部署
启动 Node Exporter
docker run -d \
--name=node-exporter \
--restart=always \
-p 9100:9100 \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
prom/node-exporter启动 cAdvisor
docker run -d \
--name=cadvisor \
--restart=always \
--privileged \
-p 8080:8080 \
-v /:/rootfs:ro \
-v /var/run:/var/run:ro \
-v /sys:/sys:ro \
-v /var/lib/docker:/var/lib/docker:ro \
-v /dev/disk:/dev/disk:ro \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/gcr.io/cadvisor/cadvisor:v0.49.1启动 Prometheus
docker run -d \
--name=prometheus \
--restart=always \
-p 9090:9090 \
-v $PWD/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheusPrometheus 配置文件 prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
alerting:
alertmanagers:
- static_configs:
- targets: []
rule_files: []
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
labels:
app: "prometheus"
- job_name: "linux"
static_configs:
- targets: ["172.126.9.41:9100", "172.126.9.42:9100"]
labels:
app: "linux"
- job_name: "docker"
static_configs:
- targets: ["172.126.9.41:8080", "172.126.9.42:8080"]
labels:
app: "docker"🌙 夜莺监控模板(Docker Compose)
networks:
nightingale:
driver: bridge
services:
mysql:
image: "mysql:8"
container_name: mysql
hostname: mysql
restart: always
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: 1234
volumes:
- ./mysqldata:/var/lib/mysql/
- ../initsql:/docker-entrypoint-initdb.d/
- ./etc-mysql/my.cnf:/etc/my.cnf
networks:
- nightingale
ports:
- "3306:3306"
redis:
image: "redis:6.2"
container_name: redis
hostname: redis
restart: always
environment:
TZ: Asia/Shanghai
networks:
- nightingale
ports:
- "6379:6379"
victoriametrics:
image: victoriametrics/victoria-metrics:v1.79.12
container_name: victoriametrics
hostname: victoriametrics
restart: always
environment:
TZ: Asia/Shanghai
ports:
- "8428:8428"
networks:
- nightingale
command:
- "--loggerTimezone=Asia/Shanghai"
nightingale:
image: flashcatcloud/nightingale:latest
container_name: nightingale
hostname: nightingale
restart: always
environment:
GIN_MODE: release
TZ: Asia/Shanghai
WAIT_HOSTS: mysql:3306, redis:6379
volumes:
- ./etc-nightingale:/app/etc
networks:
- nightingale
ports:
- "17000:17000"
- "20090:20090"
depends_on:
- mysql
- redis
- victoriametrics
command:
- /app/n9e
categraf:
image: "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/flashcatcloud/categraf:v0.3.76"
container_name: "categraf"
hostname: "categraf01"
restart: always
environment:
TZ: Asia/Shanghai
HOST_PROC: /hostfs/proc
HOST_SYS: /hostfs/sys
HOST_MOUNT_PREFIX: /hostfs
WAIT_HOSTS: nightingale:17000, nightingale:20090
volumes:
- ./etc-categraf:/etc/categraf/conf
- /:/hostfs
networks:
- nightingale
depends_on:
- nightingale🔓 破解工具笔记
MobaXterm 破解
docker run -it -d \
-p 80:80 \
jockerdragon/mobaxterm-crack:latest访问
http://localhost将生成的
Custom.mxtpro复制到 MobaXterm 安装目录或便携版路径
FinalShell 破解
在 Linux 中安装 Nginx,将
FinalShell-Active-main.zip解压到 Nginx 根目录浏览器访问 Nginx IP
输入 FinalShell 机器码,选择激活版本(推荐专业版)
屏蔽联网激活验证(Hosts)
127.0.0.1 www.youtusoft.com
127.0.0.1 youtusoft.com
127.0.0.1 hostbuf.com
127.0.0.1 www.hostbuf.com
127.0.0.1 dkys.org
127.0.0.1 tcpspeed.com
127.0.0.1 www.wn1998.com
127.0.0.1 wn1998.com
127.0.0.1 pwlt.wn1998.com
127.0.0.1 backup.www.hostbuf.com📦 RKE2 镜像批量导入脚本
#!/bin/bash
# /usr/bin/import
CTR="/var/lib/rancher/rke2/bin/ctr"
SOCK="/run/k3s/containerd/containerd.sock"
NS="k8s.io"
echo "================================"
echo " RKE2 镜像导入工具 "
echo "================================"
if [ ! -S "$SOCK" ]; then
echo "❌ 未找到 containerd sock,切换为 node 节点路径..."
SOCK="/run/containerd/containerd.sock"
fi
for img in ./*.tar; do
if [ -f "$img" ]; then
echo ""
echo "====================================="
echo "正在导入:$img"
echo "====================================="
$CTR -a $SOCK -n $NS images import "$img"
fi
done
echo ""
echo "✅ 导入完成!"
echo ""
echo "查看镜像:"
echo "$CTR -a $SOCK -n $NS images list"☸️ Kubernetes
初始化主节点
kubeadm init \
--apiserver-advertise-address=192.168.66.11 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version 1.29.2 \
--service-cidr=10.10.0.0/12 \
--pod-network-cidr=10.244.0.0/16 \
--ignore-preflight-errors=all \
--cri-socket unix:///var/run/cri-dockerd.sock生成 Worker 加入命令
kubeadm token create --print-join-commandWorker 加入集群
kubeadm join 192.168.10.11:6443 \
--token a6xh07.yg9wh2vru2grluwb \
--discovery-token-ca-cert-hash sha256:7cd8499abae48c8403800152cc0f655ac704ea00ae30a549acd9bbac7b26dca4 \
--cri-socket unix:///var/run/cri-dockerd.sock🗄️ NFS 存储部署
服务端部署
yum -y install nfs-utils rpcbind
systemctl enable --now nfs-server
mkdir -p /data/nfs
chmod 777 /data/nfs
echo "/data/nfs 192.168.40.0/24(rw,sync,no_root_squash)" >> /etc/exports
exportfs -a
systemctl restart nfs-serverHelm 部署 NFS Provisioner
# 添加 Helm 仓库
helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner
# 拉取镜像并打标签(如需)
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/k8s.gcr.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/k8s.gcr.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2 k8s.gcr.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
# 部署
helm install nfs-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
--set nfs.server=192.168.40.3 \
--set nfs.path=/data/nfs \
--set storageClass.name=nfs-client \
--set storageClass.defaultClass=true \
--set image.tag=v4.0.2📈 监控 Kubernetes(kube-prometheus)
拉取镜像并打标签
#拉取镜像
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/prometheus/prometheus:v2.54.1
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/prometheus/alertmanager:v0.27.0
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/prometheus-operator/prometheus-operator:v0.76.2
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/prometheus-adapter/prometheus-adapter:v0.12.0
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/prometheus-adapter/prometheus-adapter:v0.12.0 registry.k8s.io/prometheus-adapter/prometheus-adapter:v0.12.0
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/prometheus/node-exporter:v1.8.2
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/prometheus/blackbox-exporter:v0.25.0
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.13.0
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/jimmidyson/configmap-reload:v0.13.1
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/brancz/kube-rbac-proxy:v0.18.1
docker pull grafana/grafana:11.2.0
#打标签
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/prometheus/prometheus:v2.54.1 quay.io/prometheus/prometheus:v2.54.1
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/prometheus/alertmanager:v0.27.0 quay.io/prometheus/alertmanager:v0.27.0
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/prometheus-operator/prometheus-operator:v0.76.2 quay.io/prometheus-operator/prometheus-operator:v0.76.2
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/prometheus/node-exporter:v1.8.2 quay.io/prometheus/node-exporter:v1.8.2
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/prometheus/blackbox-exporter:v0.25.0 quay.io/prometheus/blackbox-exporter:v0.25.0
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.13.0 registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.13.0
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/jimmidyson/configmap-reload:v0.13.1 ghcr.io/jimmidyson/configmap-reload:v0.13.1
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/brancz/kube-rbac-proxy:v0.18.1 quay.io/brancz/kube-rbac-proxy:v0.18.1部署
kubectl apply --server-side -f manifests/setup
kubectl wait --for condition=Established --all CustomResourceDefinition --namespace=monitoring
kubectl apply -f manifests/
# 允许外部访问(删除 NetworkPolicy)
kubectl delete -f manifests/prometheus-networkPolicy.yaml
kubectl delete -f manifests/grafana-networkPolicy.yaml
kubectl delete -f manifests/alertmanager-networkPolicy.yaml🗂️ Gitea 部署(Helm)
# 添加 Helm 源
helm repo add gitea https://dl.gitea.io/charts
helm repo update
# 导出配置文件
helm show values gitea/gitea > values.yaml
# 修改 values.yaml(持久化、Service 类型等)
# vim values.yaml
# 安装
helm install gitea -f values.yaml gitea/gitea
# 获取 NodePort
kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services gitea-http访问:
http://<任意节点IP>:<NodePort>
📝 WordPress 部署(Helm)
helm install wordpress bitnami/wordpress \
--namespace=wordpress \
--create-namespace \
--set global.storageClass=nfs-client \
--set wordpressUsername=admin \
--set wordpressPassword=Root.000 \
--set replicaCount=2 \
--set service.type=NodePort \
--set service.nodePorts.http=30808 \
--set persistence.enabled=true \
--set persistence.size=10Gi \
--set volumePermissions.enabled=true \
--set mariadb.enabled=true \
--set mariadb.architecture=standalone \
--set mariadb.auth.rootPassword=Root.000 \
--set mariadb.auth.password=Root.000 \
--set mariadb.primary.persistence.enabled=true \
--set mariadb.primary.persistence.size=8Gi \
--set memcached.enabled=true \
--set wordpressConfigureCache=true \
--set ingress.enabled=true \
--set ingress.hostnameb=wordpress.wubian.com
评论区