如何在托管的 Kubernetes 环境中使用 JuiceFS
阿里云
Kubernetes 集群需要开启 SNAT 访问公网,登录集群的节点访问公网确认网络是否正常。 如果创建集群的时候没有开启,请参考官方文档 开启 SNAT
在集群的 集群信息 的 连接信息 标签页,按照文档配置 kubectl
参考文档 在 Kubernetes 中使用 JuiceFS 安装和使用 JuiceFS
腾讯云
腾讯云 EKS (弹性集群)暂不支持通过 CSI 方式使用自定义存储。下面文档展示在 TKE 集群中如何使用 JuiceFS。
Kubernetes 集群节点需要能访问公网,登录集群的节点访问公网确认网络是否正常。 如果不能访问公网,请参考 VPC 连接公网 对集群所在的 VPC 配置公网访问,比如配置 SNAT
在集群 基本信息 页面,开启 内网访问
新建一台低配虚拟机用于安装 kubectl 命令行,新建的时候选择与 Kubernetes 集群相同的 VPC。也可以选用该 VPC 内已有的一台服务器比如集群的一个节点做为运行 kubectl 的客户端机器
根据 Kubernetes 集群的版本安装对应的 kubectl 客户端,例如集群的版本为
1.18
,在 该版本的 CHANGELOG 找到 客户端下载链接 ,下载相应的安装包,按照步骤 1 中 通过 Kubectl 连接 Kubernetes 集群的操作说明 安装 kubectlTKE 无法访问 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 's@quay.io/k8scsi@ccr.ccs.tencentyun.com/juicedata@g' k8s.yaml
实际使用中请用自己的仓库命名空间替换
juicedata
参考文档 在 Kubernetes 中使用 JuiceFS 安装和使用 JuiceFS,注意文档中的
k8s.yaml
使用上述改过镜像地址的k8s.yaml
AWS
AWS EKS 是 AWS 的托管容器服务,下面文档展示在 AWS EKS 中如何使用 JuiceFS。
Kubernetes 集群节点需要能公网访问。
安装 AWS CLI
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
配置您的 AWS CLI 凭证
$ aws configure
AWS Access Key ID [None]: AKIA5Z7C6xxxxxxxxxx
AWS Secret Access Key [None]: 25+aOd2WJfYJ6uxxxxxxxxxxxxxxxx
Default region name [None]: cn-northwest-1
Default output format [None]: json
使用 AWS CLI 创建 kubeconfig 文件
$ aws eks --region cn-northwest-1 update-kubeconfig --name test
Added new context arn:aws-cn:eks:cn-northwest-1:949126829252:cluster/test to /root/.kube/config
参考文档 在 Kubernetes 中使用 JuiceFS 安装和使用 JuiceFS