安装 Kubernetes 多集群管理工具-Kuboard v3
方式1、安装 Kuboard v3 - 内建用户库(实践中采用的此方式)部署计划在正式安装 kuboard v3 之前,需做好一个简单的部署计划的设计,在本例中,各组件之间的连接方式,如下图所示:假设用户通过 http://外网IP:10080 访问 Kuboard v3;安装在 Kubernetes 中的 Kuboard Agent 通过 内网IP 访问 Kuboard 的 Web 服务端口 1
方式1、安装 Kuboard v3 - 内建用户库(实践中采用的此方式)
部署计划
在正式安装 kuboard v3 之前,需做好一个简单的部署计划的设计,在本例中,各组件之间的连接方式,如下图所示:
假设用户通过 http://外网IP:10080 访问 Kuboard v3;
安装在 Kubernetes 中的 Kuboard Agent 通过 内网IP 访问 Kuboard 的 Web 服务端口 10080 和 Kuboard Agent Server 端口 10081。
安装 Kuboard 之前,假设:
您已经准备好了一个 Linux 服务器用于安装 Kuboard-V3,并且该机器上的 docker 版本不低于 19.03
用于安装 Kuboard v3.x 的机器已经安装了 docker,并且版本不低于 docker 19.03
您已经有自己的 Kubernetes 集群,并且版本不低于 Kubernetes v1.13
安装:
安装 Kuboard v3.x 版本的指令如下:
sudo docker run -d \
--restart=unless-stopped \
--name=kuboard \
-p 10080:80/tcp \
-p 10081:10081/udp \
-p 10081:10081/tcp \
-e KUBOARD_ENDPOINT="http://kuboard:10080" \
-e KUBOARD_AGENT_SERVER_UDP_PORT="10081" \
-e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
-v /root/kuboard-data:/data \
eipwork/kuboard:v3
# 也可以使用镜像 swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3 ,可以更快地完成镜像下载。
# 请不要使用 127.0.0.1 或者 localhost 作为内网 IP \
# Kuboard 不需要和 K8S 在同一个网段,Kuboard Agent 甚至可以通过代理访问 Kuboard Server \
WARNING
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 映射到宿主机的 10080 端口(您可以根据自己的情况选择宿主机的其他端口);
第 5、6 行,将 Kuboard Agent Server 的端口 10081/udp、10081/tcp 映射到宿主机的 10081 端口(您可以根据自己的情况选择宿主机的其他端口);
第 7 行,指定 KUBOARD_ENDPOINT 为 http://内网IP,如果后续修改此参数,需要将已导入的 Kubernetes 集群从 Kuboard 中删除,再重新导入;
第 8、9 行,指定 KUBOARD_AGENT_SERVER 的端口为 10081,此参数与第 5、6 行中的宿主机端口应保持一致,修改此参数不会改变容器内监听的端口 10081;
第 10 行,将持久化数据 /data 目录映射到宿主机的 /root/kuboard-data 路径,请根据您自己的情况调整宿主机路径
启动sh start-kuboard.sh出现以下警告(ipv4转发被关闭了,需要开启)
WARNING: IPv4 forwarding is disabled. Networking will not work.
配置/etc/sysctl.conf,添加net.ipv4.ip_forward=1
#重启服务,让配置生效
systemctl restart network
#查看是否成功,如果返回为“net.ipv4.ip_forward = 1”则表示成功
sysctl net.ipv4.ip_forward
再次启动sh start-kuboard.sh出现/kuboard容器已存在
docker: Error response from daemon: Conflict. The container name "/kuboard" is already in use by container "f5c92583afd41ea99b95e4977cb44b9bc46c8b6a7a3b0bf4ef2dc24edece37cb". You have to remove (or rename) that container to be able to reuse that name.
查看容器:docker ps
停止容器(kuboard):docker stop
删除容器(kuboard): docker rm
再次启动:sh start-kuboard.sh
访问 Kuboard v3.x
在浏览器输入 http://your-host-ip:10080 即可访问 Kuboard v3.x 的界面,登录方式:
用户名: admin
密 码: Kuboard123
浏览器兼容性
请使用 Chrome / FireFox / Safari 等浏览器
不兼容 IE 以及以 IE 为内核的浏览器
方式2、在 K8S 的master节点中安装 Kuboard v3
1)创建storageClassName
vi kuboard-pv-sc.yaml
# vi kuboard-pv-sc.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: data-kuboard1
spec:
storageClassName: data-kuboard
capacity:
storage: 5Gi
accessModes:
- ReadWriteMany
hostPath:
path: /data-kuboard1
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: data-kuboard2
spec:
storageClassName: data-kuboard
capacity:
storage: 5Gi
accessModes:
- ReadWriteMany
hostPath:
path: /data-kuboard2
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: data-kuboard3
spec:
storageClassName: data-kuboard
capacity:
storage: 5Gi
accessModes:
- ReadWriteMany
hostPath:
path: /data-kuboard3
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: data-kuboard
provisioner: fuseim.pri/ifs
2)获取部署 Kuboard 所需的 YAML 文件:
curl -o kuboard-v3.yaml https://addons.kuboard.cn/kuboard/kuboard-v3.yaml
编辑 kuboard-v3.yaml 文件中的配置,该部署文件中,有两处配置必须修改:
KUBOARD_ENDPOINT
---
apiVersion: v1
kind: ConfigMap
metadata:
name: kuboard-v3-config
namespace: kuboard
data:
# 关于如下参数的解释,请参考文档 https://kuboard.cn/install/v3/install-built-in.html
# [common]
KUBOARD_ENDPOINT: 'http://your-node-ip-address:30080'
KUBOARD_AGENT_SERVER_UDP_PORT: '30081'
KUBOARD_AGENT_SERVER_TCP_PORT: '30081'
storageClassName
volumeClaimTemplates:
- metadata:
name: data
spec:
# 请填写一个有效的 StorageClass name
storageClassName: data-kuboard
accessModes: [ "ReadWriteMany" ]
resources:
requests:
storage: 5Gi
3) 创建kuboard-v3
kubectl apply -f kuboard-pv-sc.yaml
kubectl apply -f kuboard-v3.yaml
登录kuboard后创建集群,输入名称和描述,其他默认
出现下方导入集群的信息:
curl -k 'http://kuboard:10080/kuboard-api/cluster/msp-k8s/kind/KubernetesCluster/msp-k8s/resource/installAgentToKubernetes?token=BpLnfgDsc2WD8F2qNfHK5a84jjJkwzDk' > kuboard-agent.yaml
kubectl apply -f ./kuboard-agent.yaml
在k8s集群的master节点上执行上面的命令,就可完成注册
更多推荐
所有评论(0)