LoginSignup
12
10

More than 5 years have passed since last update.

ubuntuにkubernetesをインストールしてdashboardを表示する方法

Posted at

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行追記するだけです。

kubernetes-dashboard.yaml
   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アドレスとポート番号の指定でダッシュボードの表示が可能になります。
こちらに関してセキュリティ面に関してガバガバなので注意が必要です。

12
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
10