kubernetes 多集群管理和联邦集群将是下一波运维浪潮

在这里插入图片描述

问题

调研一下国内外K8s平台软件,哪个具有创建标准的K8s集群的功能?

背景

随着云原生技术在越来越多的企业和组织中的大规模落地,如何高效、可靠地管理大规模资源池以应对不断增长的业务挑战成为了当下云原生技术的关键挑战。在过去的很长一段时间内,不同厂商尝试通过定制Kubernetes原生组件的方式扩展单集群的规模,这在提高规模的同时也引入了复杂的单集群运维、不清晰的集群升级路径等问题。而多集群技术能在不侵入修改Kubernetes单集群的基础上横向扩展资源池的规模,在扩展资源池的同时降低了企业的运维管理等成本。

对比

工具名称公司开源创建 k8s注册 k8s管理 k8s
VMwareTKGm (tanzu)yesyesyesyes
redhatopenshift & acmyesyesyesyes
Suserancheryesyesyesyes
青云科技KubeSphereyesyesyesyes
飞致云kubeoperateyesyesyesyes
华为Karmadayesnoyesyes
亚马逊Amazon Elastic Kubernetes Service (EKS)NOyesyesyes
微软Azure Kubernetes Service (AKS)NOyesyesyes
谷歌Google Kubernetes Engine (GKE)NOyesyesyes
腾讯Tencent Kubernetes Engine(TKE)NOyesyesyes
阿里分布式云容器平台ACK OneNOyesyesyes
华为Ubiquitous Cloud Native Service(UCS)NOyesyesyes

多集群和联邦集群

多集群和联邦集群是两种不同的架构模式,用于管理和操作多个 Kubernetes 集群。它们有以下区别:

架构设计:多集群(Multi-Cluster)是一种分布式架构,其中每个 Kubernetes 集群是独立的实体,具有自己的控制平面和工作节点。每个集群拥有自己的 API 服务器、调度器和控制器。而联邦集群(Federation)是一种集中式架构,它在多个 Kubernetes 集群之上提供了一个统一的控制平面,称为联邦控制平面(Federation Control Plane),用于集中管理和协调多个集群。

集群自治性:在多集群架构中,每个集群是自治的,它们可以独立管理和操作自己的资源和工作负载。集群之间的通信和资源共享需要通过定义跨集群的网络和策略来实现。而在联邦集群中,联邦控制平面具有全局视图和控制权,它可以协调多个集群之间的资源和工作负载,实现全局的调度和资源管理。

跨集群通信:在多集群架构中,集群之间的通信是通过网络连接和网络策略来实现的。集群之间可以通过网络隧道、虚拟专用网络(VPN)或其他连接方式进行通信。而在联邦集群中,联邦控制平面负责管理集群之间的通信和数据同步,并提供透明的跨集群服务发现和路由。

部署和管理复杂性:多集群架构相对较为简单,每个集群都是独立的实体,可以独立进行部署、管理和升级。但是,多集群架构需要额外的管理工作,例如跨集群配置同步和策略管理。而联邦集群架构提供了更高级别的抽象和集中化管理,减少了管理复杂性,但也需要额外的联邦控制平面来维护和操作。

总的来说,多集群适用于需要独立管理和操作多个 Kubernetes 集群的场景,而联邦集群适用于需要集中管理和协调多个集群的场景,具有更高级别的抽象和集中化控制。选择合适的架构取决于你的具体需求和环境

方法

本次调研以具备创建标准的 kubernetes 集群为前提,探究国内外关于kubernetes多集群管理平台的治理能力。并根据平台的发布时间、工具成熟度、迭代频率、以参与度等作为评估参考,选出适合客户企业多kubernetes集群管理的解决方案。

关于 Kubernetes 多集群操作包括如下:

  • 跨不同环境(数据中心;私有云、混合云和公共云;以及边缘)创建、更新和删除 Kubernetes 集群
  • 更新控制平面和计算节点
  • 跨混合环境管理应用程序生命周期
  • 扩展、保护和升级集群(甚至可能独立于提供商)
  • 维护和更新多个节点
  • 搜索、查找和修改任何 Kubernetes 资源
  • 在集群上实施基于角色的访问控制 (RBAC)。(例如,管理员可以访问所有集群,但开发人员可能只需要访问开发集群。)
  • 定义集群间的资源配额
  • 创建 Pod 策略
  • 创建网络和治理策略
  • 定义集群上的污点和容忍度
  • 扫描风险和漏洞

调查分析

此次调研选择6个公司的产品作为参考,分别为:

  • VMware Tanzu
  • redhat acm
  • suse rancher

