kubeadmによるKubernetesクラスタのデプロイ
kubeadmでKubernetesクラスターをデプロイするには、複数のサーバーをインストールして設定する必要があり、次の手順に従ってください。
- サーバーを準備する
- 少なくとも3台のサーバーを用意し、できればUbuntu 18.04または20.04バージョンにしてください。
- サーバー同士での通信が確保され、ネットワークの接続が安定していることを確認します。
- Dockerをインストールする:
- 全てのサーバにDockerをインストールする場合は、以下のコマンドを使用します。$ sudo apt update
$ sudo apt install docker.io
$ sudo systemctl enable docker
$ sudo systemctl start docker - kubeadm、kubelet、kubectl をインストールします。
- すべてのサーバーに以下を実行して、 kubeadm 、 kubelet 、 kubectl をインストール。
$ sudo apt update
$ sudo apt install -y apt-transport-https ca-certificates curl
$ curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add –
$ echo “deb https://apt.kubernetes.io/ kubernetes-xenial main” | sudo tee /etc/apt/sources.list.d/kubernetes.list
$ sudo apt update
$ sudo apt install -y kubelet kubeadm kubectl
$ sudo apt-mark hold kubelet kubeadm kubectl - マスターノードのデプロイ:
- あるサーバーで マスター ノードとして、次のコマンドを実行してクラスターを初期化します: $ sudo kubeadm init –pod-network-cidr=192.168.0.0/16
- 初期化完了ら、kubeadm joinコマンドの出力を保存して、Workerノードで使う
- Kubernetesネットワークプラグインのコンフィギュレーション
- インストールネットワークプラグイン、Calicoの場合、以下のコマンド使用可能:$ kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
- ワーカーノードのデプロイ:
- 他のサーバー上で Worker ノードとして、先に保存した kubeadm join コマンドを実行して、クラスターに追加します。: $ sudo kubeadm join <マスターノードのIPアドレス>:<マスターノードのポート> –token <トークン> –discovery-token-ca-cert-hash <CA証明書のハッシュ値>
- コマンド実行後、Workerノードがクラスタに追加されます。
- クラスターの検証:
- Master ノード上で、すべてのノードがクラスターに適切に追加されているかどうかを確認するために以下のコマンドを実行します: $ kubectl get nodes
- ステータスが「Ready」のすべてのノードのみが出力されるはずです。
kubeadmを使用してKubernetesクラスタを正常にデプロイできました。kubectlコマンドを使用してクラスタを管理および操作できます。