1. 安装 dashboard (k8s v1.18可用)
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
v1.18 版本使用如上官网推荐版本,使用其他版本可能会报错
the server could not find the requested resource
2.创建访问账户
1.创建服务帐户和集群角色绑定
# 创建服务帐户
cat > dashboard_service_account_admin.yaml << EOF
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kube-system
EOF
kubectl apply -f dashboard_service_account_admin.yaml
# 创建集群角色绑定
cat > dashboard_cluster_role_binding_admin.yaml << EOF
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: kube-system
EOF
kubectl apply -f dashboard_cluster_role_binding_admin.yaml
2.获取用户登录 Token
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}') > admin-token.yaml && cat admin-token.yaml
3.创建导入浏览器的 .p12 证书文件
grep 'client-certificate-data' ~/.kube/config | head -n 1 | awk '{print $2}' | base64 -d >> kubecfg.crt
grep 'client-key-data' ~/.kube/config | head -n 1 | awk '{print $2}' | base64 -d >> kubecfg.key
openssl pkcs12 -export -clcerts -inkey kubecfg.key -in kubecfg.crt -out kubecfg.p12 -name "kubernetes-web-client"
(记录输入的证书密码,登录时导入证书会用到)
4.访问 kubernetes-dashboard 的 UI 界面
在访问 kubernetes-dashboard 的 UI 界面前,首先需下载刚刚生成的 kubecfg.p12 证书文件并导入浏览器。
点击浏览器设置,管理证书,出现钥匙串界面,导入kubecfg.p12文件,输入证书密码,重启chrome.
5.访问界面
访问 https://<MASTER_IP>:6443/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/,会提示选择证书,选择对应证书,并输入电脑登录密码,选择始终允许,然后会出现dashboard页面。选择令牌,输入刚刚记录的 token 即可。
网友评论