前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >k8s 优秀的web管理界面-kubernetes Dashboard

k8s 优秀的web管理界面-kubernetes Dashboard

作者头像
kubernetes中文社区
发布2021-12-15 16:16:40
10K0
发布2021-12-15 16:16:40
举报

Web 界面 (Dashboard)

Dashboard 是基于网页的 Kubernetes 用户界面。你可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中,也可以对容器应用排错,还能管理集群资源。你可以使用 Dashboard 获取运行在集群中的应用的概览信息,也可以创建或者修改 Kubernetes 资源 (如 Deployment,Job,DaemonSet 等等)。例如,你可以对 Deployment 实现弹性伸缩、发起滚动升级、重启 Pod 或者使用向导创建新的应用。

Dashboard 同时展示了 Kubernetes 集群中的资源状态信息和所有报错信息。

部署 Dashboard UI

查看当前集群node

代码语言:javascript
复制
[root@master01 k8s-dashboard]# kubectl get node
NAME           STATUS                     ROLES    AGE     VERSION
172.19.64.35   Ready                      node     2d16h   v1.18.0
172.19.64.36   Ready                      node     2d16h   v1.18.0
172.19.64.37   Ready                      node     2d16h   v1.18.0
172.19.64.38   Ready                      node     2d16h   v1.18.0
172.19.64.39   Ready                      node     2d16h   v1.18.0
172.19.64.40   Ready,SchedulingDisabled   master   2d16h   v1.18.0
172.19.64.41   Ready,SchedulingDisabled   master   2d16h   v1.18.0
[root@master01 k8s-dashboard]# 

因为我的集群是1.18.10版本,所以dashboard选择2.0.3版。

代码语言:javascript
复制
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml

修改dashboard的yaml文件

修改service部分,默认service是ClusterIP类型,这里改称NodePort类型,是集群外部能否访问

代码语言:javascript
复制
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: 30012
  selector:
    k8s-app: kubernetes-dashboard

执行yaml文件

代码语言:javascript
复制
[root@master01 k8s-dashboard]# kubectl apply -f recommended.yaml 
namespace/kubernetes-dashboard created
serviceaccount/kubernetes-dashboard created
service/kubernetes-dashboard created
secret/kubernetes-dashboard-certs created
secret/kubernetes-dashboard-csrf created
secret/kubernetes-dashboard-key-holder created
configmap/kubernetes-dashboard-settings created
role.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
deployment.apps/kubernetes-dashboard created
service/dashboard-metrics-scraper created
deployment.apps/dashboard-metrics-scraper created
[root@master01 k8s-dashboard]# 

查看服务状态

代码语言:javascript
复制
[root@master01 k8s-dashboard]# kubectl get all -n kubernetes-dashboard
NAME                                             READY   STATUS    RESTARTS   AGE
pod/dashboard-metrics-scraper-6b4884c9d5-tdw2m   1/1     Running   0          39s
pod/kubernetes-dashboard-7d8574ffd9-rbfwm        1/1     Running   0          39s

NAME                                TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)         AGE
service/dashboard-metrics-scraper   ClusterIP   10.0.0.110   <none>        8000/TCP        39s
service/kubernetes-dashboard        NodePort    10.0.0.17    <none>        443:30012/TCP   39s

NAME                                        READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/dashboard-metrics-scraper   1/1     1            1           39s
deployment.apps/kubernetes-dashboard        1/1     1            1           39s

NAME                                                   DESIRED   CURRENT   READY   AGE
replicaset.apps/dashboard-metrics-scraper-6b4884c9d5   1         1         1       39s
replicaset.apps/kubernetes-dashboard-7d8574ffd9        1         1         1       39s
[root@master01 k8s-dashboard]# 

可以看到pod 服务已经是running状态

访问集群IP:30012端口可以访问web管理界面

点击高级,继续访问。

创建登录用户信息

代码语言:javascript
复制
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin
  namespace: kubernetes-dashboard

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

执行到集群

代码语言:javascript
复制
kubectl apply -f admin.yaml

查看kubernetes-dashboard下面的secret

代码语言:javascript
复制
[root@master01 k8s-dashboard]# kubectl get secret -n kubernetes-dashboard
NAME                               TYPE                                  DATA   AGE
default-token-7c4nd                kubernetes.io/service-account-token   3      8m28s
kubernetes-dashboard-certs         Opaque                                0      8m28s
kubernetes-dashboard-csrf          Opaque                                1      8m28s
kubernetes-dashboard-key-holder    Opaque                                2      8m28s
kubernetes-dashboard-token-wdtbk   kubernetes.io/service-account-token   3      8m28s

查看登录token

代码语言:javascript
复制
[root@master01 k8s-dashboard]# kubectl describe secret kubernetes-dashboard-token-wdtbk -n kubernetes-dashboard
Name:         kubernetes-dashboard-token-wdtbk
Namespace:    kubernetes-dashboard
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: kubernetes-dashboard
              kubernetes.io/service-account.uid: 1f51d545-91a8-4b27-9f22-e15791dff4eb

Type:  kubernetes.io/service-account-token

Data
====
ca.crt:     1363 bytes
namespace:  20 bytes
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IjVkdnktMnVLRTU2UGN2SlRBWXEyM0hrSXRZdS0ya20yNkNGeGloWENwTzQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZC10b2tlbi13ZHRiayIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjFmNTFkNTQ1LTkxYTgtNGIyNy05ZjIyLWUxNTc5MWRmZjRlYiIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDprdWJlcm5ldGVzLWRhc2hib2FyZCJ9.GnhMhTC76Ty4YMnkE8L5L9pQgn2DTa3bJQSTkLOV8sCo9RlGjnGPgCcyrXVMfMQb4O0Qc7TAhcwxqmICI_uHXzLX6JNc0Vvmw6_lzbkUlxRg_qdX8Zlol7wYlxb01cex4SL4JCyxbPbZ1ChXP75fsKl3nxIGWntdie8fpH_DuHH4XjosOTnkx-GBhYoarXvcRtu_kzwKJw2dCULNhOycyFsC9ufQV1tcF89yWCw2XcNzRqGWPUDbhEJ4NtsHA_UbZ6FGTyHQ7RfLWnIDN63u-uH8v2y-oX19gd0IrK6rDyYchpx4Wp4uqdmcHEgHH0eQN-ImDMyqVj2xHSkzYcMHMA
[root@master01 k8s-dashboard]# 

登陆dashboard

查看集群pod信息

查看集群service

查看集群node节点信息

查看集群Deployments

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 kubernetes中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Web 界面 (Dashboard)
  • 修改dashboard的yaml文件
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档