4.7.2 Kubernetesクラスタのスケール・ダウン

この手順では、Kubernetesクラスタからノードを削除する方法を示します。

警告

クラスタのマスター・ノードをスケール・ダウンする場合には注意が必要です。マスター・ノードが2つあるときに、マスター・ノードが1つのみになるようにスケール・ダウンすると、得られるものは単一障害点のみになります。

Kubernetesクラスタをスケール・ダウンするには:

  1. Kubernetesクラスタのマスター・ノードからkubectl get nodesコマンドを使用して、クラスタのマスター・ノードとワーカー・ノードを確認します。

    $ kubectl get nodes
    NAME                   STATUS   ROLE     AGE     VERSION
    master1.example.com    Ready    master   26h     v1.17.x+x.x.x.el7  
    master2.example.com    Ready    master   26h     v1.17.x+x.x.x.el7
    master3.example.com    Ready    master   26h     v1.17.x+x.x.x.el7
    master4.example.com    Ready    master   2m38s   v1.17.x+x.x.x.el7
    worker1.example.com    Ready    <none>   26h     v1.17.x+x.x.x.el7
    worker2.example.com    Ready    <none>   26h     v1.17.x+x.x.x.el7
    worker3.example.com    Ready    <none>   26h     v1.17.x+x.x.x.el7
    worker4.example.com    Ready    <none>   2m38s   v1.17.x+x.x.x.el7
    worker5.example.com    Ready    <none>   2m38s   v1.17.x+x.x.x.el7

    この例では、Kubernetesクラスタに4つのマスター・ノードがあります。

    • master1.example.com

    • master2.example.com

    • master3.example.com

    • master4.example.com

    また、このクラスタには5つのワーカー・ノードもあります。

    • worker1.example.com

    • worker2.example.com

    • worker3.example.com

    • worker4.example.com

    • worker5.example.com

  2. スケール・ダウンによってKubernetesクラスタを更新するには、olcnectl module updateコマンドを使用します。

    たとえば、myclusterというkubernetesモジュールから、マスター・ノードmaster4.example.comと、ワーカー・ノードworker4.example.comおよびworker5.example.comを削除するには、Kubernetesクラスタのオペレータ・ノードにアクセスして、次のコマンドを実行します。

    $ olcnectl --api-server 127.0.0.1:8091 module update --environment-name myenvironment \  
      --name mycluster \
      --master-nodes master1.example.com:8090,master2.example.com:8090,master3.example.com:8090 \
      --worker-nodes worker1.example.com:8090,worker2.example.com:8090,worker3.example.com:8090

    この例では、マスター・ノードが3つ、ワーカー・ノードが3つになるようにKubernetesクラスタをスケール・ダウンしています。

    この例では、master4.example.comworker4.example.comおよびworker5.example.comの各ノードを指定していません。Platform API Serverは管理しているクラスタのノードを追跡していて、それらのノードをクラスタから削除することで、クラスタをスケール・ダウンすることを理解します。

    3つのマスター・ノードと3つのワーカー・ノードがolcnectl module updateコマンドの–-master-nodesオプションと–-worker-nodesオプションで指定されているため、それらのノードはPlatform API Serverによって削除されません。

  3. Kubernetesクラスタのマスター・ノードに戻ってから、kubectl get nodesコマンドを使用してクラスタがスケール・ダウンされたことを確認します。

    $ kubectl get nodes
    NAME                   STATUS   ROLE     AGE     VERSION
    master1.example.com    Ready    master   26h     v1.17.x+x.x.x.el7  
    master2.example.com    Ready    master   26h     v1.17.x+x.x.x.el7
    master3.example.com    Ready    master   26h     v1.17.x+x.x.x.el7
    worker1.example.com    Ready    <none>   26h     v1.17.x+x.x.x.el7
    worker2.example.com    Ready    <none>   26h     v1.17.x+x.x.x.el7
    worker3.example.com    Ready    <none>   26h     v1.17.x+x.x.x.el7