kubernetes1.9安装dashboard,以及token认证问题

写在前面

dashboard的安装非常简单。但按照官网建议的方式安装完成后,输入token登录时会没有反应。
这个问题困扰了我一整天,最终在这里找到了答案。
原因如下:
按官方文档建议的方式安装完dashboard后,使用kubectl proxy代理的方式来 访问webUI。使用这个代理的方式访问就会导致登录无响应的问题。
我们需要将dashboard的service类型改为NodePort,将端口映射到虚拟机上,然后直接通过虚拟机的ip地址登录

安装dashboard

首先下载官网提供的dashboard.yaml
wget https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
修改yaml,添加NodePort.
kind: Service apiVersion: v1 metadata: labels: k8s-app: kubernetes-dashboard name: kubernetes-dashboard namespace: kube-system spec:  # 添加Service的type为NodePort type: NodePort ports: - port: 443 targetPort: 8443  # 添加映射到虚拟机的端口,k8s只支持30000以上的端口 nodePort: 30001 selector: k8s-app: kubernetes-dashboard
安装dashboard
kubectl create -f kubernetes-dashboard.yaml
获取token

这里有一个简单的命令:

kubectl -n kube-system describe $(kubectl -n kube-system get secret -n kube-system -o name | grep namespace) | grep token

也可以自己手动查询:

# 输入下面命令查询kube-system命名空间下的所有secret
kubectl get secret -n kube-system # 然后获取token。只要是type为service-account-token的secret的token都可以使用。 # 比如我们获取replicaset-controller-token-wsv4v的touken
kubectl -n kube-system describe replicaset-controller-token-wsv4v
访问dashboard

通过node节点的ip,加刚刚我们设置的nodePort就可以访问了。

https://<node-ip>:<node-port>

认证有两种方式:

  • 通过我们刚刚获取的token直接认证
  • 通过Kubeconfig文件认证
    只需要在kubeadm生成的admin.conf文件末尾加上刚刚获取的token就好了。

    - name: kubernetes-admin
     user:
     client-certificate-data: xxxxxxxx
     client-key-data: xxxxxx
     token: "在这里加上token"
本文转自SegmentFault- kubernetes1.9安装dashboard,以及token认证问题
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值