AWS で、2台のマシンを構成します。
今回は、ubuntu を使用します。
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04.1 LTS
Release: 24.04
Codename: noble
- Master Node (t3.medium)
- Worker Node (t3.micro)
セキュリティグループ
ssh TCP:自分だけ
ssh TCP+3.112.23.0/29 (インスタンスコネクトに必要)
すべて ICMP 127.0.0.1/8
TCP 6443 10.0.0.0/8
ポート 6443 を kubernetes が使うため、オープンにする必要があります。
また、containerd が必要です。
Runtime Path to Unix domain socket
containerd unix:///var/run/containerd/containerd.sock
今回は、Debian-based ということなので、これらのコマンドを実行します。
パッケージのインストール
sudo apt-get update
# apt-transport-https may be a dummy package; if so, you can skip that package
sudo apt-get install -y apt-transport-https ca-certificates curl gpg
kubernetes の public signing key をダウンロードします。今回は、v1.31 用です。
# If the directory `/etc/apt/keyrings` does not exist, it should be created before the curl command, read the note below.
# sudo mkdir -p -m 755 /etc/apt/keyrings
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.31/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
apt package インデックス, kubelet, kubeadm と kubectl をインストールして, バージョンを pin します。
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
kubeadm を起動する前に、kubelet を動かします。
sudo systemctl enable --now kubelet
それぞれのマシンに名前をつけます。
(マスター)
sudo hostnamectl hostname "Master-Node" --static
(ワーカー)
sudo hostnamectl hostname "Worker-Node" --static
(参考)
Installing kubeadm