终端管理K8s命令太多太费劲?试试官方的Dashboard,你100%喜欢

开头说几句上一篇文章我们说了官方提供的最简便的安装方式Kubeadm , 相信小伙伴们也利用这一方式搭建起了自己的第一个K8s集群 。 今天我们来说一说如何搭建官方的Dashboard来管理我们的K8s集群 。 那后面我们还会有很多关于K8s使用方面的小知识小技巧 , 感兴趣的小伙伴可以关注我 , 文章末尾我会列出我们将要谈到的话题哦 , 记得看完!先来个上篇文章的链接吧!!!有些软件包在上篇文章中有说到为什么要使用KubernetesDashboard?看到这里有小伙伴就要问了 , 我们为什么要用Dashboard?哈哈哈 , 无他 , 唯好用尔!linux实在是有太多太多的命令了 , 小编的脑子根本记不住 , 每次都要查太费劲了 , 有官方提供的管理平台当然要快快用起来了 。 KubernetesDashboard可以做什么 基本上一目了然了吧 , 那我就不说了 , 说起来挺费劲的!
正式开始KubernetesDashboard安装
首先呢我们先获取一下官方提供的recommended.yaml配置文件 , 不过咱这网络一般是下载不下来 , 回复我关键字k8s会提供相关所有的软件包给大家哦!!我们先打开recommended.yaml , 找到下面这一段(红色框内) 我们需要在这一段内呢添加两对键值 , 修改后这段应该是这样的:kind:ServiceapiVersion:v1metadata:labels:k8s-app:kubernetes-dashboardname:kubernetes-dashboardnamespace:kubernetes-dashboardspec:type:NodePortports:-port:443targetPort:8443nodePort:30443selector:k8s-app:kubernetes-dashboard我简单的解释一下 , 我们这里添加了type:NodePort , 这个呢意思是service对外开放端口 , 用户可以通过node、master节点的IP来访问该服务 。 那后面nodePort:30443大家应该也就明白了是对外开放的端口号 。 修改好之后我们就可以开始安装了 , 上一篇文章中我们同样为大家提供的KubernetesDashboard相关的镜像 , 不然我们这边还不太好下载 。 $kubectlcreate-frecommended.yaml命令执行完毕后我们就可以查看一下对应的service、pod的状态了$kubectlgetpod,svc-nkubernetes-dashboard创建KubernetesDashboard超级管理用户
默认Dashboard为最小RBAC权限 , 我们需要添加集群管理员的权限以方便我们从Dashboard页面操作集群资源 。 首先我们需要创建adminuser.yamlapiVersion:v1kind:ServiceAccountmetadata:name:admin-usernamespace:kubernetes-dashboard---apiVersion:rbac.authorization.k8s.io/v1kind:ClusterRoleBindingmetadata:name:admin-userroleRef:apiGroup:rbac.authorization.k8s.iokind:ClusterRolename:cluster-adminsubjects:-kind:ServiceAccountname:admin-usernamespace:kubernetes-dashboard然后就是执行如下命令在集群中创建用户:$kubectlcreate-fadminuser.yaml接下来我们就可以访问了页面了 , 访问地址是:https://{YourNodeIp}:30443你会发现他会提示我们证书不对 , 这是因为我们上面的recommended.yaml中为我们创建了一个空的证书 。 有的浏览器甚至无法强行跳转 , 这就涉及到我们下面的证书配置了!页面需要我们提供一个token进行登录 , 最长的那一段就是:$kubectl-nkubernetes-dashboarddescribesecret$(kubectl-nkubernetes-dashboardgetsecret|grepadmin-user|awk'{print$1}')为KubernetesDashboard配置正确的域名证书
这里我们要配置的是正确的域名证书哦 , 就像我的截图一样 。 那没有域名的小伙伴可以使用自签名证书哦 , 或者使用hosts配置也可以!首先我们需要准备好我们的证书以及key文件 , 这里要注意了 , 我们的证书命名一定是dashboard.crt , 我们的key命名一定是dashboard.key 。 通过我的实践这是真理 , 具体为什么咱也不知道 , 咱也不敢问(可能官方文档里有写咱没看见) 。 接下来我们要查看一下当前是否存在证书(这里算是多此一举)$kubectlgetsecret-nkubernetes-dashboard|grepkubernetes-dashboard-certs那我们需要先删除这个证书配置 , 这样我们才能添加自己的证书$kubectldeletesecretkubernetes-dashboard-certs-nkubernetes-dashboard删除之后呢我们 , 我们就要创建自己的证书了 , 千万注意步骤2中的命名问题!!!这是个巨坑$kubectlcreatesecretgenerickubernetes-dashboard-certs--from-file="dashboard.crt"--from-file="dashboard.key"-nkubernetes-dashboard证书创建好了 , 我们还需要重启pod才能生效 , 这里我们直接删除pod , deployment监测到pod被删除后会自动创建一个新的#先查看kubernetes-dashboard的pod名称$kubectlgetpod-nkubernetes-dashboard#删除该pod$kubectldeletepodkubernetes-dashboard-7f99b75bf4-sbmdp-nkubernetes-dashboard结束了!!!
至此我们的证书也搞定了 , 不过需要重新获取一下token , 清理一下页面缓存 。 这样就可以正常的使用和登录了 。 最后说两句这章节就到这里啦 , 希望大家有所收获 。 后面我们还有一些关于K8s应用方面的小知识、小技巧:K8s简单应用(pod , deployment)应用互相访问、对外开放访问(service , nodePort)(nfs)磁盘挂载配置文件(config-map)使用K8s搭建自己的docker镜像仓库并且配备web-ui有兴趣的小伙伴可以关注我哦!!!谢谢大家!!!你觉得Docker好用还是Kubernetes单选0人0%Docker0人0%Kubernetes0人0%什么鬼东西都是!!!


    推荐阅读