在Ubuntu上安装Kubernetes并显示仪表板的方法
在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
禁用交换分区
我們將切斷掉利差交換(據說從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命令的配置文件
在执行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
指定上述文件并创建并执行。
# kubectl create -f kubernetes-dashboard.yaml
# kubectl proxy
上記で実行したホストのブラウザを実行し
http://127.0.0.1
へアクセスすることでダッシュボードが表示されます。
只不过需要在宿主机之外查看仪表板。
我认为基本上在安装Kubernetes仪表盘的主机上查看浏览器的情况很少见。
因此,当这种情况发生时,仅采用上述方法无法从其他主机访问仪表板,因此需要进行以下设置。
使用指定的yaml文件进行删除
# kubectl delete -f 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:
如果按照上述设置,重新创建
# kubectl create -f kubernetes-dashboard.yaml
设置访问配置并执行
# kubectl proxy --address 0.0.0.0 --accept-hosts '.*'
可以使用其他主机的指定IP地址和端口号来显示仪表盘。
由于安全方面存在漏洞,请注意这一点。