Kubernetes-DashBoard安装使用

之前在kubernetes中完成的所有操作都是通过命令行工具kubectl完成的。其实,为了提供更丰富的用户体验,kubernetes还开发了一个基于web的用户界面(Dashboard)。用户可以使用Dashboard部署容器化的应用,还可以监控应用的状态,执行故障排查以及管理kubernetes中各种资源。

#下载
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.1.0/aio/deploy/recommended.yaml

官方的kubernetes-dashboard.yaml文件中service的type类型为clusterIp(service默认类型),这种方式要访问dashboard需要通过代理,所以我们改为NodePort方式,这样部署完后,就可以直接通过

nodeIP:port的方式访问
spec:
  type: NodePort  #添加
  ports:
    - nodePort: 30009  #添加
      port: 443
      targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard

查看

kubectl get pod,svc -n kubernetes-dashboard -o wide
NAME                                             READY   STATUS    RESTARTS   AGE   IP           NODE    NOMINATED NODE   READINESS GATES
pod/dashboard-metrics-scraper-79c5968bdc-svtln   1/1     Running   0          57m   10.244.1.2   node1   <none>           <none>
pod/kubernetes-dashboard-7448ffc97b-bfphw        1/1     Running   0          57m   10.244.2.2   node2   <none>           <none>

NAME                                TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE   SELECTOR
service/dashboard-metrics-scraper   ClusterIP   10.109.35.215    <none>        8000/TCP   57m   k8s-app=dashboard-metrics-scraper
service/kubernetes-dashboard        ClusterIP   10.106.150.154   <none>        443/TCP    57m   k8s-app=kubernetes-dashboard

然后创建账户,获取token

#创建账户
kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
#授权
kubectl create clusterrolebinding dashboard-admin-rb --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin
#获取账号token
kubectl get secrets -n kubernetes-dashboard |grep dashboard-admin
kubectl describe secrets dashboard-admin-token-2bddq -n kubernetes-dashboard

eyJhbGciOiJSUzI1NiIsImtpZCI6Im5ucnN2aFAzWDlZVWVIdHF6VVpKQnB6R0dIcDBObVVudERfRWpETTBLX0kifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tMmJkZHEiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiZDJkM2U4OTYtZjNjZS00ZmY1LWJlMDItYjM5ZjJiYzcxNTBmIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmVybmV0ZXMtZGFzaGJvYXJkOmRhc2hib2FyZC1hZG1pbiJ9.aHlsQdPTYTCoiAOoMw34TaIyg60_d3yWeZrYZaB_l9HvH4-NAGr0Blq7CCQNgjfO8s-HDw-bz_2X1C1ha2hvTgJGYeEH3jtTydQR-nSR-U7DQW6Fj2wlvZT4jHrQqhUCFdHFKptPlNm0_p_UZPIettaFB4c_nYebqOXK8kDabIl_2xkuPDmoGdQAjmIGuO7UrJQSL7dK05MI_hZh0bFzDBpn39PGnwReqgvAMkzYaKGxaGaw6tS1nkRp176cb53L4zRfS3CIc2rDW3RaVZ4RrrpoL0dv1CXtFfADqQf2jYvQgb1pSKwWGqF1VRVZ4GYQk-WNkfxX4DYQ4IL6D_UMJA

在这里插入图片描述

#浏览器访问(用从node节点访问)
https://10.0.0.17:30009
### 如何使用 Helm 安装 Kubernetes Dashboard Helm 是 Kubernetes 的包管理工具,用于简化应用程序的部署和管理过程[^2]。通过 Helm Chart 可以轻松安装和配置复杂的 Kubernetes 应用程序,例如 Kubernetes Dashboard。 以下是关于如何使用 Helm 安装 Kubernetes Dashboard 的详细说明: #### 添加 Helm Repository 首先需要确保 Helm 已经正确安装并初始化完成。如果尚未安装 Helm,请参考官方文档进行安装[^3]。接着可以添加 Kubernetes Dashboard 的官方 Helm 仓库: ```bash helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/ ``` #### 更新本地 Helm 缓存 为了获取最新的 Chart 版本信息,执行以下命令更新缓存: ```bash helm repo update ``` #### 部署 Kubernetes Dashboard 可以通过 `helm install` 命令来部署 Kubernetes Dashboard。下面是一个基本的例子: ```bash helm install my-release kubernetes-dashboard/kubernetes-dashboard --namespace kube-system ``` 其中 `-namespace kube-system` 表示将 Kubernetes Dashboard 部署到默认的 `kube-system` 名字空间下。可以根据实际需求更改名字空间或者自定义其他参数。 #### 访问 Kubernetes Dashboard 一旦成功安装Kubernetes Dashboard,可以通过创建服务账户和服务角色绑定的方式访问它。具体操作如下所示: 1. 创建 ServiceAccount 和 ClusterRoleBinding 文件 (dashboard-admin.yaml): ```yaml apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kube-system --- 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: kube-system ``` 2. 使用该文件应用权限设置: ```bash kubectl apply -f dashboard-admin.yaml ``` 3. 获取 Token 并登录至 Web UI: ```bash kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}') ``` 最后,在浏览器中输入对应的 NodePort 或者 Ingress 地址即可打开 Kubernetes Dashboard 页面,并利用上述 token 登录验证身份。 --- ### 注意事项 - 如果集群启用了 RBAC,则必须先授予适当的角色权限给用户才能正常查看资源状态。 - 默认情况下可能不会暴露外部 IP 地址供远程连接;此时需考虑设置 LoadBalancer 类型的服务或者其他代理机制实现外网可及性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值