Kubernetes集群管理面板的安装及使用

1、前言

若海的腾讯云Lighthouse组建跨地域Kubernetes集群,让我成功体验到了Kubernetes集群诸多优点,但是非技术出生的我,长时间使用黑洞洞的命令行终究不是我能接受的,在海哥的帮助下,我成功安装了Kubernetes集群管理面板。这里给大家分享,建议大家另外用一台机器,来作为管理机。这样在面板和整个集群就互不干扰了。

2、安装

2.1准备工作

在海哥集群安装教程的基础上,安装面板非常简单,下面是具体方法。

如果购买的腾讯云轻量应用服务器不是docker镜像的可以重装成docker基础镜像。
输入图片说明
如果使用其他服务器没有docker可以看这篇文章:原来服务器这么有用-Docker安装 - 青阳のblog-一个计算机爱好者的个人博客 (hipyt.cn)

注意

如果没有服务器可以通过传送门新购一台。

腾讯云轻量应用服务器购买地址:传送门
腾讯云上云精选:传送门
腾讯云云产品特惠专区: 传送门

2.2登录服务器

进入腾讯云轻量应用服务器的控制台,点击右上方的 登录 ,使用腾讯云OrcaTerm 登录到服务器(注意图片中标记的两个位置都可以使用)。
输入图片说明
点击登录之后将会进入到服务器内部。
注意使用sudo -i切换到管理员模式。
输入图片说明

2.3面板容器安装

输入图片说明

docker run -d \
--restart=unless-stopped \
--name=kuboard \
-p 80:80/tcp \
-p 10081:10081/tcp \
-e KUBOARD_ENDPOINT="http://你的docker公网IP:80" \
-e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
-v /root/kuboard-data:/data \
eipwork/kuboard:v3

注意

  • KUBOARD_ENDPOINT 参数的作用是,让部署到 Kubernetes 中的 kuboard-agent 知道如何访问 Kuboard Server;
  • KUBOARD_ENDPOINT 中也可以使用外网 IP;
  • Kuboard 不需要和 K8S 在同一个网段,Kuboard Agent 甚至可以通过代理访问 Kuboard Server;
  • 建议在 KUBOARD_ENDPOINT 中使用域名;
  • 如果使用域名,必须能够通过 DNS 正确解析到该域名,如果直接在宿主机配置 /etc/hosts 文件,将不能正常运行;

参数解释

  • 建议将此命令保存为一个 shell 脚本,例如 start-kuboard.sh,后续升级 Kuboard 或恢复 Kuboard 时,需要通过此命令了解到最初安装 Kuboard 时所使用的参数;
  • 第 4 行,将 Kuboard Web 端口 80 映射到宿主机的 80 端口(您可以根据自己的情况选择宿主机的其他端口);
  • 第 5 行,将 Kuboard Agent Server 的端口 10081/tcp 映射到宿主机的 10081 端口(您可以根据自己的情况选择宿主机的其他端口);
  • 第 6 行,指定 KUBOARD_ENDPOINT 为 http://内网IP,如果后续修改此参数,需要将已导入的 Kubernetes 集群从 Kuboard 中删除,再重新导入;
  • 第 7 行,指定 KUBOARD_AGENT_SERVER 的端口为 10081,此参数与第 5 行中的宿主机端口应保持一致,修改此参数不会改变容器内监听的端口 10081,例如,如果第 5 行为 -p 30081:10081/tcp 则第 7 行应该修改为 -e KUBOARD_AGENT_SERVER_TCP_PORT="30081"
  • 第 8 行,将持久化数据 /data 目录映射到宿主机的 /root/kuboard-data 路径,请根据您自己的情况调整宿主机路径;

3、面板使用

3.1 面板登录

在浏览器输入 http://your-host-ip:80 即可访问 Kuboard v3.x 的界面,登录方式:

  • 用户名: admin
  • 密 码: Kuboard123
  • 登录之后请尽快修改密码。

浏览器兼容性

  • 请使用 Chrome / FireFox / Safari 等浏览器
  • 不兼容 IE 以及以 IE 为内核的浏览器

    3.2 添加集群输入图片说明

    添加集群之后,直接复制获取Token的脚本到主节点,运行之后复制到Token内。
    注意ApiServer 地址https://主节点ip:6443
    输入图片说明

添加成功之后我们就可以在集群概要看到我们的集群情况了。
输入图片说明

3.2 应用创建

输入图片说明

可以在名称空间内通过YAML创建,我这里给一个搭建emby的范例大家参考(注意一点Deployment.yaml可以理解成容器创建,Service.yaml理解成端口映射,这样大家没有接触过的可能容易懂一些)。

Deployment.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: emby-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: emby
  template:
    metadata:
      labels:
        app: emby
    spec:
      containers:
        - name: emby
          image: emby/embyserver:latest
          ports:
            - containerPort: 8096
          volumeMounts:
            - name: emby-config
              mountPath: /config
            - name: emby-data
              mountPath: /data
      volumes:
        - name: emby-config
          emptyDir: {}
        - name: emby-data
          emptyDir: {}

Service.yaml:

apiVersion: v1
kind: Service
metadata:
  name: emby-service
spec:
  selector:
    app: emby
  ports:
    - protocol: TCP
      port: 8096
      targetPort: 8096
  type: LoadBalancer

这个应用中,我运用了Emby 的官方镜像 emby/embyserver。大家可以根据自己的需求更改镜像标签。

搭建成功之后大家可以在工作负载中看到。
输入图片说明

总结

这篇文章我在若海的腾讯云Lighthouse组建跨地域Kubernetes集群基础上给大家带来了Kubernetes集群面板的搭建及简单使用教程,希望可以帮助到大家,更多精彩内容请关注我的博客

最后修改:2023 年 10 月 14 日
如果觉得我的文章对你有用,请随意赞赏