VMware Tanzu

2019年 8月26日在 VMworld 2019 大会上,VMware 宣布推出新的产品 VMware Tanzu。,VMware Tanzu Mission Control 将利用 Cluster API 进行生命周期管理,利用 Velero 进行备份/恢复,利用 Sonobuoy 进行配置控制,利用 Contour 进行入口控制。VMware 现在是 Kubernetes 的前三名贡献者。

Red Hat Advanced Cluster Management (acm)

Red Hat 于2020 年 7 月 30 日推出了适用于 Kubernetes 的高级集群管理。Red Hat Advanced Cluster Management for Kubernetes 作为 Red Hat OpenShift 集群的附加组件进行安装,并使用此集群作为其所有操作的中央控制器。此集群称为集线器集群,它会为用户提供一个管理平面以连接到高级集群管理。通过高级集群管理控制台导入或创建的所有其他 OpenShift 集群均由集线器集群管理,称为受管集群。

Red Hat Advanced Cluster Management (acm)生命周期如下:
在这里插入图片描述

使用 Red Hat Advanced Cluster Management for Kubernetes 可以执行以下任务:

  • 跨数据中心和公有云创建,导入和管理多个集群。

  • 从一个控制台在多个集群上部署和管理应用程序或工作负载。

  • 监控和分析不同集群资源的运行状况和状态

  • 监控并强制实施多个集群的安全合规性。

在这里插入图片描述

Suse rancher

KubeSphere

kubeoperate

Google Kubernetes Engine (GKE)

其他

不具备创建kubernetes 集群但具备管理能力的工具:

Karmada

Karmada(Kubernetes Armada)是华为开源的一个项目,于2020年11月正式发布。是一个 Kubernetes 管理系统,使您能够在多个 Kubernetes 集群和云中运行云原生应用程序,而无需更改应用程序。通过使用 Kubernetes 原生 API 并提供先进的调度功能,Karmada 实现了真正的开放式、多云 Kubernetes。Karmada 旨在为多云和混合云场景下的多集群应用程序管理提供即插即用的自动化,具有集中式多云管理、高可用性、故障恢复和流量调度等关键功能。同时,Karmada 是Cloud Native Computing Foundation(CNCF)的沙箱项目。

阿里的 ocm

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/163050.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA基础(JAVA SE)学习笔记(四)IDEA安装、使用、设置、断点、乱码汇总

前言 1. 学习视频: 尚硅谷Java零基础全套视频教程(宋红康2023版,java入门自学必备)_哔哩哔哩_bilibili 2023最新Java学习路线 - 哔哩哔哩 正文 JAVA基础(JAVA SE)学习笔记(一)JAVA学习路线、行业了解…

数据结构与算法之图: Leetcode 65. 有效数字 (Typescript版)

有效数字 https://leetcode.cn/problems/valid-number/ 描述 有效数字(按顺序)可以分成以下几个部分: 一个 小数 或者 整数(可选)一个 ‘e’ 或 ‘E’ ,后面跟着一个 整数 小数(按顺序&#…

FL Studio21最新中文破解进阶高级完整版安装下载教程

目前水果软件最版本是FL Studio21,它让你的计算机就像是全功能的录音室,大混音盘,非常先进的制作工具,让你的音乐突破想象力的限制。喜欢音乐制作的小伙伴千万不要错过这个功能强大,安装便捷的音乐软件哦!如…

Apache Doris (四十三): Doris数据更新与删除 - Update数据更新

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录 1. Update数据更新原理

毫米波雷达2-雷达的工作模式

文章目录 flash mode: 用于烧写functional mode: Power off the board and remove the jumper from only header SOP2 (this puts the board back in functional mode) flash mode: 用于烧写 functional mode: Power off the board and remove the jumper from only header SOP…

逻辑回归揭秘: 从分类原理到机器学习实践

机器学习 第五课 逻辑回归 概述逻辑回归应用领域逻辑回归 vs 线性回归基本定义输出类型函数关系误差计算使用场景数据分布 逻辑回归的数学原理Sigmoid 函数多数几率似然函数逻辑回归损失函数 正则化L1 正则化L2 正则化L1 vs L2 实例 标准化为什么要标准化?如何进行标准化? 梯…

最新Discuz3.5论坛多合一聚合支付接口插件源码/支持支付宝和微信支付功能

最新Discuz3.5论坛多合一聚合支付接口插件源码/支持支付宝和微信支付功能,这个插件直接替换了自带的支付接口功能,增强了支付的扩展性,它挺方便实用的,自带了支持支付宝、微信、QQ 钱包官方支付,以及彩虹易支付、虎皮椒…

