2022年2月8日火曜日

AlmaLinux 8/Rocky Linux 8にMicrok8sをインストールする

AlmaLinux 8/Rocky Linux 8にMicrok8sをインストールするには、以下の手順を実行します。

実行手順

1. snapのインストール(※既に導入済みの場合はスキップしてください)
sudo dnf -y install epel-release

sudo dnf -y install snapd

sudo systemctl enable --now snapd.socket

sudo ln -s /var/lib/snapd/snap /snap

2. microk8sのインストール
sudo snap install microk8s --classic --channel="latest/stable"
※「error: too early for operation, device not yet seeded or device model not acknowledged」というエラーが出た場合は少し待ってから再実行します。

sudo usermod -a -G microk8s $USER
※いったんログアウト

3. kubernetes dashboardの有効化
※状態の確認コマンド(インストール直後だと「microk8s is not running. Use microk8s inspect for a deeper inspection.」というメッセージが表示されることがあるので少し待ちます)
microk8s.status

以下のコマンドでダッシュボードを有効化します
microk8s.enable dashboard

以下のコマンドでダッシュボードを外部からアクセスできるようにします
sudo firewall-cmd --add-port=8443/tcp --permanent

sudo firewall-cmd --reload

microk8s kubectl port-forward --address='0.0.0.0' -n kube-system service/kubernetes-dashboard 8443:443
※「error: unable to forward port because pod is not running. Current status=Pending」というエラーが表示された場合は、少し待って再実行します。
※止める場合はCtrl+Cを押します

別端末を起動して、トークンは以下のコマンドで取得します。
microk8s kubectl -n kube-system describe secret $(microk8s kubectl -n kube-system get secret | grep default-token | cut -d " " -f1) | grep token

ブラウザで以下のURLを入力して、トークンを入力してログインします。
https://<Microk8sをインストールしたホスト>:8443/

4. (任意)port fowardingをサービス化
# SELinuxの無効化
sudo setenforce 0
sudo getenforce
sudo sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

cat << EOF | sudo tee /etc/systemd/system/portfoward-dashboard.service
[Unit]
Description=port foward for kubernetes dashboard
After=snap.microk8s.daemon-containerd.service

[Service]
ExecStart=/snap/bin/microk8s kubectl port-forward --address='0.0.0.0' -n kube-system service/kubernetes-dashboard 8443:443
StartLimitInterval=0
RestartSec=10
Restart=always
User=$USER
Group=$USER

[Install]
WantedBy=multi-user.target
EOF

# サービス開始
sudo systemctl start portfoward-dashboard.service

# サービス有効化
sudo systemctl enable portfoward-dashboard.service

# サービスステータス
sudo systemctl status portfoward-dashboard.service

0 件のコメント:

コメントを投稿