在托管 Kubernetes 中使用 JuiceFS
阿里云
-
Kubernetes 集群需要开启 SNAT 访问公网,登录集群的节点访问公网确认网络是否正常。如果创建集群的时候没有开启,请参考官方文档 开启 SNAT
-
在集群的 集群信息 的 连接信息 标签页,按照文档配置
kubectl
-
参考文档 在 Kubernetes 中使用 JuiceFS 安装和使用 JuiceFS。
腾讯云
腾讯云 EKS (弹性集群)暂不支持通过 CSI 方式使用自定义存储。下面文档展示在 TKE 集群中如何使用 JuiceFS。
-
Kubernetes 集群节点需要能访问公网,登录集群的节点访问公网确认网络是否正常。如果不能访问公网,请参考 VPC 连接公网 对集群所在的 VPC 配置公网访问,比如配置 SNAT。
-
在集群基本信息页面,根据需要开启内网或者公网访问,后续需要使用
kubectl操作集群。
-
根据 Kubernetes 集群的版本安装对应的
kubectl,详见连接集群。 -
TKE 无法访问 CSI 需要的部分在 quay.io 的 sidecar 镜像,需要自行同步到 CCR。比如将其同 步到
juicedata命名空间并使用 CCR 的镜像地址替换 quay.io 的镜像地址:$ cat k8s.yaml | grep 'image: quay.io' | awk '{print $NF}' | sort | uniq
quay.io/k8scsi/csi-node-driver-registrar:v1.1.0
quay.io/k8scsi/csi-provisioner:v1.6.0
quay.io/k8scsi/livenessprobe:v1.1.0
$ docker login ccr.ccs.tencentyun.com
Username: <Registry username>
Password: <Registry password>
$ docker pull quay.io/k8scsi/csi-node-driver-registrar:v1.1.0
$ docker image tag quay.io/k8scsi/csi-node-driver-registrar:v1.1.0 ccr.ccs.tencentyun.com/juicedata/csi-node-driver-registrar:v1.1.0
$ docker push ccr.ccs.tencentyun.com/juicedata/csi-node-driver-registrar:v1.1.0
$ docker pull quay.io/k8scsi/csi-provisioner:v1.6.0
$ docker image tag quay.io/k8scsi/csi-provisioner:v1.6.0 ccr.ccs.tencentyun.com/juicedata/csi-provisioner:v1.6.0
$ docker push ccr.ccs.tencentyun.com/juicedata/csi-provisioner:v1.6.0
$ docker pull quay.io/k8scsi/livenessprobe:v1.1.0
$ docker image tag quay.io/k8scsi/livenessprobe:v1.1.0 ccr.ccs.tencentyun.com/juicedata/livenessprobe:v1.1.0
$ docker push ccr.ccs.tencentyun.com/juicedata/livenessprobe:v1.1.0
$ sed -i '[email protected]/[email protected]/juicedata@g' k8s.yaml -
实际使用中请用自己的仓库命名空间替换
juicedata。 -
参考文档在 Kubernetes 中使用 JuiceFS 安装和使用 JuiceFS,注意文档中的
k8s.yaml使用上述改过镜像地址的k8s.yaml。
AWS
Amazon Elastic Kubernetes Service (Amazon EKS) 是一个托管服务,它将 Kubernetes 运行在 AWS 上,无需自行安装、操作和维护 Kubernetes 控制平面或节点。
节点类型选择
创建 AWS EKS 集群时有两种节点类型可以选择:
- Managed nodes - 使用 EC2 作为集群节点
- Faragate nodes - 使用 Fargate 作为集群节点