Dashboard部署

安装Dashboard

(Optional)如果没有下载 k8s-ha-install,先从 gitee 上克隆它:

git clone https://gitee.com/zhang993632987/k8s-ha-install.git -b manual-installation-v1.27.x
在dashboard-user.yaml中增加以下内容
---
apiVersion: v1
kind: Secret
metadata:
  name: admin-user
  namespace: kube-system
  annotations:
    kubernetes.io/service-account.name: "admin-user"
type: kubernetes.io/service-account-token

在 Master01 节点创建 Dashboard(该命令包含管理员用户的创建):

cd /root/k8s-ha-install/dashboard
kubectl create -f .

登录 Dashboard

Dashboard 采用的自签名证书无法通过谷歌浏览器访问,使用火狐浏览器进行测试。

创建完成后,可以查看 Dashboard Service 的端口号(NodePort):

# kubectl get svc kubernetes-dashboard -n kubernetes-dashboard
NAME                   TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
kubernetes-dashboard   NodePort   10.97.110.255   <none>        443:32652/TCP   3m49s

获取令牌 Token,参考官网https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md

kubectl -n kube-system create token admin-user

访问 Dashboard:https://192.168.10.121:32652,选择登录方式为令牌(即 Token 方式)。

获取Token:

在分支 manual-installation-v1.27.x,并未给账户 admin-user 设定生成令牌,因此参考官网的做法,可以有两种补足方式:

  • 使用下述命令直接生成令牌:

    kubectl -n kube-system create token admin-user
  • 修改 dashboard-user.yaml,在其中增加以下内容:

    ---
    apiVersion: v1
    kind: Secret
    metadata:
      name: admin-user
      namespace: kube-system
      annotations:
        kubernetes.io/service-account.name: "admin-user"   
    type: kubernetes.io/service-account-token  

    然后,执行以下命令生成 token,并获取 token:

    kubectl create -f dashboard-user.yaml
    kubectl get secret admin-user -n kube-system -o jsonpath={".data.token"} | base64 -d

最后更新于