【Amazon】通过代理连接的方式导入 AWS EKS集群至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

:wq保存退出。

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 格式查看并编辑基本信息。编辑完成后,点击下一步

bash 复制代码
apiVersion: cluster.kubesphere.io/v1alpha1
kind: Cluster
spec:
  provider: Amazon EKS
  connection:
    type: proxy
    kubeconfig: ''
  joinFederation: true
metadata:
  name: xybeks-cluster
  annotations:
    kubesphere.io/alias-name: xybeks-cluster
    kubesphere.io/description: xybeks-cluster
  labels:
    cluster.kubesphere.io/group: demo

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

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

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

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

六、参考资料

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

相关推荐
Anna_Tong1 天前
腾讯云安全加速:应对网络攻击与访问延迟的现实挑战
安全·云计算·腾讯云·企业安全·ddos·云安全·数据保护
渲染101专业云渲染1 天前
渲染101对Blender的支持与硬件配置详解
3d·云计算·blender·maya·houdini
严文文-Chris1 天前
【奥卡姆剃刀原理-如何理解云计算和边缘计算 关键字摘取】
人工智能·云计算·边缘计算
HaoHao_0101 天前
腾讯云 轻量云对象存储
云计算·腾讯云·存储·轻量云·套餐
AskHarries2 天前
AWS S3 如何设置公开访问权限?
后端·aws
容器魔方2 天前
「挚文集团」正式加入 Karmada 用户组!携手社区共建多集群生态
云原生·容器·云计算
小狗很可爱2 天前
云计算相关
云计算
虚魍2 天前
高版本k8s文件无法识别镜像
linux·运维·容器·kubernetes·云计算
春生黎至10053 天前
云计算及其他计算
云计算
渲染101专业云渲染3 天前
渲染 101 平台 3ds Max 建筑动画渲染全攻略:费用与时间
3d·云计算·3dsmax·blender·maya·houdini