K8S教程(5)Dashboard的安装与使用

TangLu 未命名 2020-08-25 13284 0

K8S Dashboard的官方介绍:

https://kubernetes.io/zh/docs/tasks/access-application-cluster/web-ui-dashboard/

 

1、下载资源清单并且应用

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


2、查看应用资源清单后所创建的deployment及Pod信息

如果出现Pod一直Crash启动不了的问题,并且日志显示Initializing csrf token from kubernetes-dashboard-csrf secret panic: Get https://ip:443/api/v1/namespaces/kubernetes-dashboard/secrets/kubernetes-dashboard-csrf: dial tcp ip: i/o timeout这样的错误,可以通过编辑yaml文件将dashboard部署到主节点解决

kubectl get deployment
kubectl get deployment -n kubernetes-dashboard  #dashboard会创建在这个namespace中
kubectl get pods -n kubernetes-dashboard

vi recommended.yaml  #如果需要手动指定master的话修改该文件
    spec:
      nodeName: server1  #新增这行
      containers:
        - name: kubernetes-dashboard
          image: kubernetesui/dashboard:v2.0.0
          imagePullPolicy: Always
    spec:
      nodeName: server1  #新增这行
      containers:
        - name: dashboard-metrics-scraper
          image: kubernetesui/metrics-scraper:v1.0.4


3、将Services 类型修改为NodePort,这样外部才能访问

kubectl get svc -n kubernetes-dashboard  #查看svc发现type是clusterip,这样外部无法访问
kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard  #将类型修改为NodePort


4、访问任意Node的IP加上SVC的端口就可以访问Dashboard了,然后看到需要一个token进行登录,这里需要创建一个用户并赋予一个角色

kubectl get clusterrole  #查看默认的角色,比如里面有一个cluster-admin就是管理员角色


5、定义创建角色的清单文件,以创建admin-user的用户为例,然后将其设置为cluster-admin角色

vi admin-user.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


6、使用清单文件创建用户

kubectl apply  -f  admin-user.yaml


7、查看token信息并对token解密

kubectl get secrets -n kubernetes-dashboard  #可以看到多了admin-user的信息
kubectl get secrets -n kubernetes-dashboard admin-user-token-vw2mc -o yaml  #查看该用户的具体信息,里面包含了已经加密过的token
echo '将token复制到这里' | base64 -d  #获取解密后的token


8、使用解密后的token登录dashboard,登录后可以看到K8S集群的各种信息

k8sdashboard1.jpg


9、通过dashboard也可以简单的创建Deployment,其它类型的需要使用yaml来创建

k8sdashboard2.jpg


 

评论