测试人必会 K8S 操作之 Dashboard

Kubernetes(K8S)是一个开源的容器编排平台,用于自动化应用程序的部署、扩展和管理。其中kubectl 命令行工具能够去操作K8S资源,但是命令指令繁琐,为了提供更丰富的用户体验,kubernetes还开发了一个基于web的用户界面(Dashboard)。用户可以使用Dashboard部署容器化的应用,还可以监控应用的状态,执行故障排查以及管理kubernetes中各种资源。

image.png

获取dashboard资源文件

1、获取dashboard资源文件

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

2、修改yaml文件,暴露nodeport端口

spec:
  type: NodePort# 新增
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 30100# 新增
  selector:
    k8s-app: kubernetes-dashboard

部署dashboard

使用kubectl命令启动dashboard:

kubectl apply -f recommended.yaml

查看dashboard资源:

kubectl get pod,svc -n kubernetes-dashboard

在浏览器中通过输入IP:端口进行访问:

此时浏览器会出现以下提示,这里我们点击高级->继续访问即可

image.png

生成token

默认dashboard需要使用token方式进行登录,进行以下步骤,获取token,并将token填入到其中:

# 创建 dashboard-admin 用户
kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
 
# 绑定 clusterrolebinding
kubectl create clusterrolebinding dashboard-admin-rb --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin

# 获取secrets资源信息
kubectl get secrets -n kubernetes-dashboard | grep dashboard-admin

# 获取账号token
kubectl describe secrets dashboard-admin-token-nm6hf -n kubernetes-dashboard

image.png

dashboard主页面:

image.png

查看pod信息,并且可以查看pod日志及进行配置修改:

image.png

dashboard还提供了对于其他的资源进行操作功能,包括service、deployment、ingress、replicaset等等,通过可视化页面管理K8S能够很大程度上提高K8S的使用体验。

回帖
请输入回帖内容 ...