k8s+virtual-kubelet部署带动态pv的pod到openstack-zun

Iris ·
更新时间:2024-11-13
· 846 次阅读

1、环境信息

本环境用于验证k8s+virtual-kubelet+openstack zun

1.1、kubernetes集群信息

k8s集群有3个master,一个普通node,两个virtual-kubenet node

# kubectl get nodes -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME k8s-m1 Ready master 23d v1.17.0 192.168.1.172 CentOS Linux 7 (Core) 3.10.0-1062.el7.x86_64 docker://19.3.5 k8s-m2 Ready master 23d v1.17.0 192.168.1.151 CentOS Linux 7 (Core) 3.10.0-1062.el7.x86_64 docker://19.3.5 k8s-m3 Ready master 23d v1.17.0 192.168.1.235 CentOS Linux 7 (Core) 3.10.0-1062.el7.x86_64 docker://19.3.5 k8s-n1 Ready 23d v1.17.0 192.168.1.59 CentOS Linux 7 (Core) 3.10.0-1062.el7.x86_64 docker://19.3.5 virtual-kubelet Ready agent 2d20h v1.14.3-vk-openstack-zun-781b46a-dev virtual-kubelet1 Ready agent 20h v1.14.3-vk-openstack-zun-781b46a-dev 1.2、ccm插件

通过openstack-cloud-controller-manager插件对接OpenStack cinder,用于为pod创建cinder pv

2、创建storageclass 2.1、创建sc # kubectl apply -f sc.yaml # cat sc.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: standard provisioner: kubernetes.io/cinder 2.2、查看sc信息 # kubectl get sc NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE standard kubernetes.io/cinder Delete Immediate false 23d [root@k8s-m1 test]# kubectl describe sc standard Name: standard IsDefaultClass: No Annotations: kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"storage.k8s.io/v1","kind":"StorageClass","metadata":{"annotations":{},"name":"standard"},"provisioner":"kubernetes.io/cinder"} Provisioner: kubernetes.io/cinder Parameters: AllowVolumeExpansion: MountOptions: ReclaimPolicy: Delete VolumeBindingMode: Immediate Events: 3、创建带动态pv的pod 3.1、部署pod # kubectl apply -f testpvc.yaml # cat testpvc.yaml apiVersion: v1 kind: Pod metadata: name: testpvcpod spec: containers: - name: busybox-pvc image: busybox imagePullPolicy: IfNotPresent volumeMounts: - name: testpv mountPath: /home volumes: - name: testpv persistentVolumeClaim: claimName: testpvc --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: testpvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 2Gi storageClassName: standard 3.2、查看信息

pod已经创建成功

# kubectl get pods NAME READY STATUS RESTARTS AGE testpvcpod 1/1 Running 0 4m29s

pv和pvc状态正常

# kubectl get pv NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE pvc-c9e46b6b-cd52-474d-9835-8f5757ac5ec7 2Gi RWO Delete Bound default/te stpvc standard 8m29s # kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE testpvc Bound pvc-c9e46b6b-cd52-474d-9835-8f5757ac5ec7 2Gi RWO standard 26m

openstack volume信息

# openstack volume list +--------------------------------------+----------------------------------------------------------------- ------------------------------+-----------+------+------------------------------------------------------- --------+ | ID | Name | Status | Size | Attached to | +--------------------------------------+----------------------------------------------------------------- ------------------------------+-----------+------+------------------------------------------------------- --------+ | 9ac04a59-146c-4300-9030-58c1e153c2f1 | kubernetes-dynamic-pvc-c9e46b6b-cd52-474d-9835-8f5757ac5ec7 | available | 2 |
作者:vxlinux2019



pv openstack virtual k8s pod

需要 登录 后方可回复, 如果你还没有账号请 注册新账号