Kubernetes 安装Dashboard

在docker for mac上安装kubernetes后,安装dashboard

1.在 https://github.com/kubernetes/dashboard/releases 官网,找到对应的版本。本文使用2.0.1

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

可能会出现raw.githubusercontent.com无法访问的情况。可能是DNS污染,临时解决方法是配置 /etc/hosts 文件

sudo vim /etc/hosts
151.101.76.133 raw.githubusercontent.com

2. 运行  kubectl get pods --namespace=kubernetes-dashboard -o wide  查看pod名称,下面说明pod正在被创建

执行 kubectl describe pod  dashboard-metrics-scraper-b68468655-4cfdn --namespace=kubernetes-dashboard 查看创建过程

等一会,再次查看,发现已经在运行了

 

3.使用API Server 访问

 kubectl proxy # 开启本机访问代理

这时候可通过 http://127.0.0.1:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login 地址访问,注意namespace=kubernetes-dashboard/

4. 使用NodePort访问

4.1 查看kubernetes-dashboard

kubectl --namespace=kubernetes-dashboard get service kubernetes-dashboard

4.2 编辑kubernetes-dashboard,将里面的type: ClusterIP改为type: NodePort即可

kubectl --namespace=kubernetes-dashboard edit service kubernetes-dashboard

4.3 wq保存即可。等一会儿,重新查看,就变为NodePort了。

4.4 生成证书

Dashboard安装完成,改为NodePort形式之后,通过https://127.0.0.1:30304/访问,会提示安全信息如下: 无法访问了,需要生成证书

#新建目录:
mkdir key && cd key

#生成证书
openssl genrsa -out dashboard.key 2048 

#部署的是docker for mac的kubernetes,配置如下。192.168.10.7是本机IP地址
openssl req -new -out dashboard.csr -key dashboard.key -subj '/CN=192.168.10.7'
openssl x509 -req -in dashboard.csr -signkey dashboard.key -out dashboard.crt 

#删除原有的证书secret
kubectl delete secret kubernetes-dashboard-certs -n kubernetes-dashboard

#创建新的证书secret
kubectl create secret generic kubernetes-dashboard-certs --from-file=dashboard.key --from-file=dashboard.crt -n kubernetes-dashboard

#查看pod
kubectl get pod -n kubernetes-dashboard

#删除pod,系统会自动启动一个新的
kubectl delete pod kubernetes-dashboard-64999dbccd-lpq7k   -n kubernetes-dashboard

 

执行完成之后,再次访问是这样的

上图点开高级之后,有个继续前往的链接,点击即可。

4.5 新建用户获取令牌

4.5.1新建用户

新建文件(文件名随意)admin-user.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard

复制到admin-user.yaml文件后,执行:
kubectl create -f admin-user.yaml

4.5.2 绑定用户关系

新建文件(文件名随意)admin-user-role-binding.yaml

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

复制到admin-user-role-binding.yaml文件后,执行:kubectl create -f admin-user-role-binding.yaml

如果过程中提示存在或者需要删除,只需要kubectl delete -f 相应的yaml文件即可。

4.5.3 获取令牌

按照官网提示的获取token方法:

kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')

eyJhbGciOiJSUzI1NiIsImtpZCI6IlRZd1VXeDdjSmZJRW1keDZsQUVyMW12M24wZTF2WGU4Ul8wX09KTVpQcmcifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLXNicWwyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIxMzFlM2E3MC1jZWI0LTQ5MWQtOGU2Zi1iMTA0NDMxMmU2OTEiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4tdXNlciJ9.UqP8ale28OoMxlwpyBKCE95O5CIKQa3Z3FmNevl9x99CkUJCBGFsjtzt8dYxnEkF3R1FqcLAf7umjR1M931u94jsoI7OcOvFyV3jQeApLhlRBLdJ4wr5WcXROVxyJfDbpKvwGsPb6BiOMdXITAAksnjgXQVUcdLPgNaRFqFHh7OY10MMI8yHN31ZN1Ragh4j0n1lj8aiRruOS0c2iGy30MAjOhlvM9YSpv-ENVEMDkxxwVUg095SejWP3mnWzbfBDF0gNE5cJ9aEWwzUv-6f5q0lGxjA2YSABhfaK0lLPPRf3zHYtf7H37oJvsUvv1a5B52zVjOMU_2g13V4qAipRQ

4.5.4 输入令牌打开页面

输入令牌后,点登入,就打开了首页,如图所示:

 

本文主要参考了

Web基础配置篇(十七): Kubernetes dashboard安装配置  

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章