前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >KubeSphere管理多tke集群

KubeSphere管理多tke集群

原创
作者头像
聂伟星
发布2021-08-08 23:32:23
1K0
发布2021-08-08 23:32:23
举报

KubeSphere是在 Kubernetes 之上构建的开源的企业级容器平台,提供简单易用的操作界面以及向导式操作方式,在降低用户使用容器调度平台学习成本的同时,极大减轻开发、测试、运维的日常工作的复杂度,旨在解决 Kubernetes 本身存在的存储、网络、安全和易用性等痛点。除此之外,平台已经整合并优化了多个适用于容器场景的功能模块,以完整的解决方案帮助企业轻松应对敏捷开发与自动化运维、微服务治理、多租户管理、工作负载和集群管理、服务与网络管理、应用编排与管理、镜像仓库管理和存储管理等业务场景。

如今,各种组织跨不同的云厂商或者在不同的基础设施上运行和管理多个 Kubernetes 集群的做法非常普遍。由于每个 Kubernetes 集群都是一个相对独立的单元,上游社区正在艰难地研究和开发多集群管理解决方案。即便如此,Kubernetes 集群联邦(Kubernetes Cluster Federation,简称KubeFed)可能是其中一种可行的方法。

KubeSphere的多集群管理架构如下,只能有一个 H 集群存在,而多个 M 集群可以同时存在。在多集群架构中,H 集群和 M 集群之间的网络可以直接连接,或者通过代理连接。M 集群之间的网络可以设置在完全隔离的环境中。

Kubernetes 联邦
Kubernetes 联邦

下面我们来实践下KubeSphere来管理多个tke集群。

1. 部署文件准备

代码语言:javascript
复制
wget https://github.com/kubesphere/ks-installer/releases/download/v3.1.1/kubesphere-installer.yaml
wget https://github.com/kubesphere/ks-installer/releases/download/v3.1.1/cluster-configuration.yaml
wget https://raw.githubusercontent.com/kubesphere/ks-installer/release-3.1/scripts/kubesphere-delete.sh

上面文件分别为KubeSphere的部署yaml,KubeSphere在不同集群配置yaml和卸载KubeSphere的脚本

2. 部署KubeSphere到Host集群

选择一个tke集群作为host集群部署KubeSphere,安装kubesphere-installer

代码语言:javascript
复制
kubectl apply -f kubesphere-installer.yaml
   
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f

可以用上面日志查看kubesphere-installer安装日志,如果日志打印如下信息,则说明安装成功

接下来,我们修改cluster-configuration.yaml的配置,设置集群角色,yaml中将clusterrole设置为host

代码语言:javascript
复制
multicluster:
  clusterRole: host

修改后保存,然后直接创建ClusterConfiguration这个配置

代码语言:javascript
复制
kubectl apply -f cluster-configuration.yaml

如果需要修改已有集群的角色类型,用命令修改角色配置

代码语言:javascript
复制
kubectl edit cc ks-installer -n kubesphere-system

通过Host 集群管理 Member 集群,您需要使它们之间的jwtSecret相同。因此,您首先需要在Host 集群中执行以下命令来获取它,后面再配置member集群需要用到。

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

会输出如下结果

代码语言:javascript
复制
    jwtSecret: "rxvJvRxRU1dTtBtBdgcimQR0oMojqyh9"

3. 部署KubeSphere到member集群

选择tke集群作为member集群部署KubeSphere,安装kubesphere-installer,安装kubesphere-installer的步骤和在host集群部署一样,这里就不重复了。参考host集群部署KubeSphere即可。

下面我们需要修改下member集群的cluster-configuration.yaml,将jwtSecret所对应的值填写为我们在host中获取的,并将clusterRole的值修改为member。

代码语言:javascript
复制
authentication:
  jwtSecret: rxvJvRxRU1dTtBtBdgcimQR0oMojqyh9

multicluster:
  clusterRole: member

然后直接创建ClusterConfiguration这个配置

代码语言:javascript
复制
kubectl apply -f cluster-configuration.yaml

查看安装日志,出现了KubeSphere的登录信息,则说明安装成功

4. KubeSphere控制台添加member集群

我们登录host集群的KubeSphere控制台,根据日志提供的登录账号密码登录,会显示有一个默认的host集群

点击添加集群,并填写集群的相关信息

配置集群的kubeconfig文件,点击创建,显示了集群相关信息说明关联成功。

后续如果还有其他集群需要通过KubeSphere来进行管理,只需重复第三和第四步即可。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 部署文件准备
  • 2. 部署KubeSphere到Host集群
  • 3. 部署KubeSphere到member集群
  • 4. KubeSphere控制台添加member集群
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com