资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

Kubernets安装dashboard报错怎么解决-创新互联

总算在成功的部署了k8s之后,我打算再部署一下k8s的web UI:dashboard.

创新互联建站-专业网站定制、快速模板网站建设、高性价比平原网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式平原网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖平原地区。费用合理售后完善,十多年实体公司更值得信赖。

网上主要的部署方法都是一些IT用yaml文件去生成的dashboard服务。然后所有的文章或多或少的都有点问题,不是步骤不一样了进行不下去了,内容或文件过期,或都就是作者认为某些内容是大家都懂的于是怱略了一些步骤,但是我已经进行不下去了。

首先是拉镜像的问题,dashboard的镜像依旧是在“某个外国知名搜索引擎”服务器上的没法直接拉下来,所以依旧使用从镜像服务器上下载之后再用docker tag命令更改名称的方法来解决问题。

官方的镜像地址是:k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1

我找了一个镜像的地址:mirrorgooglecontainers (下载命令为:docker pull mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.1)

接下来是改名

docker tag mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.1 k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1
docker rmi mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.1

然后有了镜像之后,开启dashboard的pod。网上也有各种yaml文件版本,我试下来最靠谱的是以下文件。将它命名为kubernetes-dashboard.yaml。

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kube-system
spec:
  type: NodePort
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 30001
  selector:
    k8s-app: kubernetes-dashboard

其中30001可以自己改,在k8s允许的范围内内改成自己想要的端口。这个端口是应用于物理机上的而不是pod网络。非k8s集群的集群可以通过这个端口去访问(毕竟还是给浏览器去访问的。)我已开始没改端口,但是没有意识到30001端口已经被其他的服务给占掉了,所以yaml文件运行后没有起到起到什么作用。我在这里选了一个30012端口。

用这个文件来安装dashboard

kubectl create -f kubernetes-dashboard.yaml

接下来是用浏览器登陆,首先找到dashboard是在那个节点上运行的,


kubectl get pods --all-namespaces -o wide | grep dashboard | awk '{print $8}'

然后在浏览器里访问这个node节点。网址要加上https://<节点的ip或域名>:<前面yaml文件中的nodePort的值>。我用的浏览器是chrome,立即显示了“证书不受信任”的页面,而且高级选项里继续选项也没有,就无法访问了。上网查了一下这个问题的解决方法,原因是证书过期了(0001年1月3日开的证书,整整过期2000+年),只有firefox能够添加例外。而真正的解决方法是替换证书。在网上找到最好的方法如下文。

mkdir key && cd key
openssl genrsa -out dashboard.key 2048 

openssl req -new -out dashboard.csr -key dashboard.key -subj '/CN=172.19.0.48'

openssl x509 -req -in dashboard.csr -signkey dashboard.key -out dashboard.crt 

kubectl delete secret kubernetes-dashboard-certs -n kube-system

kubectl create secret generic kubernetes-dashboard-certs --from-file=dashboard.key --from-file=dashboard.crt -n kube-system  #新的证书

kubectl delete pod kubernetes-dashboard-746dfd476-b2r5f -n kube-system    #重启服务

其中有一些地方要根据实际情况改动,例如第三句的IP地址要改成node节点的,还有最后一句删除pod名字也得改一下。获取的命令为


kubectl get pods --all-namespaces -o wide | grep dashboard | awk '{print $2}'

然后在浏览器里就可以跳过证书受信问题了。接下来的问题是登陆界面,有两种登陆的方式,个人觉得还是token这种方便一点。网上也有高手总结了一下获取token命令的方法。

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

将获取的token复制到浏览器的界面中,就可以登陆dashboard了。

Kubernets安装dashboard报错怎么解决

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文题目:Kubernets安装dashboard报错怎么解决-创新互联
分享地址:http://www.cdkjz.cn/article/pedhc.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220