天天看点

Kubernetes - 3 Dashboard

Kubernetes Dashboard是什么?

Kubernetes Dashboard是Kubernetes集群的Web UI,用户可以通过Dashboard进行管理集群内所有资源对象,例如查看资源对象的运行情况,部署新的资源对象,伸缩Deployment中的Pod数量等等一系列操作。

如何安装 Kubernetes Dashboard

应用官方的DashBoard模板

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml

检查Kubernetes Dashboard运行情况

Deployment已创建并处于运行状态

kubectl get deployment -n kuberenetes-dashboard

Kubernetes - 3 Dashboard

Pod已创建并处于运行状态

kubectl get pods -n kuberenetes-dashboard

Kubernetes - 3 Dashboard
修改DashBoard的Service端口暴露模式为NodePort

kubectl edit service kubernetes-dashboard -n kubernetes-dashboard

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  type: NodePort
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 30001
  selector:
    k8s-app: kubernetes-dashboard           
Kubernetes - 3 Dashboard
创建Service Account 及 ClusterRoleBinding

vim auth.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kubernetes-dashboard           

kubectl apply -f auth.yaml

Kubernetes - 3 Dashboard

获取访问 Kubernetes Dashboard所需的 Token

kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')

Kubernetes - 3 Dashboard

访问DashBoard UI

浏览器访问

https://NodeIP:Port

,并输入Token

Kubernetes - 3 Dashboard

这个阶段,我们已经成功进入到Kubernetes DashBoard,可以通过UI查看到我们集群的一些资源运行情况

Kubernetes - 3 Dashboard

使用技巧

由于Kubernetes与DashBoard版本不是一一对应的,对于部署前需要提前确认版本之间的兼容性。

Kubernetes - 3 Dashboard

勾勾 表示 完全支持的版本范围。

问号 表示 由于Kubernetes API版本之间的重大更改,某些功能可能无法在仪表板中正常使用。