K8s dashborad

1.部署

要部署仪表板,请执行以下命令:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml

2.验证

#查看pod运行状态

kubectl get pod -n kube-system | grep dashboard

kubernetes-dashboard-569fc6bc94-5chns   1/1       Running   0          14d

#查看dashborad service

kubectl get svc -n kube-system|grep dashboard

kubernetes-dashboard   NodePort    10.107.9.126     <none>        443:30000/TCP   14d

#查看pod运行日志,关注有没有错误

kubectl logs kubernetes-dashboard-569fc6bc94-5chns -n kube-system

3.访问

因为dashboard 作为k8s 原生UI,能够展示各种资源信息,甚至可以有修改、增加、删除权限,所以有必要对访问进行认证和控制

启用 TLS认证 RBAC授权等安全特性

关闭 apiserver非安全端口8080的外部访问--insecure-bind-address=127.0.0.1

关闭匿名认证--anonymous-auth=false

补充启用基本密码认证 --basic-auth-file=/etc/kubernetes/ssl/basic-auth.csv,密码文件模板中按照每行(密码,用户名,序号)的格式,可以定义多个用户

新版本dashboard登陆可以分为两步,类似流行的双因子登陆系统:

  • 第一步通过api-server本身安全认证流程,与之前1.6.3版本相同
  • 第二步通过dashboard自带的登陆流程,使用Kubeconfig Token等方式登陆

1) 临时访问:使用https://NodeIP:NodePort方式直接访问dashborad(建议使用火狐浏览器)

如果dashborad-service类型为ClusterIP,建议修改为NodePort:

 kubectl -n kube-system edit svc kubernetes-dashboard

输出:

 

 

将上面的type: ClusterIP修改为type: NodePort,保存后使用kubectl get service命令来查看自动生产的端口:

 

 

打开页面出现dashboard 新版本自带的登陆页面。Kubernetes仪表盘支持两种登录方式:Kubeconfig、令牌

 

 

令牌登录 选择“令牌(Token)”方式登陆

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

Kubeconfig登录 Kubeconfig文件默认位置:/root/.kube/config,该文件中默认没有token字段,使用Kubeconfig方式登录,还需要将token追加到该文件中,完整的文件格式如下:

 

 

把这个配置复制一份,编辑添加token这个字段然后把token值粘贴过来

2) 授予admin权限,跳过登录

kubectl create -f dashboard-admin.yaml

Dashboard-admin.yaml:

apiVersion: rbac.authorization.k8s.io/v1beta1kind: ClusterRoleBindingmetadata:

  name: kubernetes-dashboard

  labels:

    k8s-app: kubernetes-dashboardroleRef:

  apiGroup: rbac.authorization.k8s.io

  kind: ClusterRole

  name: cluster-adminsubjects:

- kind: ServiceAccount

  name: kubernetes-dashboard

  namespace: kube-system

 

 

 

posted @ 2018-11-19 14:43  庞优秀  阅读(891)  评论(0编辑  收藏  举报