Kubernetes web界面kubernetes-dashboard安装

本文讲述的是如何部署K8s的web UI,前提是已经有一个k8s集群后,按照如下步骤进行即可。(如下步骤都是在master节点上进行操作)

1、下载kubernetes-dashboard.yaml文件

wget https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml

2、修改kubernetes-dashboard.yaml文件

# ------------------- Dashboard Deployment ------------------- #

kind: Deployment
apiVersion: apps/v1beta2
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kube-system
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      k8s-app: kubernetes-dashboard
  template:
    metadata:
      labels:
        k8s-app: kubernetes-dashboard
    spec:
      containers:
      - name: kubernetes-dashboard
        image: registry.cn-hangzhou.aliyuncs.com/kube_containers/kubernetes-dashboard-amd64
        ports:
        - containerPort: 8443
          protocol: TCP
        args:
          - --auto-generate-certificates
# ------------------- Dashboard Service ------------------- #

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kube-system
spec:
  type: NodePort
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 30001
  selector:
    k8s-app: kubernetes-dashboard

上面代码红色字为kubernetes-dashboard.yaml文件中需要修改的地方,不然拉取不了镜像,以及使用Nodeport方式做映射,使其他主机能够访问该dashboard。

3、创建kubernetes-dashboard.yaml

kubectl create -f kubernetes-dashboard.yaml

4、查看kubernetes-dashboard容器是否已经运行

[root@docker-master1 ~]# kubectl get pods -n kube-system
NAME                                     READY   STATUS    RESTARTS   AGE
coredns-576cbf47c7-l5wlh                 1/1     Running   1          3d8h
coredns-576cbf47c7-zrl66                 1/1     Running   1          3d8h
etcd-docker-master1                      1/1     Running   1          3d8h
kube-apiserver-docker-master1            1/1     Running   2          3d8h
kube-controller-manager-docker-master1   1/1     Running   2          3d8h
kube-flannel-ds-amd64-c7wz6              1/1     Running   0          3d8h
kube-flannel-ds-amd64-hqvz9              1/1     Running   0          3d8h
kube-flannel-ds-amd64-w7n4s              1/1     Running   2          3d8h
kube-proxy-8gj2w                         1/1     Running   1          3d8h
kube-proxy-mt6dk                         1/1     Running   0          3d8h
kube-proxy-qtxz7                         1/1     Running   0          3d8h
kube-scheduler-docker-master1            1/1     Running   2          3d8h
kubernetes-dashboard-5f864b6c5f-5s2rw    1/1     Running   0          62m

如上红色字体已经显示kubernetes-dashboard已经成功在node节点上运行。当然,你也可以前往node节点上执行docker ps查看kubernetes-dashboard容器是否已经启动,netstat -ptln命令查看30001端口是否已经开放。

5、创建kubernetes-dashboard管理员角色

[root@docker-master1 ~]# vi k8s-admin.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: dashboard-admin
  namespace: kube-system
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: dashboard-admin
subjects:
  - kind: ServiceAccount
    name: dashboard-admin
    namespace: kube-system
roleRef:
  kind: ClusterRole
  name: cluster-admin
  apiGroup: rbac.authorization.k8s.io

6、加载管理员角色

kubectl create -f k8s-admin.yaml

7、获取dashboard管理员角色token

#获取dashboard secret
kubectl get secret -n kube-system
[root@docker-master1 ~]# kubectl get secret -n kube-system
NAME                                             TYPE                                  DATA   AGE
attachdetach-controller-token-d9w8c              kubernetes.io/service-account-token   3      3d8h
bootstrap-signer-token-jdjwt                     kubernetes.io/service-account-token   3      3d8h
bootstrap-token-9n6rpz                           bootstrap.kubernetes.io/token         6      149m
bootstrap-token-n962df                           bootstrap.kubernetes.io/token         7      3d8h
certificate-controller-token-lktt8               kubernetes.io/service-account-token   3      3d8h
clusterrole-aggregation-controller-token-7stf6   kubernetes.io/service-account-token   3      3d8h
coredns-token-kbz5z                              kubernetes.io/service-account-token   3      3d8h
cronjob-controller-token-b647q                   kubernetes.io/service-account-token   3      3d8h
daemon-set-controller-token-tzlpk                kubernetes.io/service-account-token   3      3d8h
dashboard-admin-token-jc8t5                      kubernetes.io/service-account-token   3      17m
#获取token
[root@docker-master1 ~]# kubectl describe secret dashboard-admin-token-jc8t5 -n kube-system
Name:         dashboard-admin-token-jc8t5
Namespace:    kube-system
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: dashboard-admin
              kubernetes.io/service-account.uid: cdfb442a-f48b-11e8-80e8-000c29c3dca5

Type:  kubernetes.io/service-account-token

Data
====
namespace:  11 bytes
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tamM4dDUiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiY2RmYjQ0MmEtZjQ4Yi0xMWU4LTgwZTgtMDAwYzI5YzNkY2E1Iiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1hZG1pbiJ9.FZCsonMyEdcDDvbzIz7rMxm8vvlk0Ck6O5ooqzaJRWkggwMoqf92qYBsNxMxxT5BdAtxB_iPUD7rEagR7sLTqixHeC0HdTnGCcTnNU1fq2KJA5ssNyi9P4XGJqsGuf4mAmF5L56uBh43X4hQ41rFYPQwIrmVnknTAbAWf3biiKWkN9Az8NsCulRSSCsJSOwfPoGlo7aSbMYTyRXlmzLuLbkMpMvyMHChBJ_MIYbH9dBj_hL3L9iwo9gpNTfB-0_uYHPEPdQcib8qUkC5NxgXdBuQPug5y1kLUVFNgq45ozLTibZuVihK_gza-WKVpBRPY5PaYCN1Gu0-tFObUYDUow

8、使用管理员角色登陆kubernetes-dashboard web界面

扫描二维码关注公众号,回复: 4306528 查看本文章

客户端浏览器输入:https://nodeIP:nodeport ,也就是kubernetes-dashboard容器在哪台node节点上跑,以及上面设置的nodeport端口(我这里是https://192.168.20.214:30001)

出现如下界面,选择令牌——输入令牌,(令牌为上面的token)

 

猜你喜欢

转载自www.cnblogs.com/harlanzhang/p/10045975.html