Ubuntuのkubernetesでダッシュボードを表示する方法です。
kubectlだけで管理するのはやはりしんどい。。。
他ホストからのダッシュボード表示も記載しています。
#公式サイト
#環境
# cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.1 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.1 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
#kubernetesのインストール
公式ドキュメントを参考に下記コマンドでインストール
# apt-get update && sudo apt-get install -y apt-transport-https curl
# curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
# cat <<EOF >
/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
# apt-get update
# apt-get install -y kubelet kubeadm kubectl
#swapoff
スワップを切っておきます(1.8かららしいです)
# swapoff -a
kubectlを有効化
# mkdir -p $HOME/.kube
# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
# chown $(id -u):$(id -g) $HOME/.kube/config
kubectlを叩くためのコマンドのconfigファイルが生成されるので配置します
kubeadm initした時に最後に書いてある
※ファイルを移動した場合は環境変数を変更する必要があるので注意です
# mkdir -p $HOME/.kube
# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
# chown $(id -u):$(id -g) $HOME/.kube/config
#ダッシュボードを有効化
# curl -O https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
上記ファイルを指定してcreateして実行
# kubectl create -f kubernetes-dashboard.yaml
# kubectl proxy
上記で実行したホストのブラウザを実行し
http://127.0.0.1
へアクセスすることでダッシュボードが表示されます。
#実行ホスト以外からダッシュボードが見たい
基本的にkubernetesのダッシューボードをインストールしたホストでブラウザを見ることは
少ないと思います。
その時に上記の方法だけでは他ホストからダッシューボードへはアクセスできないので下記設定を行います。
yamlを指定して削除
# kubectl delete -f kubernetes-dashboard.yaml
yamlを編集します
1行追記するだけです。
116 args:
117 - --auto-generate-certificates
118 # Uncomment the following line to manually specify Kubernetes API server Host
119 # If not specified, Dashboard will attempt to auto discover the API server and connect
120 # to it. Uncomment only if the default does not work.
121 # - --apiserver-host=http://my-address:port
122 - --apiserver-host=http://192.168.1.156:8001 //IPを指定して追記
123 volumeMounts:
124 - name: kubernetes-dashboard-certs
125 mountPath: /certs
126 # Create on-disk volume to store exec logs
127 - mountPath: /tmp
128 name: tmp-volume
129 livenessProbe:
上記のように設定したら再度create
# kubectl create -f kubernetes-dashboard.yaml
アクセス件を設定して実行
# kubectl proxy --address 0.0.0.0 --accept-hosts '.*'
これで他ホストからIPアドレスとポート番号の指定でダッシュボードの表示が可能になります。
こちらに関してセキュリティ面に関してガバガバなので注意が必要です。