安装kubernetes-dashboard

注意:以下的命令都是在kubernetes 1.15中执行的,如果是其他版本,不保证效果。 

1、创建kubernetes-dashboard服务和对应的pod

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

如果发现该链接失效,请访问https://github.com/kubernetes/dashboard,然后查找最新的链接。

 

2、查看创建的服务和pod

 

3、重新创建一个可以供外网访问的Service

# cat kubernetes-dashboard.yaml

apiVersion: v1
kind: Service
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kube-system
spec:
  clusterIP: 10.97.14.63
  externalTrafficPolicy: Cluster
  ports:
  - nodePort: 30443
    port: 443
    protocol: TCP
    targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard
  sessionAffinity: None
  type: NodePort
status:
  loadBalancer: {}

在填写clusterIP时,一定要跟已经存在的kubernetes-dashboard服务的IP不同,也就是在第二步中截图中的10.97.14.62,所以我改成了63.

 

4、创建一个ServiceAccount

# cat dashboard.yaml

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

我们需要使用该ServiceAccount的secret作为登录dashboard的凭证。

因为官方给的默认权限是最小的,所以我们要自建一个最大权限的SA。

 

5、获取secret中的token

# kubectl describe secret dashboard -n kube-system

类似这样:

 

6、访问dashboard

浏览器输入:(请使用火狐浏览器,使用谷歌浏览器时不好使)

https://192.168.198.136:30443

首次访问时,会阻拦你,所以你需要继续访问,然后选择验证方式时,会有kubeconfig和令牌两种方式,我们选择令牌。

然后将第5步中获取的token填入,就可以访问了。

 

posted @ 2019-07-19 17:57  道霖  阅读(9263)  评论(0编辑  收藏  举报