このセクションでは、1つのマニフェストに複数のリソースを記述する方法について紹介します。

サンプルのマニフェストファイルを新規作成し、以下設定します。

[root@kube-master ~]# vi manifest/sample-multiresource.yaml 

sample-pod1 という名前の Pod リソースと、sample-pod2 という名前の Pod リソースを – – – で区切り設定します。

---
apiVersion: v1
kind: Pod
metadata:
  name: sample-pod1
spec:
  containers:
    - name: nginx-container1
      image: nginx:1.12
---
apiVersion: v1
kind: Pod
metadata:
  name: sample-pod2
spec:
  containers:
    - name: nginx-container2
      image: nginx:1.13

Masterサーバーから作成したサンプルのマニフェストを実行します。ここでは、二つ( sample-pod1 と sample-pod2 )のリソースが作成されます。

[root@kube-master ~]# kubectl apply -f manifest/sample-multiresource.yaml 
pod/sample-pod1 created
pod/sample-pod2 created
[root@kube-master ~]# 

Master サーバーから Kubernetes クラスタ上の Pod の稼働状況を確認します。ここでは、sample-pod1 と sample-pod2 の Pod が稼働しています。

[root@kube-master ~]# kubectl get pods
NAME          READY   STATUS    RESTARTS   AGE
sample-pod1   1/1     Running   0          15s
sample-pod2   1/1     Running   0          15s
[root@kube-master ~]# 

Master サーバーから作成したリソースを削除します。

[root@kube-master ~]# kubectl delete -f manifest/sample-multiresource.yaml 
pod "sample-pod1" deleted
pod "sample-pod2" deleted
[root@kube-master ~]# 
[root@kube-master ~]# 

Master サーバーから Kubernetes クラスタ上の Pod の稼働状況を確認します。ここでは、sample-pod1 と sample-pod2 の Pod が削除されていることが確認できます。

[root@kube-master ~]# kubectl get pods
No resources found.
[root@kube-master ~]#