Kubernetes 集群管理面板的安装及使用 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cclt
V2EX    Kubernetes

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

  •  
  •   cclt 2023-10-15 11:26:32 +08:00 2673 次点击
    这是一个创建于 813 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    1 、前言

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

    2 、安装

    2.1 准备工作

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

    如果购买的腾讯云轻量应用服务器不是 docker 镜像的可以重装成 docker 基础镜像。

    输入图片说明

    如果使用其他服务器没有 docker 可以看这篇文章:原来服务器这么有用-Docker 安装 - 青阳のblog-一个计算机爱好者的个人博客 (hipyt.cn)

    购买并配置 Lighthouse 服务器 Lighthouse 是腾讯云推出的一款轻量应用服务器产品,它提供了高性价比、高可用性、高安全性和高灵活性的云端计算服务。具体信息参阅官方文档: https://cloud.tencent.com/document/product/1207/44361

    为了部署 Kubernetes 集群,我们需要至少 2 台轻量应用服务器,并配置好相关的环境和依赖。购买步骤参见官方文档: https://cloud.tencent.com/document/product/1207/56823 ,操作系统选 Debian 或 Ubuntu 最新版本。

    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 集群面板的搭建及简单使用教程,希望可以帮助到大家,更多精彩内容请关注我的博客

    5 条回复    2023-10-21 14:35:18 +08:00
    PluginsWorld
        1
    PluginsWorld  
    &nbs;  2023-10-15 20:19:07 +08:00
    感觉这个没有 kubernates-dashboard 方便。我也是在他文章的帮助下,成功获得了我想要的效果。

    你可以对比看看,我简单的截了几个图: https://discuss.plugins-world.cn/comment/kEc9G9yf
    locoz
        2
    locoz  
       2023-10-16 12:46:08 +08:00 via Android
    这 UI 也没多好看,不如直接用 Lens ,还省个部署面板的操作
    hancai
        3
    hancai  
       2023-10-17 18:34:56 +08:00
    运维还是喜欢命令行,之前用 K9S , 现在又换回 kubectl
    wcyl
        4
    wcyl  
       2023-10-21 14:23:03 +08:00
    @PluginsWorld #1 哥 你这个怎么能显示 cpu 和内存的呀
    我是 k3s, 已经有 metric 服务了
    kubernetes-dashboard 直接通过命令安装, 就是不知道怎么让面板读取已有的数据

    ```sh
    helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard
    helm install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard --version 6.0.8 -n kubernetes-dashboard --create-namespace
    ```
    wcyl
        5
    wcyl  
       2023-10-21 14:35:18 +08:00
    已经有了 这样就可以了 `metricsScraper.enabled=true`
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4135 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 10:16 PVG 18:16 LAX 02:16 JFK 05:16
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86