【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/

相关推荐
tangdou3690986552 小时前
1分钟搞懂K8S中的NodeSelector
云原生·容器·kubernetes
Lansonli3 小时前
云原生(四十一) | 阿里云ECS服务器介绍
服务器·阿里云·云原生
Dylanioucn4 小时前
【分布式微服务云原生】掌握分布式缓存:Redis与Memcached的深入解析与实战指南
分布式·缓存·云原生
later_rql5 小时前
k8s-集群部署1
云原生·容器·kubernetes
大G哥10 小时前
记一次K8S 环境应用nginx stable-alpine 解析内部域名失败排查思路
运维·nginx·云原生·容器·kubernetes
feng_xiaoshi10 小时前
【云原生】云原生架构的反模式
云原生·架构
sealaugh3211 小时前
aws(学习笔记第一课) AWS CLI,创建ec2 server以及drawio进行aws画图
笔记·学习·aws
程序那点事儿12 小时前
k8s 之动态创建pv失败(踩坑)
云原生·容器·kubernetes
叶北辰CHINA13 小时前
nginx反向代理,负载均衡,HTTP配置简述(说人话)
linux·运维·nginx·http·云原生·https·负载均衡
冰万森15 小时前
亚马逊AI编程工具Amazon Q 和 Amazon CodeWhisperer使用教程
云计算·aws