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

news/2024/7/4 8:10:05 标签: aws, 云原生

文章目录

    • 一、设置主集群
      • 方式一:使用 Web 控制台
      • 方式二:使用 Kubectl命令
    • 二、在主集群中设置代理服务地址
      • 方式一:使用 Web 控制台
      • 方式二:使用 Kubectl命令
    • 三、登录控制台验证
    • 四、准备成员集群
      • 方式一:使用 Web 控制台
      • 方式二:使用 Kubectl命令
    • 五、导入成员集群💯
    • 六、参考资料

一、设置主集群

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

方式一:使用 Web 控制台

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

方式二:使用 Kubectl命令

kubectl edit cc ks-installer -n kubesphere-system
multicluster:
  clusterRole: host
  hostClusterName: kubesphere-master

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

image-20231119153826619

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

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

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

image-20231119154415222

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

  • 执行以下命令来检查服务。
kubectl -n kubesphere-system get svc
[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命令

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

image-20231119155123193

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

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

image-20231119155454280

三、登录控制台验证

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

image-20231119160046235
image-20231119160114657

四、准备成员集群

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

kubectl -n kubesphere-system get cm kubesphere-config -o yaml | grep -v "apiVersion" | grep jwtSecret

命令输出结果如下所示:

jwtSecret: "93ObvPBzq1F1EEUZEydp6eJK8Cn0TqeZ"

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

方式一:使用 Web 控制台

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

方式二:使用 Kubectl命令

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

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

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

image-20231119203422470

五、导入成员集群💯

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

image-20231119203706266

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

image-20231119203822785

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

image-20231119205543989

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

image-20231119205320602

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

image-20231119204853405

image-20231119205005401

六、参考资料

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


http://www.niftyadmin.cn/n/5217144.html

相关文章

3-Python与设计模式--简单工厂模式

2-Python与设计模式–简单工厂模式 一、快餐点餐系统 想必大家一定见过类似于麦当劳自助点餐台一类的点餐系统吧。在一个大的触摸显示屏上&#xff0c; 有三类可以选择的上餐品&#xff1a; 汉堡等主餐、小食、饮料。当我们选择好自己需要的食物&#xff0c;支付完成后&#…

LeetCode17.电话号码的字母组合

写这题的时候没有啥DFS思路&#xff0c;感觉还是DFS没刷明白&#xff0c;还需要多提高 参考链接&#xff1a; 【还得用回溯算法&#xff01;| LeetCode&#xff1a;17.电话号码的字母组合-哔哩哔哩】 https://b23.tv/oTuy71C class Solution {public List<String> lette…

和鲸ModelWhale平台与海光人工智能加速卡系列完成适配认证,夯实 AI 应用核心底座

AIGC 浪潮席卷&#xff0c;以大模型为代表的人工智能发展呈现出技术创新快、应用渗透强、国际竞争激烈等特点。创新为本&#xff0c;落地为王&#xff0c;技术的快速发展与大规模训练需求的背后&#xff0c;是对平台化基础设施与 AI 算力的更高要求。在此全球 AI 产业竞争的风口…

让代码变美的第三天 - 简单工厂模式

丑陋的模样 public void sendApple() {Apple apple new Apple();// 洗苹果 切苹果apple.wash();apple.cut();// 使用苹果&#xff1a;苹果送人sendPeople(apple);}public void eatApple() {Apple apple new Apple();// 洗苹果 切苹果apple.wash();apple.cut();// 使用苹果&…

业务流程图是什么,怎么画?

业务流程图是一种展示企业内部流程和工作流程的图表&#xff0c;通常以图表的形式呈现。业务流程图用图像化的方式展示组织内部的各种活动&#xff0c;每个操作环节被展示为流程图的一个框&#xff0c;一般包括输入/输出、任务和活动等元素。 业务流程图的使用场景 业务流程…

点击url如何唤起nativescript应用程序?

1、低于ios 9.0的版本 可以使用 nativescript-urlhandler&#xff0c;通过在app.component.ts中添加handleOpenURL来实现。 2、高于ios 9.0的版本 可以使用 nativescript-community/universal-links来实现 https://github.com/nativescript-community/universal-links 安装&a…

PTA-6-47 购买汽车-代理模式

题目&#xff1a; 所谓代理模式&#xff0c;是指客户端(Client)并不直接调用实际的对象&#xff0c;而是通过调用代理(Proxy)&#xff0c;来间接的调用实际的对象。 已知有如下Buy_car接口&#xff0c;请编写其客户端子类People类为委托类&#xff0c;以及代理类ProxySale类&am…

C++ String 字符串系列转换

// 宽字符转UTF8 ,处理字符乱码 std::string EncodeUtf8(std::wstring in) { std::string s(in.length() * 3 1, ); size_t len ::WideCharToMultiByte(CP_UTF8, 0, in.c_str(), in.length(), &s[0], s.length(), NULL, NULL); s.resize(len); return s; } /…