在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地址和端口号来显示仪表盘。
由于安全方面存在漏洞,请注意这一点。

广告
将在 10 秒后关闭
bannerAds