dashborad1.8的traefik代理和dashboard认证跳过

古冷 2018-06-17 652人围观 kubernetesdockercontainer

k8s的dashborad插件安装完用traerfik代理失败,始终没法解决了。。。   真是法克了。。。

最后使用kubectl  proxy的方式了

这个解释一下,这是个通过api的匹配来访问,很不安全,不如NodePort,这个要是外暴露的话会被别人扫端口发现一访问能看到k8s的所有的api接口,不是太推荐

kubectl proxy --address='0.0.0.0' --port=8087 --accept-hosts='^*$' &   
#用kubectl老开个proxy访问k8s的api,然后访问方式是http://kubectl-proxy:8087/ui
写了个停之启动的脚本....

#!/bin/bash
case  "$1" in

start)
nohup kubectl proxy --address='0.0.0.0' --port=8087 --accept-hosts='^*$' &
;;
stop)
pid_f=`ps -aux|grep "kubectl .* --port=8087 --accept-hosts=^*" |grep -v "color=auto" `
pid=`echo $pid_f |awk '{print $2}'`
port_check=`netstat -tl|grep simplifymedia|wc -l`
echo $pid
[ $port_check -eq 1 ] && kill -9 $pid  || echo "no pid"
;;
*)
echo "Warn: start | stop"
;;
esac

每次登陆dashborad的时候用kubeconfig文件或者token的文件来登陆dashborad,这俩个办法都需要token,但是token会过期,这很感觉虽然安全了,但是麻烦了,想办法认证跳过

授予admin权限,跳过登录

注意: 首先需要确保你知道这样做的后果,授予admin权限后安全性较低,不建议在生产环境中使用。

  • 创建admin角色

vim    admin-user-sa-rbac.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kube-system

---
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
$ kubectl create -f admin-user-sa-rbac.yaml
  • 修改dashboard角色配置 编辑kubernetes-dashboard.yaml文件

找到以下配置:

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: kubernetes-dashboard-minimal
  namespace: kube-system
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: kubernetes-dashboard-minimal
subjects:
- kind: ServiceAccount
  name: kubernetes-dashboard
  namespace: kube-system

修改为:

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

再进入dashboard认证界面直接跳过即可是admin权限了。。。

不安全!!!!!!!!


请发表您的评论
152文章数 1评论数
请关注微信公众号
微信二维码
Powered By Z-BlogPHP