kubesphere多集群管理,实现kubernetes多集群同时应用部署

2023-11-14


测试kubesphere多集群管理功能,至少需要两套kubesphere集群环境。

一、kubesphere集群部署

1、准备环境

执行以下命令,集群的节点都需要执行。

yum install socat
yum install conntrack
yum install ebtables
yum install ipset
export KKZONE=cn

2、下载kubesphere安装工具KubeKey

这里我先下载好安装工具,在部署操作系统上进行解压,解压出来就具有了 kk 命令。如果没有执行权限,执行如下命令。

chmod 755 kk

在这里插入图片描述

3、准备集群部署配置文件

建议安装的时候将配置文件保留下来,后续集群升级可能会编辑配置文件。

使用如下的命令,先生成集群配置文件。

./kk create config --with-kubesphere v3.3.2 --with-kubernetes v1.22.12 -f config-kubesphere.yaml

按照需求修改配置文件即可,如果只需要安装最简易的集群,只需要配置hosts和roleGroups部分即可。


spec:
  hosts:
  - {name: master, address: 192.168.0.2, internalAddress: 192.168.0.2, user: ubuntu, password: Testing123}
  - {name: node1, address: 192.168.0.3, internalAddress: 192.168.0.3, user: ubuntu, password: Testing123}
  - {name: node2, address: 192.168.0.4, internalAddress: 192.168.0.4, user: ubuntu, password: Testing123}
  roleGroups:
    etcd:
    - master
    control-plane:
    - master
    worker:
    - node1
    - node2
  controlPlaneEndpoint:
    domain: lb.kubesphere.local
    address: ""
    port: 6443

4、安装集群

./kk create cluster -f config-kubesphere.yaml

整个安装过程可能需要 10 到 20 分钟,具体取决于您的计算机和网络环境。
安装过程中,可以通过一下命令查看安装的进度日志

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

5、验证安装

安装完成后,您会看到如下内容:

#####################################################
###              Welcome to KubeSphere!           ###
#####################################################

Console: http://192.168.0.2:30880
Account: admin
Password: P@88w0rd

NOTES:
  1. After you log into the console, please check the
     monitoring status of service components in
     the "Cluster Management". If any service is not
     ready, please wait patiently until all components
     are up and running.
  2. Please change the default password after login.

#####################################################
https://kubesphere.io             20xx-xx-xx xx:xx:xx
#####################################################

现在,您可以通过 <NodeIP:30880 使用默认帐户和密码 (admin/P@88w0rd) 访问 KubeSphere 的 Web 控制台。

二、配置多集群

1、打开集群tower服务的nodeport端口

这个需要在管理集群中进行操作。

在这里插入图片描述
如图所示,将Tower服务的端口进行nodeport映射,映射出的端口下文中会用到。

2、修改主集群(管理用)

使用 admin 帐户登录控制台,然后进入集群管理页面上的 “定制资源定义” 菜单,输入关键字 ClusterConfiguration,然后转到其详情页面。
在这里插入图片描述
编辑 ks-installer 的 YAML 文件,将 clusterRole 的值设置为 host,proxyPublishAddress配置成 http://< IP>:31989。

  multicluster:
    clusterRole: host
    proxyPublishAddress: 'http://192.168.54.55:31989'

点击确定即可,这里需要点时间,可以通过以下命令查看集群更新的进度日志。

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

集群更新完毕,重新登录就会发现,页面中就有了集群管理的功能菜单
在这里插入图片描述

3、获取控制集群的jwtSecret

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

在这里插入图片描述

4、配置即将加入的集群

使用 admin 帐户登录控制台,然后进入集群管理页面上的 “定制资源定义” 功能菜单,输入关键字 ClusterConfiguration,然后转到其详情页面。编辑 ks-installer 的 YAML 文件, 设置jwtSecret,并且将 clusterRole 的值设置为member。

spec:
  alerting:
    enabled: false
  auditing:
    enabled: false
  authentication:
    jwtSecret: UC8rmYlHpDn4dhIMf9c1T2lxguv58zlt
 ........
 ........  //此处略去一万字
 ........
  multicluster:
    clusterRole: member

三、导入集群

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

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

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

根据指示在成员集群中创建一个 agent.yaml 文件,然后将代理部署复制并粘贴到该文件中。在该节点上执行 kubectl create -f agent.yaml 然后等待代理启动并运行。请确保成员集群可以访问代理地址。
在这里插入图片描述
填写集群名称,标签和提供商可以不填。选择 “集群连接代理” 。
在这里插入图片描述
看到这个页面,按照页面提示,在即将加入的集群中执行以上操作,稍作等待(我测试不到1分钟时间),集群即可加入成功,刷新主集群页面,即可看到已经加入的集群。

在这里插入图片描述

总结

  执行到这一步,多集群测试就已经验证,在后续企业工作空间创建中,可以使用多集群进行创建,工作负载的创建也可以是在多集群环境下构建,如果多集群环境下构建,相当于一个工作负载,会在多集群环境中进行分别创建。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kubesphere多集群管理,实现kubernetes多集群同时应用部署 的相关文章