微信小程序进阶——Flex弹性布局轮播图会议OA项目(首页)

目录 一、Flex弹性布局 1.1 什么是Flex弹性布局 1.1.1 详解 1.1.2 图解 1.1.3 代码演示效果 1.2 Flex弹性布局的核心概念 1.3 Flex 弹性布局的常见属性 1.4 Flex弹性布局部分属性详解 1.4.1 flex-direction属性 1.4.2 flex-wrap属性 1.4.3 flex-flow属性 1.4.4 ju…

【广州华锐互动】VR建筑安全培训体验为建筑行业人才培养提供有力支持

随着建筑行业的快速发展,建筑施工安全问题日益受到广泛关注。然而,传统的安全培训方式往往缺乏实践性和真实性,难以让员工真正掌握安全操作技能。近年来,虚拟现实(VR)技术的广泛应用为建筑施工安全培训提供了新的机遇。 虚拟现实技…

多维时序 | MATLAB实现SSA-CNN-BiGRU-Attention多变量时间序列预测(SE注意力机制)

多维时序 | MATLAB实现SSA-CNN-BiGRU-Attention多变量时间序列预测(SE注意力机制) 目录 多维时序 | MATLAB实现SSA-CNN-BiGRU-Attention多变量时间序列预测(SE注意力机制)预测效果基本描述模型描述程序设计参考资料 预测效果 基本…

2023年中国精准护肤发展现状及趋势分析:未来皮肤实现定制化诊断成趋势[图]

精准护肤是深度融合光电科技与精准医学在皮肤上的实践,以皮肤问题为导向通过研究挖掘各类皮肤问题发生发展的生理机制、环境因素,找寻相应的靶点并选择活性成分与光电技术,利用现代医疗技术实现能量/成分靶向传递,并通过不同人群的…

Linux:将mysql数据导入mongodb

mysql和mongodb都要同时开启 进入mysql创建一个数据库为aaa create database aaa; 创建一个tarro表结构为 (id int,name varchar(20)) create table tarro(id int,name varchar(20)); 插入几个数据,等会把这里的数据导过去 insert in…

C++模拟实现——vector

一、成员变量 成员变量由三个模板指针构成: _start : 指向开头位置 _finish : 指向数据结束的地方 _end_of_storage : 指向空间结束的位置 二、基本指标 实现vector的基本思路和顺序表相同,因此会频繁的需要用到数据大小、容量大小这些指标&#xf…

竞赛选题 深度学习YOLO安检管制物品识别与检测 - python opencv

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络4 Yolov55 模型训练6 实现效果7 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习YOLO安检管制误判识别与检测 ** 该项目较为新颖,适合作为竞赛课题方向&…

ChatGPT DALL-E 3的系统提示词大全

每当给出图像的描述时,使用dalle来创建图像,然后用纯文本总结用于生成图像的提示。如果用户没有要求创建特定数量的图像,默认创建四个标题,这些标题应尽可能多样化。发送给Dalle的所有标题都必须遵循以下策略:1.如果描…

KingBase用户与角色及对象访问权限(Kylin)

用户与角色 角色的概念 将一组具有相同权限的用户组织在一起,这一组具有相同权限的用户就称为角色(Role)角色在生产系统中一般被视为用户组,利用角色对用户进行批量授权 创建用户角色 CREATE USER name WITH [option]授予权限…

python安装、输入输出、注释、中文编码、编码规范等基础语法

一、概述 1、简介 Python的创始人为吉多范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,Guido开始写Python语言的编译器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的…

C++前缀和算法应用:和至少为 K 的最短子数组的原理、源码及测试用例

本文涉及的基础知识点 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 题目 给你一个整数数组 nums 和一个整数 k ,找出 nums 中和至少为 k 的 最短非空子数组 ,并返回该子数组的长度。如果不存在这样的 子数组 &a…

《小狗钱钱》阅读笔记(六)

目录 幼儿园最开始的作用不是让小朋友受教育,而是为了提供一个场所让小朋友免于被剥削 弗里德里希福禄贝尔 早期 其实那些有大作为的人,你看到他们的时候,你看,大多小时候都是受到过很多挫折的,我不是说&#xff0c…

小程序setData动态传递key

有些时候可能需要根据key是个变量 比如 let keyName "name" this.setData({keyName :"张三" })本来想将keyName替换为name的,但是小程序只会在data中定义一个key为keyName ,value为“张三”的一条数据。 正确写法为: let keyNam…