kubernetes实战篇之经过api-server访问dashboard

系列目录html

前面一节咱们介绍了如何使用kube-proxy搭建代理访问dashboard,这样作缺点很是明显,第一能够经过http访问,第二是这种方式要启动一个后台进程,若是进程关闭了则不可以访问了,还须要手动开启proxy.另一个问题就是可能有部分读者已经遇到了,在输入token的时候,web界面无影响,笔者在本机试的时候经过firefox无响应,经过谷歌浏览器有时候无响应,有时候偶尔会有响应.下面经过使用api-server地址来访问dashboard.web

  • 建立.kube文件夹并把admin.conf复制到此文件夹
mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

注,此步骤也能够不要,只是如下的操做步骤用到$HOME/.kube/config都要换成/etc/kubernetes/admin.conf,这里是参照了这篇文章,我就和做者保持一致.windows

  • 生成client-certificate-data
grep 'client-certificate-data' ~/.kube/config | head -n 1 | awk '{print $2}' | base64 -d >> kubecfg.crt
  • 生成client-key-data
grep 'client-key-data' ~/.kube/config | head -n 1 | awk '{print $2}' | base64 -d >> kubecfg.key
  • 生成p12
openssl pkcs12 -export -clcerts -inkey kubecfg.key -in kubecfg.crt -out kubecfg.p12 -name "kubernetes-client"

其中生成kubecfg.p12这一步须要输入密码,以供之后导入时使用centos

[root@k8s-master key]# openssl pkcs12 -export -clcerts -inkey kubecfg.key -in kubecfg.crt -out kubecfg.p12 -name "kubernetes-client"
Enter Export Password:

这里输入密码,这里是设置密码,所以能够输入你本身方便管理的密码,输入完之后要求再次确认,确认完之后就会生成一个kubecfg.p12文件.完成之后咱们把kubecfg.p12复制到要访问dashboard的机器上,若是是windows机,则双击这个文件,会弹出一个安装向导,须要输入咱们刚才设置的密码,输入完之后一直下一步就好了.api

执行完以上操做后,打开谷歌内核浏览器,输入https://192.168.124.59:6443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:https/proxy就能够不用搭建proxy来访问dashboard了.(访问的时候浏览器会出现一个提示,让选择证书,点击确证就行了)浏览器

目前使用火狐会出现403 forbidden现象,切换到谷歌就好了bash

有的童鞋跟着以上操做可能最终也成功了,可是一脸懵,为何要这样操做.这个地址又是哪来的,我要用记事本把这一长串地址保存起来么?spa

实际上以上dashboard是经过kubectl cluster-info命令获取到的firefox

[centos@k8s-master dashboard]$ kubectl cluster-info
Kubernetes master is running at https://192.168.124.59:6443
KubeDNS is running at https://192.168.124.59:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
kubernetes-dashboard is running at https://192.168.124.59:6443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:https/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
[centos@k8s-master dashboard]$

设置证书是由于这个地址是https地址,须要生成证书来访问.debug

相关文章
相关标签/搜索