随机推荐

  • 后缀表达式

    include
  • IKD树:激光雷达SLAM中高效的点云数据结构与编程

    IKD树 激光雷达SLAM中高效的点云数据结构与编程 激光雷达同步定位与地图构建 Simultaneous Localization and Mapping SLAM 在机器人领域具有广泛的应用 在实际应用中 激光雷达获取的点云数据往往十分
  • 动态规划:什么是动态规划?

    一 什么是动态规划 动态规划 Dynamic Programming 简称Dp 是一种算法思想 将原 大 问题化解成子问题 再根据子问题的解得出原问题的解 1 1 什么是最优子结构和重复子问题 1 2 什么是状态转移方程 跟最优子结构的关系
  • FinOps 应用入门指南

    入门指南介绍 什么是 FinOps FinOps 是一种云成本管理和优化的解决方案 并为组织 企业 团队提供了系统化的方法论 其中每个人都应该对自己的云资源成本负责 FinOps 是 Finance 和 DevOps 的合成词 强调业务团队
  • EISeg标注环境配置以及使用方式

    一 背景 EISeg官方网站github官网 二 搭建环境 1 创建并激活虚拟环境 conda create n eiseg python 3 8 conda activate eiseg 设置清华源 下载会更快 pip config se
  • 销售订单创建BAPI

    READ TABLE IT OUTPUT INTO WA OUTPUT WITH KEY SEL X IF SY SUBRC NE 0 MESSAGE E000 CL WITH 请选择需要创建的数据 ENDIF gt 表头 DATA GS
  • Mybatis中实现批量更新的几种方式

    一 概述 mybatis中实现批量插入是很简单的 相比大家都知道 这里就不赘述 本文主要讲述如何实现批量更新 下面介绍本文要讲的几种方式主要是在xml中实现 不包含需要改动代码逻辑的方法 这里 除了网上说的普通情况 还有适合mysql和or
  • Windows系统MySQL5.7.26 版本的下载,安装、卸载

    MySQL5 7版本的下载 安装 使用 下载 Mysql基本参数配置 初始化 安装 下载 官网地址 https dev mysql com downloads mysql 下载到相应目录 这里我放在C data bank 下载到此目录里后
  • 工业相机与镜头选型方法(含实例)

    一 相机介绍及选型方法 1 工业相机介绍 工业相机与我们手机上面的相机或者我们单反相机不同 工业相机它能够使用各种恶劣的工作环境 比如说高温 高压 高尘等 工业相机主要有面阵相机和线阵相机 线阵相机主要用于检测精度要求很高 运动速度很快的场
  • Python中的groupby分组

    写在前面 之前我对于groupby一直都小看了 而且感觉理解得不彻底 虽然在另外一篇文章中也提到groupby的用法 但是这篇文章想着重地分析一下 并能从自己的角度分析一下groupby这个好东西 OUTLINE 根据表本身的某一列或多列内
  • jq中的css样式如何写,jq怎么写css样式

    方法如下 一般要在页面初始化的时候就要加载样式 所以使用ready 方法 语法格式为 document ready function 当DOM已经加载 并且页面 包括图像 已经完全呈现时 会发生ready事件 本教程操作环境 windows
  • centos7 安装frp内网穿透

    一 安装服务端 找一台云服务器 下载frp wget https github com fatedier frp releases download v0 35 1 frp 0 35 1 linux amd64 tar gz 解压 tar
  • 医学图像识别:基于cnn的病变细胞识别 完整代码数据 视频讲解

    项目代码讲解请看视频 医学图像识别 基于cnn的病变细胞识别 哔哩哔哩 bilibili 结果 from keras preprocessing image import ImageDataGenerator load img img to
  • RBAC简介(*)

    一 RBAC是什么 1 RBAC模型概述 RBAC是Role Based Access Control的英文缩写 意思是 基于角色的访问控制 RBAC实际上就是针对产品去挖掘需求时所用到的Who 角色 What 拥有什么资源 How 有哪些
  • PYQT制作动态时钟

    所有代码 import sys from PyQt5 QtCore import Qt QTimer QRect from PyQt5 QtGui import QPixmap QTransform QPainter QImage from
  • android沉浸式状态栏以及状态栏颜色更改

    版本要求 沉浸式状态栏效果是在android 4 4的时候出现的 所以只有Android4 4及以后的版本才能使用沉浸式效果 实现方式 大体上可以分为两种思路 1 修改状态栏的颜色使之与标题栏的背景色保持一致 以达到沉浸式效果 2 修改状态
  • MongoDB 数据库创建删除、表(集合)创建删除、数据增删改查

    数据库使用 开启 mongodb 服务 要管理数据库 必须先开启服务 开启服务使用 mongod dbpath D mongodb 管理 mongodb 数据库 mongo 一定要在新的 cmd 中输入 清屏 cls 查看所有数据库列表 s
  • Java—面向对象——作用域

    一 基本使用 1 在java编程中 主要的变量就是属性 成员变量 和局部变量 2 局部变量一般是指在成员方法中定义的变量 3 java中作用域的分类 全局变量 也就是属性 作用域为整个类体 局部变量 也就是除了属性之外的其他变量 作用域为定
  • ES 搜索21 (function_score查询 关键字 functions 和 weight 滤集提升权重分)

    过滤集提升权重 回到 忽略 TF IDF 里处理过的问题 我们希望根据每个度假屋的特性数量来评分 当时我们希望能用缓存的过滤器来影响评分 现在 function score 查询正好可以完成这件事情 到目前为止 我们展现的都是为所有文档应用
  • kubesphere多集群管理,实现kubernetes多集群同时应用部署

    文章目录 一 kubesphere集群部署 1 准备环境 2 下载kubesphere安装工具KubeKey 3 准备集群部署配置文件 4 安装集群 5 验证安装 二 配置多集群 1 打开集群tower服务的nodeport端口 2 修改主