QingCloud Volume External Storage Plugins for Kubernetes Provisoners
中文|English
qingcloud-volume-provisioner 是部署于Kubernetes之上用于访问青云存储服务的插件。通过这个插件可以基于Kubernetes自动完成对青云硬盘的创建,挂载,格式化,卸载和删除等操作。操作对象为青云IaaS平台上面的容量盘,性能盘以及高性能盘: QingCloud.
- 下载存储插件的压缩文件 qingcloud-flex-volume.tar.gz
- 解压并赋予解压文件可执行权限:
chmod +x * - 执行如下命令:
./qingcloud-flex-volume --install=true - 访问青云的控制台创建 API access key
- 在您k8s的各个节点创建用于访问青云IaaS资源的配置文件 /etc/qingcloud/client.yaml,参考如下示例将您上一步创建的access key以及k8s所在zone保存至config.yaml:
qy_access_key_id: "your access key"
qy_secret_access_key: "your secret key"
zone: "your zone"
log_level: warn
connection_retries: 1
connection_timeout: 5
host: "api.ks.qingcloud.com"
port: 80
protocol: "http"
如为私有云环境,请确保api.ks.qingcloud.com可访问,否则请联系青云实施人员 - 修改kubelet配置文件指向青云存储插件
KUBELET_EXTRA_ARGS="--node-labels=role={{getv "/host/role"}},node_id={{getv "/host/node_id"}} --max-pods 60 --feature-gates=AllAlpha=true,DynamicKubeletConfig=false,RotateKubeletServerCertificate=false,RotateKubeletClientCertificate=false --root-dir=/data/var/lib/kubelet --cert-dir=/data/var/run/kubernetes --enable-controller-attach-detach=true --volume-plugin-dir=/usr/libexec/kubernetes/kubelet-plugins/volume/exec/", 请确保 KUBELET_EXTRA_ARGS 已被添加到 kubelet.service file - 修改controller manager的配置文件,打开flex volume相关配置的选项,参考如下
kube-controller-manager.yaml 通过搜索关键字“flex”找到相关参考配置,其中 ${HYPERKUBE_VERSION} 替换为当前 k8s 的版本 - 下载存储插件的配置文件并部署于 k8s qingcloud-volume-provisioner.yaml, 请修改镜像版本为 v1.3.2
- 以addon方式下载有关青云存储分级的配置文件并部署到 k8s 之上: qingcloud-storage-class-capacity.yaml 和 qingcloud-storage-class.yaml
注意:步骤1,2,3,5,6是针对所有k8s节点的