Please enable Javascript to view the contents

在 Kubernetes 集群部署 Dragonfly

 ·  ☕ 1 分钟

1. 部署 NFS 存储

1.1 在存储节点配置 NFS 服务

  • 存储节点安装 NFS 服务
1
apt-get install -y nfs-kernel-server
  • 启动并设置 NFS 服务开机自启
1
systemctl start nfs-server.service & systemctl enable nfs-server.service
  • 配置 NFS 共享目录
1
mkdir -p /data/nfs
1
vim /etc/exports
/data/nfs  *(rw,sync,no_root_squash,no_all_squash)
  • 重启 NFS 服务
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/

微信公众号
作者
微信公众号