このセクションでは、Kubernetes クラスタ上に Pod レプリカをスケーリング( レプリカのPod 数を変更)する方法について紹介します。
Master サーバーから Pod レプリカのマニフェストを実行し、Kubernetes クラスタ上にリソースを作成します。
[root@kube-master sample-replicaset]# kubectl apply -f sample-replica.yaml replicaset.apps/sample-rs created [root@kube-master sample-replicaset]#
Master サーバーから Kubernetes クラスタ上のリソースを確認します。ここでは、3つのPodのレプリカが稼働していることが確認できます。
[root@kube-master sample-replicaset]# kubectl get pod NAME READY STATUS RESTARTS AGE sample-rs-gn2kg 1/1 Running 0 4s sample-rs-lfcss 1/1 Running 0 4s sample-rs-xnk6l 1/1 Running 0 4s [root@kube-master sample-replicaset]#
Master サーバーから実行した Pod レプリカのマニフェストを確認します。replica が 3 になっていることが確認できます。
[root@kube-master sample-replicaset]# cat sample-replica.yaml apiVersion: apps/v1 kind: ReplicaSet metadata: name: sample-rs spec: replicas: 3 selector: matchLabels: app: sample-app template: metadata: labels: app: sample-app spec: containers: - name: nginx-container image: nginx:1.12 ports: - containerPort: 80 [root@kube-master sample-replicaset]#
Master サーバーから実行した Pod レプリカのマニフェストを編集し、以下 replica 数を変更します。
[root@kube-master sample-replicaset]# vi sample-replica.yaml
replica 数を 3 から 5 に変更します。
apiVersion: apps/v1 kind: ReplicaSet metadata: name: sample-rs spec: replicas: 5 selector: matchLabels: app: sample-app template: metadata: labels: app: sample-app spec: containers: - name: nginx-container image: nginx:1.12 ports: - containerPort: 80
Master サーバーから 編集したマニフェストを適用します。
[root@kube-master sample-replicaset]# kubectl apply -f sample-replica.yaml replicaset.apps/sample-rs configured [root@kube-master sample-replicaset]#
Master サーバーから Kubernetes クラスタ上のリソースを確認します。ここでは、Pod のレプリカが 3 つから 5つになっていることが確認できます。
[root@kube-master sample-replicaset]# kubectl get pod NAME READY STATUS RESTARTS AGE sample-rs-ggsrx 1/1 Running 0 5s sample-rs-gn2kg 1/1 Running 0 8m56s sample-rs-lfcss 1/1 Running 0 8m56s sample-rs-w8bzq 1/1 Running 0 5s sample-rs-xnk6l 1/1 Running 0 8m56s [root@kube-master sample-replicaset]#