在昨天成功部署了k8s后,我今天尝试着部署它的后台web界面
下载官方的yaml
1 | wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml |
由于官方的yaml不直接对外开放,需要在本地直接进行kubectl proxy
进行代理,所以我们通过修改yaml来直接暴露端口和服务。有两个地方要修改:
第一个是修改镜像,kubernetes-dashboard.yaml配置文件112行
1 | 90 # ------------------- Dashboard Deployment ------------------- # |
第二个是添加一个type,指定端口类型为 NodePort,这样外界可以通过地址 nodeIP:nodePort 访问 dashboard,kubernetes-dashboard.yaml配置文件158行:
1 | 148 # ------------------- Dashboard Service ------------------- # |
部署到k8s集群
1 | kubectl apply -f kubernetes-dashboard.yaml |
因为我是阿里云的ecs,还要在安全组添加30023进入的端口才能在外部访问
Token (令牌) 认证方式登录
1)授权 (所有 namespace )
// 创建serviceaccount1
kubectl create serviceaccount dashboard-serviceaccount -n kube-system
// 创建clusterrolebinding1
kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-serviceaccount
2)获取令牌(用于网页登录)
// 查看口令列表1
2 kubectl get secret -n kube-system |grep dashboard-serviceaccount-token
dashboard-serviceaccount-token-f45wg kubernetes.io/service-account-token 3 22s
// 获取口令1
kubectl describe secret dashboard-serviceaccount-token-f45wg -n kube-system
3)将获取到的token放在令牌里
4) 登录成功
5) 但是我还是遇到了
这个问题暂时还没有解决
参考文章:
30分钟带你搭建一套Dashboard的kubernetes(K8S)集群
使用kubeadm安装Kubernetes 1.8版本