k 8 s+virtual-kubelet動的pv付きpodをopenstack-zunに配備
5211 ワード
1、環境情報
本環境はk 8 s+virtual-kubelet+openstack zunを検証するために使用される
1.1.kubernetesクラスタ情報
k 8 sクラスタには3つのmaster,1つの一般node,2つのvirtual-kubenet nodeがある
1.2、ccmカード
Openstack-cloud-controller-managerプラグインを使用してOpenStack cinderをドッキングし、podのcinder pvを作成します.
2、storageclassの作成
2.1、scの作成
2.2、sc情報の表示
3、ダイナミックpv付きpodを作成する
3.1、配置pod
3.2、情報の表示
podが作成されました
pvとpvcの状態は正常です
Openstack volume情報
本環境はk 8 s+virtual-kubelet+openstack zunを検証するために使用される
1.1.kubernetesクラスタ情報
k 8 sクラスタには3つのmaster,1つの一般node,2つの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 |