Kubernatesの環境構築を行うため、KubeadmをLocky Linux 9インストールします。kubelet、kubectlもインストールします。
記事の目次
kubeadmコマンドをインストールする前提を確認する!
kubeadmコマンドをインストールする前提として、containerdが完了していることが必要です。インストールしていない場合は、以下の記事を参考にcontainerdをインストールします。
Firewalldの設定を行う!
Firewalldの通信許可の設定を行います。ネットワーク通信を行うコンテナを利用するたびにFirewalldの設定を変更するのは大変なので、とりあえず動かすためであれば、Firewalldを止めてもよいと思います。
# firewall-cmd --permanent --add-port={6443,2379,2380,10250,10251,10252}/tcp success # firewall-cmd --reload success
Firewalldを停止する場合は、以下の手順で行います。
# systemctl stop firewalld # systemctl disable firewalld Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service". Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".
SELinuxを無効化する!
SELinuxを無効化します。以下のように無効化済みであれば、問題ありません。
# getenforce Permissive
有効化されている場合は、以下の手順で無効化します。
# setenforce 0 # sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
Swapを無効化する!
Swapを無効化します。
# swapoff -a # free -m total used free shared buff/cache available Mem: 1770 810 321 11 833 960 Swap: 0 0 0
「/etc/fstab」のエントリも無効化します。
# sed -e '/swap/s/^/#/g' -i /etc/fstab # grep swap /etc/fstab #/dev/mapper/rl-swap none swap defaults 0 0
Kubernatesのリポジトリの登録を行う!
Kubernatesのリポジトリの登録を行います。
# cat <<EOF | tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch enabled=1 gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg exclude=kubelet kubeadm kubectl EOF
kubeadmをインストールする!
kubeadmに合わせて、コントロールノードおよびワーカーノードに共通で必要となるkubelet、kubectlをインストールします。
# dnf install kubelet kubeadm kubectl --disableexcludes=kubernetes -y Kubernetes 95 kB/s | 162 kB 00:01 Dependencies resolved. ======================================================================================================================== Package Architecture Version Repository Size ======================================================================================================================== Installing: kubeadm x86_64 1.26.0-0 kubernetes 10 M kubectl x86_64 1.26.0-0 kubernetes 11 M kubelet x86_64 1.26.0-0 kubernetes 22 M Installing dependencies: conntrack-tools x86_64 1.4.5-15.el9 appstream 210 k cri-tools x86_64 1.25.0-0 kubernetes 8.2 M kubernetes-cni x86_64 1.1.1-0 kubernetes 15 M libnetfilter_cthelper x86_64 1.0.0-22.el9 appstream 23 k libnetfilter_cttimeout x86_64 1.0.0-19.el9 appstream 23 k libnetfilter_queue x86_64 1.0.5-1.el9 appstream 28 k socat x86_64 1.7.4.1-5.el9 appstream 300 k Transaction Summary ======================================================================================================================== Install 10 Packages ... Complete!
kubectlサービスを自動起動に設定する!
kubectlサービスを自動起動に設定します。
# systemctl enable --now kubelet.service Created symlink /etc/systemd/system/multi-user.target.wants/kubelet.service → /usr/lib/systemd/system/kubelet.service. # systemctl status kubelet.service ● kubelet.service - kubelet: The Kubernetes Node Agent Loaded: loaded (/usr/lib/systemd/system/kubelet.service; enabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/kubelet.service.d └─10-kubeadm.conf Active: activating (auto-restart) (Result: exit-code) since Sun 2023-01-08 15:35:38 JST; 6s ago ...
bashのコマンド補完を有効にする!
bashのコマンド補完機能を有効にします。kubectlコマンドを使用するユーザで以下を実行します。
$ echo 'source <(kubectl completion bash)' >>~/.bashrc $ source ~/.bashrc
おわりに
Kubernatesの環境構築に必要となるkubeadm、kubelet、kbectlをRocky Linux 9にインストールしましした。
参考情報
関連記事
関連書籍(Amazon)