この手順では、Kubernetesクラスタからノードを削除する方法を示します。
クラスタのマスター・ノードをスケール・ダウンする場合には注意が必要です。マスター・ノードが2つあるときに、マスター・ノードが1つのみになるようにスケール・ダウンすると、得られるものは単一障害点のみになります。
Kubernetesクラスタをスケール・ダウンするには:
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
スケール・ダウンによって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.com
、worker4.example.com
およびworker5.example.com
の各ノードを指定していません。Platform API Serverは管理しているクラスタのノードを追跡していて、それらのノードをクラスタから削除することで、クラスタをスケール・ダウンすることを理解します。3つのマスター・ノードと3つのワーカー・ノードがolcnectl module updateコマンドの
–-master-nodes
オプションと–-worker-nodes
オプションで指定されているため、それらのノードはPlatform API Serverによって削除されません。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