実施する事
- ホスト名の変更
- パッケージ最新化
- swap設定
- firewalld設定
- selinux設定
ホスト名の変更
ホスト名をわかりやすい名前に変更
変更
- エラーがないこと
[root@localhost ~]# sudo hostnamectl set-hostname control-plane01 [root@localhost ~]#
- 別ターミナルでログイン
- 指定したホスト名が表示されること
$ ssh tsubame@192.168.50.88 tsubame@192.168.50.88's password: Last failed login: Sat Aug 12 18:06:18 JST 2023 from 192.168.50.194 on ssh:notty There was 1 failed login attempt since the last successful login. Last login: Sat Aug 12 17:59:33 2023 [tsubame@control-plane01 ~]$ uname -n control-plane01 [tsubame@control-plane01 ~]$
最新へアップデート
dnfコマンドにてパッケージを最新へアップデート
コマンドでアップデート
- エラーがないこと
[tsubame@control-plane01 ~]$ sudo dnf -y update メタデータの期限切れの最終確認: 2:13:43 前の 2023年08月12日 15時55分48秒 に実施しました。 依存関係が解決しました。 ============================================================================================= パッケージ Arch バージョン Repo サイズ ============================================================================================= インストール: kernel aarch64 5.14.0-350.el9 baseos 4.9 M --- snip --- 完了しました! [tsubame@control-plane01 ~]$ [tsubame@control-plane01 ~]$ cat /var/log/dnf.log | grep -i -e "ERR|CRI|FAI|WARN" [tsubame@control-plane01 ~]$
再起動
- ログインできること
swap無効化
kubernetesクラスターを構築する際にswapを無効化することでクラスターのパフォーマンスを向上させる
swap無効化
- エラーが無いこと
- swapが0Bであること
[tsubame@control-plane01 ~]$ free -h total used free shared buff/cache available Mem: 1.7Gi 249Mi 1.3Gi 8.0Mi 190Mi 1.4Gi Swap: 2.0Gi 0B 2.0Gi [tsubame@control-plane01 ~]$ [tsubame@control-plane01 ~]$ sudo swapoff -a [tsubame@control-plane01 ~]$ free -h total used free shared buff/cache available Mem: 1.7Gi 246Mi 1.3Gi 8.0Mi 190Mi 1.4Gi Swap: 0B 0B 0B [tsubame@control-plane01 ~]$
fstabのswap設定削除
- コメントアウトされていること
[tsubame@control-plane01 ~]$ sudo cp -p /etc/fstab{,_bk`date '+%F'`} ; ls -l /etc/fstab* -rw-r--r--. 1 root root 742 8月 5 22:33 /etc/fstab -rw-r--r--. 1 root root 742 8月 5 22:33 /etc/fstab_bk2023-08-12 [tsubame@control-plane01 ~]$ [tsubame@control-plane01 ~]$ sudo sed -i 's/.*swap.*$/#&/g' /etc/fstab [tsubame@control-plane01 ~]$ [tsubame@control-plane01 ~]$ diff -U0 /etc/fstab{_bk`date '+%F'`,} --- /etc/fstab_bk2023-08-12 2023-08-05 22:33:12.039988916 +0900 +++ /etc/fstab 2023-08-12 20:33:17.873885373 +0900 @@ -16 +16 @@ -/dev/mapper/cs-swap none swap defaults 0 0 +#/dev/mapper/cs-swap none swap defaults 0 0 [tsubame@control-plane01 ~]$
firewalldの設定
機能 | ゾーン | プロトコル | ポート |
---|---|---|---|
API Server | public | 6443 | TCP |
NodePortServices | public | TCP | 3000 - 32767 |
kubelet | public | TCP | 10250 |
必要な通信許可を設定する
- 全てsuccessが返ってくること
[tsubame@control-plane01 ~]$ sudo firewall-cmd --zone=public --add-port=6443/tcp success [tsubame@control-plane01 ~]$ sudo firewall-cmd --zone=public --add-port=30000-32767/tcp success [tsubame@control-plane01 ~]$ sudo firewall-cmd --zone=public --add-port=10250/tcp success [tsubame@control-plane01 ~]$
設定をファイルに保存し恒久的にする
- 設定ファイルに設定した定義が存在すること
[tsubame@control-plane01 ~]$ sudo cat /etc/firewalld/zones/public.xml <?xml version="1.0" encoding="utf-8"?> <zone> <short>Public</short> <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description> <service name="ssh"/> <service name="dhcpv6-client"/> <service name="cockpit"/> <forward/> </zone> [tsubame@control-plane01 ~]$ [tsubame@control-plane01 ~]$ sudo firewall-cmd --runtime-to-permanent success [tsubame@control-plane01 ~]$ sudo cat /etc/firewalld/zones/public.xml <?xml version="1.0" encoding="utf-8"?> <zone> <short>Public</short> <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description> <service name="ssh"/> <service name="dhcpv6-client"/> <service name="cockpit"/> <port port="6443" protocol="tcp"/> <port port="30000-32767" protocol="tcp"/> <port port="10250" protocol="tcp"/> <forward/> </zone> [tsubame@control-plane01 ~]$
selinux設定
permissiveに変更する
- permissiveであること
[tsubame@control-plane01 ~]$ sudo cp -p /etc/selinux/config{,_bk`date '+%Y'`} ; ls -l /etc/selinux/config* -rw-r--r--. 1 root root 1187 8月 5 22:34 /etc/selinux/confi_bk2023-08-12 -rw-r--r--. 1 root root 1187 8月 5 22:34 /etc/selinux/config [tsubame@control-plane01 ~]$ [tsubame@control-plane01 ~]$ sudo sed -i 's/=enforcing/=permissive/g' /etc/selinux/config [tsubame@control-plane01 ~]$ [tsubame@control-plane01 ~]$ diff -U0 /etc/selinux/config{_bk`date '+%F'`,} --- /etc/selinux/config_bk2023-08-12 2023-08-05 22:34:47.705945936 +0900 +++ /etc/selinux/config 2023-08-12 21:16:59.557654795 +0900 @@ -22 +22 @@ -SELINUX=enforcing +SELINUX=permissive [tsubame@control-plane01 ~]$ [tsubame@control-plane01 ~]$ sudo reboot Connection to 192.168.50.88 closed by remote host. Connection to 192.168.50.88 closed. $ ssh tsubame@192.168.50.88 tsubame@192.168.50.88's password: Last login: Sat Aug 12 20:20:01 2023 from 192.168.50.194 [tsubame@control-plane01 ~]$ getenforce Permissive [tsubame@control-plane01 ~]$
コピペ用
OS設定
control-plane01
sudo hostnamectl set-hostname control-plane01
uname -n
worker01
sudo hostnamectl set-hostname worker01
uname -n
worker02
sudo hostnamectl set-hostname worker02
uname -n
worker03
sudo hostnamectl set-hostname worker03
uname -n
共通
sudo dnf -y update free -h sudo swapoff -a free -h sudo cp -p /etc/fstab{,_bk`date '+%F'`} ; ls -l /etc/fstab* sudo sed -i 's/.*swap.*$/#&/g' /etc/fstab diff -U0 /etc/fstab{_bk`date '+%F'`,} sudo cp -p /etc/selinux/config{,_bk`date '+%F'`} ; ls -l /etc/selinux/config* sudo sed -i 's/=enforcing/=permissive/g' /etc/selinux/config sudo diff -U0 /etc/selinux/config{_bk`date '+%F'`,} sudo firewall-cmd --zone=public --add-port=6443/tcp sudo firewall-cmd --zone=public --add-port=30000-32767/tcp sudo firewall-cmd --zone=public --add-port=10250/tcp sudo firewall-cmd --runtime-to-permanent
再起動
sudo reboot