LoginSignup
0
2

KubernetesをalmalinuxでHA構成で構築する① 全node編

Last updated at Posted at 2024-06-22

環境

almalinux: AlmaLinux 9.4 (Seafoam Ocelot)
kubeadm: v1.29.6
kubectl: v1.29.6
kubelet: v1.29.6

参考

最初に参考を書くのも変な感じだが、下記のurlを参考にこの記事を作成した。

最初に

本稿KubernetesをalmalinuxでHA構成で構築するは4部構成の予定だが、これらの記事に出てくる全てのnodeはこの記事の内容を設定している。

selinuxの無効化

selinuxは検証環境には無用の長物。
ので、無効化する。

$ sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
$ sudo reboot

swapの無効化

kubernetesはswapを無効化しないと動作しない。
理由は知らない。

$ sudo swapoff -a
$ sudo vim /etc/fstab

# comment outする
#/dev/mapper/almalinux-swap none                    swap    defaults        0 0

firewalldの設定

kubernetesが使うportを解放する。
securityを気にしないなら、disableにしても良い。

$ sudo firewall-cmd --add-port 6443/tcp --permanent
$ sudo firewall-cmd --add-port 2379-2380/tcp --permanent
$ sudo firewall-cmd --add-port 10250-10252/tcp --permanent
$ sudo firewall-cmd --reload

ipv4 forwardingの有効化

ipv4 forwardingを行うためにmoduleをloadして有効化する。

$ sudo modprobe overlay
$ sudo modprobe br_netfilter

#moduleの確認
$ lsmod | grep br_netfilter
$ lsmod | grep overlay

$ sudo vim /etc/sysctl.d/k8s.conf

net.bridge.bridge-nf-call-iptables  = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward                 = 1

$ sudo sysctl --system

#kernel parameterの確認
$ sysctl net.bridge.bridge-nf-call-iptables net.bridge.bridge-nf-call-ip6tables net.ipv4.ip_forward

containerdのinstall

dockerはkubernetesから降ろされたため、containerdをinstallする。

$ sudo dnf install -y yum-utils
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
$ sudo dnf install containerd.io -y
$ sudo systemctl restart containerd

containerdのconfig

containerdのcgroup driverにsystemdを設定する。

$ sudo sh -c "containerd config default > /etc/containerd/config.toml"
$ sudo vim /etc/containerd/config.toml

[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
  ...
  [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
    SystemdCgroup = true

$ sudo systemctl restart containerd

kubectl,kubeadm,kubeletのinstall

kubernetesのcommand群をinstallする。
repoのurlが参考と異なっているため注意。

$ sudo vim /etc/yum.repos.d/kubernetes.repo

[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.29/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.29/rpm/repodata/repomd.xml.key

$ sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

kubeletの起動

$ sudo systemctl enable --now kubelet

おそらく、startしてもloadedのままだと思う。
kubeadmでkubernetesを構築したらkubeletもstartする。

次回はcontrol nodeを構築する。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2