1. 部署 NFS 存储
1.1 在存储节点配置 NFS 服务
1
| apt-get install -y nfs-kernel-server
|
1
| systemctl start nfs-server.service & systemctl enable nfs-server.service
|
/data/nfs *(rw,sync,no_root_squash,no_all_squash)
1
| systemctl restart nfs-server.service
|
1.2 在全部节点配置 NFS 客户端
1
| apt-get install -y nfs-common
|
1.2 配置 StorageClass
1
2
| helm repo add csi-driver-nfs https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/charts
helm install csi-driver-nfs csi-driver-nfs/csi-driver-nfs --namespace kube-system --version v4.9.0
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| export NFS_SERVER_IP=x.x.x.x
```bash
kubectl apply -f - <<EOF
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: nfs-csi-storageclass
annotations:
storageclass.kubernetes.io/is-default-class: "true"
provisioner: nfs.csi.k8s.io
parameters:
server: ${NFS_SERVER_IP}
share: /data/nfs
reclaimPolicy: Delete
volumeBindingMode: Immediate
mountOptions:
- nfsvers=4.1
EOF
|
1.3 部署 Dragonfly
1
2
| helm repo add dragonfly https://dragonflyoss.github.io/helm-charts/
helm repo update
|
1
| helm install --create-namespace --namespace dragonfly-system dragonfly dragonfly/dragonfly
|
卸载
1
| helm uninstall dragonfly --namespace dragonfly-system
|
1
| kubectl -n dragonfly-system edit ds dragonfly-client
|
1
2
3
| volumes:
- emptyDir: {}
name: storage
|
改为
1
2
3
4
5
| volumes:
- hostPath:
path: /data/dragonfly
type: DirectoryOrCreate
name: storage
|
1.4 配置使用 Dragonfly
旧版本默认的代理端口是 65001,使用 gen-containerd-hosts.sh 生成配置文件;新版本是 4001,gen-containerd-hosts2.sh 生成配置文件。
1
2
3
4
5
| wget -O /tmp/gen-containerd-hosts.sh https://raw.githubusercontent.com/shaowenchen/demo/master/dragonfly/gen-containerd-hosts2.sh
bash /tmp/gen-containerd-hosts.sh docker.io
bash /tmp/gen-containerd-hosts.sh registry.cn-beijing.aliyuncs.com
bash /tmp/gen-containerd-hosts.sh registry.cn-shanghai.aliyuncs.com
|
1
| ls /etc/containerd/certs.d/
|