このセクションでは、複数のマニフェストを同時に適用する方法について紹介します。

Master サーバーから Kubernetes クラスタ上の Pod リソースを確認します。ここでは、Pod リソースが存在しないことが確認できます。

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

適用するマニフェストを格納するディレクトリを作成し、そのディレクトリにマニフェストを複数格納します。ここでは、 sample-multimanifest ディレクトリに sample-pod1 と sample-pod2 のマニフェストを格納しています。

[root@kube-master manifest]# ls -la sample-multimanifest/
合計 8
drwxr-xr-x. 2 root root  54  1月  6 19:37 .
drwxr-xr-x. 6 root root 231  1月  6 19:36 ..
-rw-r--r--. 1 root root 127  1月  5 18:03 sample-pod1.yaml
-rw-r--r--. 1 root root 127  1月  5 18:03 sample-pod2.yaml
[root@kube-master manifest]# 

sample-pod1 のマニフェストの内容を確認します。

apiVersion: v1
kind: Pod
metadata:
  name: sample-pod1
spec:
  containers:
    - name: nginx-container
      image: nginx:1.13

sample-pod2 のマニフェストの内容を確認します。

apiVersion: v1
kind: Pod
metadata:
  name: sample-pod2
spec:
  containers:
    - name: nginx-container
      image: nginx:1.13

Master サーバーから複数のマニフェストを格納したディレクトリを指定して、Kubernetes クラスタに対してリソースの作成を実行します。問題なければ、複数のマニフェストが同時実行されリソースが作成されます。

[root@kube-master manifest]# kubectl apply -f sample-multimanifest
pod/sample-pod1 created
pod/sample-pod2 created
[root@kube-master manifest]# 

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

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

Master サーバーから Kubernetes クラスタ上の Pod リソースを削除します。

[root@kube-master manifest]# kubectl delete -f sample-multimanifest
pod "sample-pod1" deleted
pod "sample-pod2" deleted
[root@kube-master manifest]# 

Master サーバーから Kubernetes クラスタ上の Pod リソースが削除されていることを確認します。

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