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

本文主要是介绍【Amazon】通过代理连接的方式导入 AWS EKS集群至KubeSphere主容器平台,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 一、设置主集群
      • 方式一:使用 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: hosthostClusterName: 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

image-20231119171531609

  • 向下滚动并将 clusterRole 的值设置为 member,然后点击确定(如果使用 Web 控制台)使其生效:
multicluster:clusterRole: member

image-20231119171629320

:wq保存退出。

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-20231119172347434

五、导入成员集群

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

image-20231119185809600

image-20231119173128244

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

apiVersion: cluster.kubesphere.io/v1alpha1
kind: Cluster
spec:provider: Amazon EKSconnection:type: proxykubeconfig: ''joinFederation: true
metadata:name: xybeks-clusterannotations:kubesphere.io/alias-name: xybeks-clusterkubesphere.io/description: xybeks-clusterlabels:cluster.kubesphere.io/group: demo

image-20231119173207875

连接方式,选择集群连接代理,然后点击创建。主集群为代理部署 (Deployment) 生成的 YAML 配置文件会显示在控制台上。

image-20231119173243885

根据指示在成员集群中创建一个 agent.yaml 文件,然后将代理部署复制并粘贴到该文件中。在该节点上执行 kubectl create -f agent.yaml 然后等待代理启动并运行。请确保成员集群可以访问代理地址。

image-20231119173309555

[root@awseksec2 ~]# vim agent.yaml
[root@awseksec2 ~]# kubectl create -f agent.yaml
deployment.apps/cluster-agent created

待集群代理启动并运行,会看到成员集群已经导入主集群。

image-20231119185645749

image-20231120185743675

image-20231120185753079

image-20231120185759301

image-20231120185804733

六、参考资料

🕹️ 导入 AWS EKS 集群 (kubesphere.io)

这篇关于【Amazon】通过代理连接的方式导入 AWS EKS集群至KubeSphere主容器平台的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/428435

相关文章

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

Debezium 与 Apache Kafka 的集成方式步骤详解

《Debezium与ApacheKafka的集成方式步骤详解》本文详细介绍了如何将Debezium与ApacheKafka集成,包括集成概述、步骤、注意事项等,通过KafkaConnect,D... 目录一、集成概述二、集成步骤1. 准备 Kafka 环境2. 配置 Kafka Connect3. 安装 D

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

Android里面的Service种类以及启动方式

《Android里面的Service种类以及启动方式》Android中的Service分为前台服务和后台服务,前台服务需要亮身份牌并显示通知,后台服务则有启动方式选择,包括startService和b... 目录一句话总结:一、Service 的两种类型:1. 前台服务(必须亮身份牌)2. 后台服务(偷偷干

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

JS 实现复制到剪贴板的几种方式小结

《JS实现复制到剪贴板的几种方式小结》本文主要介绍了JS实现复制到剪贴板的几种方式小结,包括ClipboardAPI和document.execCommand这两种方法,具有一定的参考价值,感兴趣的... 目录一、Clipboard API相关属性方法二、document.execCommand优点:缺点:

Python创建Excel的4种方式小结

《Python创建Excel的4种方式小结》这篇文章主要为大家详细介绍了Python中创建Excel的4种常见方式,文中的示例代码简洁易懂,具有一定的参考价值,感兴趣的小伙伴可以学习一下... 目录库的安装代码1——pandas代码2——openpyxl代码3——xlsxwriterwww.cppcns.c