k8s系列教程:搭建仪表盘dashboard

k8s系列教程:

在学习了前几章节之后,我们是不是觉得命令行太过于麻烦?没关系官方提供了界面化的仪表盘来帮助我们更加高效的使用K8s,跟着我一起来搭建属于你自己的k8s控制台吧!

1、重启实验服务器

其实离上次K8s上机实验已经有大半个月了,这半个月里面我在腾讯云上把服务器关机了,仅仅只有硬盘还在计费。现在我们需要将这几台机器再重新启动起来。并且还需要绑定弹性ip,不然无法登录ssh。

3台服务器关机处于关机状态

  • 首先进入“公网IP”模块,申请3个公网IP。如果需要上次的ip,也可以使用“找回IP”功能。这里我们使用“按小时宽带”的计费模式,收费较低。

申请公网ip

  • 点击进入“弹性网卡”-》点击“绑定弹性网卡”。

绑定公网IP到服务器

  • 依次在控制台上将3台服务器开机。
  • 连接ssh
  • master节点上运行kubectl get nodes命令,如果发现其他两个worker节点不在线,可以尝试登录那两台worker服务器,然后使用service docker start来启动docker

2、安装仪表盘

k8s仪表盘可以为我们提供界面化操作,帮助我们更快更方便的管理docker的生命周期。

k8s控制台

说到底仪表盘(dashboard)其实就是一系列容器构成的。我们只需要下载并运行这些容器就可以了。

  • 第一步,下载并运行容器
1
2
3
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml
# 如果上面地址无法访问可以使用这个加速域名代替
kubectl apply -f http://raw.staticdn.net/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml
  • 第二步,设置仪表盘的访问端口
1
2
3
kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard
#编辑资源的配置文件,找到type: ClusterIP这一行,把ClusterIP改为NodePort。
#再按esc键,输入:wq,保存修改

修改配置文件

  • 第三步,进入腾讯云安全组放开端口,端口号其实在上面的配置文件中已经有体现了,默认的端口号是32041。

腾讯云放开端口

  • 第四步,生成访问密钥。毫无疑问访问这种级别的管理后台肯定是需要鉴权的。首先需要配置用户。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#创建一个yaml文件,保存以下内容。
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
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: kubernetes-dashboard

将刚刚创建的yaml文件应用到k8s中。

1
kubectl apply -f dashboard.yaml
  • 第五步,我们需要使用一串命令在master执行来生成一串token,我们再凭借这串token来登录k8s的控制面板。这个token的有效期是24小时,过期之后需要重新生成新的token。
1
kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"

3、k8s仪表盘使用介绍

在k8s仪表盘控制台上可以管理各种资源。很多资源都是以命名空间(namespace)隔离的。我们可以在网页左上角来选择当前的命名空间(namespace)。

选择命名空间

但是有些资源并不和命名空间有关系,这里我们可以从左侧菜单栏中看出来,只要是标记了N的资源都表示和命名空间有关系。

k8s控制台组件命名空间

我们也可以在控制台中创建各种资源,点击网页右上角的加号。允许我们以3种方式来创建新的资源。注意在这里创建资源就可能和当前的命名空间有关系了。

  • 从yaml或json种创建新资源。
  • 从上传的文件中创建新资源。
  • 从表单种创建新资源。

K8S在控制台创建资源

原文链接:https://www.jdkdownload.com/k8s_dashboard.html