実行手順
1. k3sのインストール※Raspberry Pi OSの場合は以下のコマンドでパラメータを/boot/cmdline.txtに追加して再起動します。
echo ' cgroup_memory=1 cgroup_enable=memory' | sudo tee -a /boot/cmdline.txt
・ここからUbuntu/Debian/Raspberry Pi OS共通
sudo apt-get -y install curl
curl -sfL https://get.k3s.io | sh -
sudo k3s kubectl get node
※インストールしたホストの名称が表示されることを確認2. (任意)kubernetes-dashboardのの導入
2.1. dashboardをデプロイ
GITHUB_URL=https://github.com/kubernetes/dashboard/releases
VERSION_KUBE_DASHBOARD=$(curl -w '%{url_effective}' -I -L -s -S ${GITHUB_URL}/latest -o /dev/null | sed -e 's|.*/||')
sudo k3s kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/${VERSION_KUBE_DASHBOARD}/aio/deploy/recommended.yaml
2.2. デプロイ確認
sudo k3s kubectl get deployment -n kubernetes-dashboard
2.3. サービスアカウント作成
cat << EOF > dashboard.admin-user.yml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
EOF
sudo k3s kubectl apply -f ./dashboard.admin-user.yml
2.4. ClusterRoleBindingの作成
cat << EOF > dashboard.admin-user-role.yml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
EOF
sudo k3s kubectl apply -f ./dashboard.admin-user-role.yml
2.5. 外部からアクセス可能にする
sudo k3s kubectl port-forward --address='0.0.0.0' -n kubernetes-dashboard service/kubernetes-dashboard 8443:443
※Ctrl+Cで止まります2.6. Tokenの取得
※手順2.5とは別の端末で実行
sudo k3s kubectl -n kubernetes-dashboard describe secret admin-user-token | grep '^token'
2.7. 外部ホストからブラウザでアクセス
2.6で取得したトークンを使用してログインします
https://<ホストまたはIP>:8443/#/login
3. (任意)kubernetes-dashboard用port-forwardのサービス化
以下のコマンドを実行してkubernetes dashboardにport fowardするサービスを作成します。
cat << EOF | sudo tee /etc/systemd/system/portfoward-dashboard.service
[Unit]
Description=port foward for kubernetes dashboard
After=k3s.service
[Service]
ExecStart=/usr/local/bin/k3s kubectl port-forward --address='0.0.0.0' -n kubernetes-dashboard service/kubernetes-dashboard 8443:443
StartLimitInterval=0
RestartSec=10
Restart=always
[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 件のコメント:
コメントを投稿