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