龙空技术网

阿里云自建k8s存储插件csi安装使用

新钛云服 241

前言:

当前看官们对“阿里云服务器搭建ss教程”大体比较关注,同学们都需要剖析一些“阿里云服务器搭建ss教程”的相关内容。那么小编在网摘上网罗了一些关于“阿里云服务器搭建ss教程””的相关内容,希望兄弟们能喜欢,各位老铁们快快来了解一下吧!

前言

k8s在阿里云上使用,推荐还是使用阿里云的ack。无论是从稳定性,以及后期的维护来说,ack 都是最优的方案,自建k8s 阿里云不提供任何帮助,一旦集群出现问题(主要是网络问题)很难进行排查。

如果出于特殊原因,希望在阿里云上进行自建k8s当然也可以。自建k8s需要集成阿里云两个重要的插件cloud-controller-manager(负载均衡插件),csi(存储插件)。两个插件在k8s 1.20 测试可用。下面我们将进行csi 存储插安装。

插件下载git地址

git clone 

文件说明

下载相关文件

wget   

CSI 插件部署

部署rbac.yml

kubectl apply -f rbac.yaml

查看生成的 secrets 的csi token 名字

[root@sh-dev-test-staging-k8s-master-01 ack]# kubectl get secrets -A |grep csikube-system       csi-admin-token-ssflh                           kubernetes.io/service-account-token   3     2d14h

修改csi-plugin-managed.yaml & csi-provisioner-managed.yaml

两个文件修改位置一致请参考下图

kubectl apply -f csi-plugin-managed.yamlkubectl apply -f csi-provisioner-managed.yaml

查看部署

[root@sh-dev-test-staging-k8s-master-01 ack]# kubectl get pods -A |grep csikube-system     csi-plugin-drns4                                           4/4     Running   0         2d3hkube-system     csi-plugin-kt9sc                                           4/4     Running   0         2d3hkube-system     csi-plugin-kwb4c                                           4/4     Running   0         160mkube-system     csi-plugin-q82b5                                           4/4     Running   0         3h1mkube-system     csi-plugin-qsnxb                                           4/4     Running   0         2d3hkube-system     csi-plugin-rvvmp                                           4/4     Running   4         165mkube-system     csi-provisioner-75f5db78b8-87szg                           7/7     Running   0         2d3hkube-system     csi-provisioner-75f5db78b8-zr84d                           7/7     Running   0         2d3h

nodes 打 providerID

providerID 对应的值为以下两行的输出META_EP= `curl -s $META_EP/region-id`.`curl -s $META_EP/instance-id`开发测试环境部署样例kubectl patch node sh-dev-test-staging-k8s-master-01 -p '{"spec":{"providerID": "cn-shanghai.i-uf6ckzrhi1oe3qhcbc15"}}'kubectl patch node sh-dev-test-staging-k8s-master-02 -p '{"spec":{"providerID": "cn-shanghai.i-uf6fqvqcs9yq2d3h4km2"}}'kubectl patch node sh-dev-test-staging-k8s-master-03 -p '{"spec":{"providerID": "cn-shanghai.i-uf6hwjh31jv7f91lp25j"}}'kubectl patch node sh-dev-test-staging-k8s-node-01 -p '{"spec":{"providerID": "cn-shanghai.i-uf6ft06ppzodg1caaj6i"}}'kubectl patch node sh-dev-test-staging-k8s-node-02 -p '{"spec":{"providerID": "cn-shanghai.i-uf681hjb2ku43a54k4zn"}}'kubectl patch node sh-dev-test-staging-k8s-node-03 -p '{"spec":{"providerID": "cn-shanghai.i-uf6fl571hr62dswgzc3x"}}'

部署测试1: disk 部署测试

apiVersion: v1kind: PersistentVolumeClaimmetadata:name: disk-pvcspec:accessModes:- ReadWriteOnceresources:  requests:    storage: 25GistorageClassName: alicloud-disk-essd#storageClassName: alicloud-disk-ssd---apiVersion: apps/v1kind: Deploymentmetadata:name: deployment-disklabels:  app: nginxspec:selector:  matchLabels:    app: nginxtemplate:  metadata:    labels:      app: nginx  spec:    containers:    - name: nginx      image: nginx:alpine      ports:      - containerPort: 80      volumeMounts:        - name: disk-pvctest          mountPath: "/data"    volumes:      - name: disk-pvctest        persistentVolumeClaim:          claimName: disk-pvc
kubectl apply -f deploy.yaml

1.1 查看pv,pvc

kubectl get pv, pvc

1.2 查看pod

1.3 查看挂载状态

1.4: 磁盘扩容测试

阿里云插件创建的storageclasses.storage 默认支持动态扩容(只能增加)

disk-pvc ---> pvc 的名称storage ---> 磁盘扩容后的大小kubectl patch pvc disk-pvc -p '{"spec":{"resources":{"requests":{"storage":"30Gi"}}}}'

查看扩容结果

小结

按照上文部署完成后阿里云的常用存储可以正常使用,样例虽然只给了disk, 但是 nas oss 一样可以正常使用。

需要注意的是阿里云的动态卷有很多种,部分不能正常使用,这个可能与服务器所在的区域有关,资源不足,或者资源本身的使用限制不满足当前集群的部署环境(极速nas 不支持跨可用区)。创建集群时要充分评估集群需求,选择合适的可用区。

云管理服务专家新钛云服 郭鹏超原创

标签: #阿里云服务器搭建ss教程