Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
10
Help us understand the problem. What is going on with this article?

More than 1 year has passed since last update.

@ryuichi1208

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

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

10
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
10
Help us understand the problem. What is going on with this article?