このセクションでは、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]#