【Amazon】通过直接连接的方式导入 KubeSphere集群至KubeSphere主容器平台

文章目录

一、设置主集群

如果已经安装了独立的 KubeSphere 集群,可以编辑集群配置,将 clusterRole 的值设置为 host

方式一:使用 Web 控制台

使用 admin 帐户登录控制台,然后进入集群管理 页面上的定制资源定义 ,输入关键字 ClusterConfiguration,然后转到其详情页面。编辑 ks-installer 的 YAML 文件。

方式二:使用 Kubectl命令

bash 复制代码
kubectl edit cc ks-installer -n kubesphere-system
yaml 复制代码
multicluster:
  clusterRole: host
  hostClusterName: kubesphere-master

PS:hostClusterName: kubesphere-master集群名称需要保持一致❗❗❗❗❗❗

bash 复制代码
[root@kubesphere-master ~]# kubectl edit cc ks-installer -n kubesphere-system
clusterconfiguration.installer.kubesphere.io/ks-installer edited

在 kubectl 中执行以下命令查看安装过程:

bash 复制代码
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

二、在主集群中设置代理服务地址

  • 执行以下命令来检查服务。
bash 复制代码
kubectl -n kubesphere-system get svc
bash\ 复制代码
[root@kubesphere-master ~]# kubectl -n kubesphere-system get svc
NAME                    TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
ks-apiserver            ClusterIP      10.233.57.31    <none>        80/TCP           126m
ks-console              NodePort       10.233.47.149   <none>        80:30880/TCP     126m
ks-controller-manager   ClusterIP      10.233.42.244   <none>        443/TCP          126m
minio                   ClusterIP      10.233.16.144   <none>        9000/TCP         78m
tower                   LoadBalancer   10.233.7.51     <pending>     8080:31899/TCP   4m10s

由于 EXTERNAL-IP 处于 pending 状态,需要手动设置代理地址。例如,如果公有 IP 地址为 139.198.120.120,则需要将公网 IP 的端口,如30721 转发到 NodeIP:NodePort

proxyPublishAddress 的值添加到 ks-installer 的配置文件中,并按如下所示输入公有 IP 地址(此处示例 139.198.120.120)和端口号。

方式一:使用 Web 控制台

使用 admin 帐户登录控制台,然后进入集群管理 页面上的定制资源定义 ,输入关键字 ClusterConfiguration,然后转到其详情页面。编辑 ks-installer 的 YAML 文件。

方式二:使用 Kubectl命令

bash 复制代码
[root@kubesphere-master ~]# kubectl -n kubesphere-system edit clusterconfiguration ks-installer
clusterconfiguration.installer.kubesphere.io/ks-installer edited

在 kubectl 中执行以下命令查看安装过程:

bash 复制代码
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

三、登录控制台验证

发现,此时该KubeSphere集群已成为主集群。


四、准备成员集群

为了通过主集群 管理成员集群,需要使它们之间的 jwtSecret 相同。因此,首先需要在主集群中执行以下命令来获取它。

bash 复制代码
kubectl -n kubesphere-system get cm kubesphere-config -o yaml | grep -v "apiVersion" | grep jwtSecret

命令输出结果如下所示:

bash 复制代码
jwtSecret: "93ObvPBzq1F1EEUZEydp6eJK8Cn0TqeZ"

如果已经安装了独立的 KubeSphere 集群,可以编辑集群配置,将 clusterRole 的值设置为 member

方式一:使用 Web 控制台

使用 admin 帐户登录控制台,然后进入集群管理 页面上的定制资源定义 ,输入关键字 ClusterConfiguration,然后转到其详情页面。编辑 ks-installer 的 YAML 文件。

方式二:使用 Kubectl命令

bash 复制代码
kubectl edit cc ks-installer -n kubesphere-system
  • ks-installer 的 YAML 文件中对应输入上面所示的 jwtSecret
yaml 复制代码
authentication:
  jwtSecret: 93ObvPBzq1F1EEUZEydp6eJK8Cn0TqeZ
  • 向下滚动并将 clusterRole 的值设置为 member,然后点击确定(如果使用 Web 控制台)使其生效:
yaml 复制代码
multicluster:
  clusterRole: member
bash 复制代码
# kubectl edit cc ks-installer -n kubesphere-system
clusterconfiguration.installer.kubesphere.io/ks-installer edited

在 kubectl 中执行以下命令查看安装过程:

bash 复制代码
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 来获取安装日志以验证状态。运行以下命令,稍等片刻,如果已准备就绪,您将看到成功的日志返回。

五、导入成员集群💯

admin 身份登录 KubeSphere 控制台,转到集群管理 页面点击添加集群

导入集群 页面,输入要导入的集群的基本信息。您也可以点击右上角的编辑模式 以 YAML 格式查看并编辑基本信息。编辑完成后,点击下一步

✨✨✨✨在连接方式 ,选择直接连接 Kubernetes 集群 ,复制 kubeconfig 内容并粘贴至文本框。也可以点击右上角的编辑模式以 YAML 格式编辑的 kubeconfig。🎉🎉🎉

将server的值由https://lb.kubesphere.local:6443,变更为https://172.31.38.35:6443(PS:获取 Kubeconfig

点击创建,然后等待集群初始化完成。

六、参考资料

🟢 https://kubesphere.io/zh/docs/v3.4/multicluster-management/enable-multicluster/retrieve-kubeconfig/

🔴 https://www.kubesphere.io/zh/docs/v3.3/multicluster-management/enable-multicluster/direct-connection/

相关推荐
春天花会开13113 小时前
Supabase 自部署 Edge Functions 超时从 60s 延长到 360s 完整复盘
运维·云原生
ysu_031421 小时前
【2026】K8s GPU调度空占怎么解?Kueue与Volcano Gang配置
云原生·kubernetes·gpu算力·volcano·ai基础设施·kueue·gang scheduling
天天喝旺仔2 天前
分布式服务容错实战:用 Sentinel 实现限流、熔断与降级
分布式·微服务·云原生·sentinel
逐流人2 天前
Containerd容器管理实战:从架构原理到nerdctlcrictl工具链
linux·运维·云原生·容器·云计算·containerd
运维开发王义杰3 天前
跨项目直连数据库:是架构反模式,还是现实的工程妥协?
云原生
宋均浩3 天前
告警规则 243 砍到 27:Prometheus 降噪实战,日均打扰 47 次 → 3 次
云原生·监控·devops
运维老郭3 天前
别再让 Liveness Probe 背锅了:initialDelaySeconds 和 failureThreshold 的坑,一次讲透
云原生
容器魔方3 天前
基于 KubeEdge 为云边协同 AI 流数据分析提供基础设施
大数据·云原生·容器·开源·边缘计算
weixin_435247063 天前
微服务开发规范模版
微服务·云原生
rustfs3 天前
MinIO 国产开源平替正式 GA
分布式·docker·云原生·rust