一、Kubernetes Dashboard 简介
Kubernetes Dashboard是k8s的管理工具,先引用官方的文档说明:
Dashboard is a web-based Kubernetes user interface. You can use Dashboard to deploy containerized applications to a Kubernetes cluster, troubleshoot your containerized application, and manage the cluster resources. You can use Dashboard to get an overview of applications running on your cluster, as well as for creating or modifying individual Kubernetes resources (such as Deployments, Jobs, DaemonSets, etc). For example, you can scale a Deployment, initiate a rolling update, restart a pod or deploy new applications using a deploy wizard.
大意就是:
Dashboard 是基于 Web 的 Kubernetes 用户界面。您可以使用 Dashboard 将容器化应用程序部署到 Kubernetes 群集、对容器化应用程序进行故障排除以及管理群集资源。您可以使用 Dashboard 获取群集上运行的应用程序的概述,以及创建或修改单个 Kubernetes 资源(如部署、作业、守护进程集等)。例如,您可以缩放部署、启动滚动更新、重新启动窗格或使用部署向导部署新应用程序。
仪表板还提供有关群集中 Kubernetes 资源的状态以及可能发生的任何错误的信息。
简单地说,Kubernetes Dashboard 就是管理 k8s 集群的 WebUI,集合了所有命令行可以操作的所有命令。
二、部署Kubernetes Dashboard
通过Helm部署
添加仓库并更新:
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
helm repo update
先创建一个namespace,以免默认添加到default:
kubectl create ns kubernetes-dashboard
helm install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard -n kubernetes-dashboard
刚部署完,会在控制台中打印:
NAME: kubernetes-dashboard
LAST DEPLOYED: Sun Nov 1 23:25:10 2020
NAMESPACE: kubernetes-dashboard
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
*********************************************************************************
*** PLEASE BE PATIENT: kubernetes-dashboard may take a few minutes to install ***
*********************************************************************************
Get the Kubernetes Dashboard URL by running:
export POD_NAME=$(kubectl get pods -n kubernetes-dashboard -l "app.kubernetes.io/name=kubernetes-dashboard,app.kubernetes.io/instance=kubernetes-dashboard" -o jsonpath="{.items[0].metadata.name}")
echo https://127.0.0.1:8443/
kubectl -n kubernetes-dashboard port-forward $POD_NAME 8443:8443
通过YAML部署
部署方式如下:
# https方式访问(推荐)
kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended/kubernetes-dashboard.yaml
# http方式访问
kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/alternative/kubernetes-dashboard.yaml
:::success 小技巧
由于将Kubernetes Dashboard部署到了kube-system命名空间下,后面的操作都是在 kube-system 命名空间中进行,可以设置个别名 ksys=kubectl -n kube-system
这样就可以使用 ksys 操作该名称空间了。
命令:alias ksys='kubectl -n kube-system'
,注意此命令重启后无效。
可以修改 ~/.bashrc
, 加入 alias ksys='kubectl -n kube-system'
, 然后 source ~/.bashrc
使其生效, 这样重启后仍然有效
:::
安装完后查看 pod 信息:
$ ksys get po
NAME READY STATUS RESTARTS AGE
kubernetes-dashboard-57df4db6b-5j2gv 1/1 Running 0 4h8m
可以看到多了一个 kubernetes-dashboard-57df4db6b-bn5vn,并且已经正常启动。