赞
踩
测试kubesphere多集群管理功能,至少需要两套kubesphere集群环境。
执行以下命令,集群的节点都需要执行。
yum install socat
yum install conntrack
yum install ebtables
yum install ipset
export KKZONE=cn
这里我先下载好安装工具,在部署操作系统上进行解压,解压出来就具有了 kk 命令。如果没有执行权限,执行如下命令。
chmod 755 kk
建议安装的时候将配置文件保留下来,后续集群升级可能会编辑配置文件。
使用如下的命令,先生成集群配置文件。
./kk create config --with-kubesphere v3.3.2 --with-kubernetes v1.22.12 -f config-kubesphere.yaml
按照需求修改配置文件即可,如果只需要安装最简易的集群,只需要配置hosts和roleGroups部分即可。
spec:
hosts:
- {name: master, address: 192.168.0.2, internalAddress: 192.168.0.2, user: ubuntu, password: Testing123}
- {name: node1, address: 192.168.0.3, internalAddress: 192.168.0.3, user: ubuntu, password: Testing123}
- {name: node2, address: 192.168.0.4, internalAddress: 192.168.0.4, user: ubuntu, password: Testing123}
roleGroups:
etcd:
- master
control-plane:
- master
worker:
- node1
- node2
controlPlaneEndpoint:
domain: lb.kubesphere.local
address: ""
port: 6443
./kk create cluster -f config-kubesphere.yaml
整个安装过程可能需要 10 到 20 分钟,具体取决于您的计算机和网络环境。
安装过程中,可以通过一下命令查看安装的进度日志
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f
安装完成后,您会看到如下内容:
#####################################################
### Welcome to KubeSphere! ###
#####################################################
Console: http://192.168.0.2:30880
Account: admin
Password: P@88w0rd
NOTES:
1. After you log into the console, please check the
monitoring status of service components in
the "Cluster Management". If any service is not
ready, please wait patiently until all components
are up and running.
2. Please change the default password after login.
#####################################################
https://kubesphere.io 20xx-xx-xx xx:xx:xx
#####################################################
现在,您可以通过 <NodeIP:30880 使用默认帐户和密码 (admin/P@88w0rd) 访问 KubeSphere 的 Web 控制台。
这个需要在管理集群中进行操作。
如图所示,将Tower服务的端口进行nodeport映射,映射出的端口下文中会用到。
使用 admin 帐户登录控制台,然后进入集群管理页面上的 “定制资源定义” 菜单,输入关键字 ClusterConfiguration,然后转到其详情页面。
编辑 ks-installer 的 YAML 文件,将 clusterRole 的值设置为 host,proxyPublishAddress配置成 http://< IP>:31989。
multicluster:
clusterRole: host
proxyPublishAddress: 'http://192.168.54.55:31989'
点击确定即可,这里需要点时间,可以通过以下命令查看集群更新的进度日志。
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f
集群更新完毕,重新登录就会发现,页面中就有了集群管理的功能菜单
kubectl -n kubesphere-system get cm kubesphere-config -o yaml | grep -v "apiVersion" | grep jwtSecret
使用 admin 帐户登录控制台,然后进入集群管理页面上的 “定制资源定义” 功能菜单,输入关键字 ClusterConfiguration,然后转到其详情页面。编辑 ks-installer 的 YAML 文件, 设置jwtSecret,并且将 clusterRole 的值设置为member。
spec:
alerting:
enabled: false
auditing:
enabled: false
authentication:
jwtSecret: UC8rmYlHpDn4dhIMf9c1T2lxguv58zlt
........
........ //此处略去一万字
........
multicluster:
clusterRole: member
以 admin 身份登录 KubeSphere 主集群控制台,转到集群管理页面点击添加集群。
在导入集群页面输入要导入的集群的基本信息。您也可以点击右上角的编辑模式以 YAML 格式查看并编辑基本信息。编辑完成后,点击下一步。
在连接方式,选择集群连接代理,然后点击创建。主集群为代理部署 (Deployment) 生成的 YAML 配置文件会显示在控制台上。
根据指示在成员集群中创建一个 agent.yaml 文件,然后将代理部署复制并粘贴到该文件中。在该节点上执行 kubectl create -f agent.yaml 然后等待代理启动并运行。请确保成员集群可以访问代理地址。
填写集群名称,标签和提供商可以不填。选择 “集群连接代理” 。
看到这个页面,按照页面提示,在即将加入的集群中执行以上操作,稍作等待(我测试不到1分钟时间),集群即可加入成功,刷新主集群页面,即可看到已经加入的集群。
执行到这一步,多集群测试就已经验证,在后续企业工作空间创建中,可以使用多集群进行创建,工作负载的创建也可以是在多集群环境下构建,如果多集群环境下构建,相当于一个工作负载,会在多集群环境中进行分别创建。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。