Ubuntu 24.04
Sponsored Link

MicroK8s : ノードを追加する2024/06/14

 

MicroK8s クラスターにノードを追加する場合は以下のように設定します。

[1] プライマリーノードで、クラスター参加コマンドを確認しておきます。
root@dlp:~#
microk8s add-node

From the node you wish to join to this cluster, run the following:
microk8s join 10.0.0.30:25000/ab8374269e5e7ffa20cc51b7e79b8986/0ab70ce72574

Use the '--worker' flag to join a node as a worker not running the control plane, eg:
microk8s join 10.0.0.30:25000/ab8374269e5e7ffa20cc51b7e79b8986/0ab70ce72574 --worker

If the node you are adding is not reachable through the default interface you can use one of the following:
microk8s join 10.0.0.30:25000/ab8374269e5e7ffa20cc51b7e79b8986/0ab70ce72574
[2] 新規追加ノードで MicroK8s をインストールして、既存のクラスターに参加します。
プライマリーノードで表示された通り、コマンドを投入するのみです。
Worker ノードとして追加する場合は [--worker] オプションを付加します。
root@node01:~#
snap install microk8s --classic

microk8s (1.29/stable) v1.29.4 from Canonical✓ installed
# [1] で確認したコマンドを実行

root@node01:~#
microk8s join 10.0.0.30:25000/ab8374269e5e7ffa20cc51b7e79b8986/0ab70ce72574 --worker

Contacting cluster at 10.0.0.30

The node has joined the cluster and will appear in the nodes list in a few seconds.

This worker node gets automatically configured with the API server endpoints.
If the API servers are behind a loadbalancer please set the '--refresh-interval' to '0s' in:
    /var/snap/microk8s/current/args/apiserver-proxy
and replace the API server endpoints with the one provided by the loadbalancer in:
    /var/snap/microk8s/current/args/traefik/provider.yaml

Successfully joined the cluster.
[3] 一定時間経過後、プライマリーノードでノードが追加されているか確認します。
root@dlp:~#
microk8s kubectl get nodes

NAME               STATUS   ROLES    AGE    VERSION
dlp.srv.world      Ready    <none>   33m    v1.29.4
node01.srv.world   Ready    <none>   117s   v1.29.4
[4] クラスターからノードを削除する場合は以下のように実行します。
# ノード側で leave する

root@node01:~#
microk8s leave

Configuring services.
Generating new cluster certificates.
Waiting for node to start.
# プライマリーノード側でノード名を指定して [remove-node] 実行

root@dlp:~#
microk8s remove-node node01.srv.world
root@dlp:~#
microk8s kubectl get nodes

NAME            STATUS   ROLES    AGE   VERSION
dlp.srv.world   Ready    <none>   35m   v1.29.4
関連コンテンツ