首页 > 其他分享 >选对方法,K8s 多集群管理没那么难

选对方法,K8s 多集群管理没那么难

时间:2023-07-06 16:56:16浏览次数:48  
标签:ACK connector 集群 注册 日志 K8s 方法

作者:庄宇

Kubernetes 作为一项核心技术已成为现代应用程序架构的基础,将 Kubernetes 作为容器编排系统已发展为越来越多企业的必然选择。

随着对云计算接受程度不断提高,以及企业规模和业务持续发展的共同驱动下,越来越多的企业在考虑或已经采用多云和混合云方案,以提升架构的灵活性和健壮性。

Kubernetes 多集群需求的演进及运维挑战

企业可能会将集群部署在不同云厂商的公有云 K8s 集群中、本地 IDC 中的 K8s 集群、开源自建集群等等。在帮助企业能够更好地利用混合环境资源的同时,这些分布在不同形态、地域、基础设施和网络环境的集群,给运维管理带来了极大的挑战,比如要应对不同的访问控制台、不同的权限管理策略、不同的日志监控工具、不同的安全工具等等。

如果您也正面临着类似的需求和挑战,可以考虑使用本文分享的阿里云 ACK One 注册集群,使云上云下 K8s 集群统一管理变得轻松简单。

如何使用 ACK One 简化混合云集群搭建与管理

ACK One 是阿里云面向混合云、多集群、分布式计算等场景推出的分布式云容器平台,能够统一管理阿里云上、边缘、部署在客户数据中心以及其他云上的 Kubernetes 集群。

通过 ACK One 注册集群,您可以将来自不同提供商和不同位置的 K8s 集群统一接入到阿里云容器服务 ACK 控制台,提供统一的集群控制面,实现多集群统一的应用分发、流量管理、运维管理、安全管理等。

1. 注册集群核心功能

ACK One 注册集群可以帮助企业应对的 K8s 集群统一管理需求包括:

  • 一致的运维体验

K8s 集群统一运维管理,提供与 ACK 一致的运维体验。他云 K8s 集群或者本地 IDC 集群接入 ACK One 注册集群后,可以使用 ACK 控制台统一管理,包括:权限,日志,监控,事件,告警,成本分析,安全巡检,安全策略。

  • K8s 集群中的微服务治理

微服务引擎 MSE,服务网格 ASM。

  • 云上弹性

本地 IDC 中的 K8s 集群弹性扩容阿里云 ECS 节点池,扩容 Virutal Kubelet ECI 弹性容器实例,应对 IDC 资源不足和突发业务流量。

  • 备份容灾

提供云上备份、恢复、迁移一体化的方案,支持数据和应用的云容灾,全面提升企业的业务连续性。

  • 大数据赋能

混合云分布式缓存 Fluid 统一云下云上存储访问,访问提升访问效率 10 倍和减少带宽占用 90%。

更重要的是,ACK One 团队为以上能力提供完善的售后支持。

2. 注册集群架构

image.png

2.1 连接链路

为了统一管理 K8s 集群,您需要为每个 K8s 集群创建一个 ACK One 注册集群,并在 K8s 集群中安装 agent ack-connector 组件,connector 会与注册集群建立连接。之后用户通过ACK控制台对注册集群的操作,会通过 connector 转发给 K8s 集群的 API Server,例如:获取集群状态,安装 ACK 组件等。

2.2 安全保证

为了保证 K8s 集群与注册集群之间连接的安全,ACK One 注册集群设计实现了一系列的安全加固措施。

  1. 提供公网和内网专线两种连接方式:
    公网连接简单并可有效承载控制面连接。内网专线连接具有更高的安全性和稳定性,更低的时延,但同时也意味着更高的成本。您可以根据实际情况选择。
  2. TLS 加密连接:
    每个 Connector 与注册集群之间的连接通过独立的 TLS 证书加密。
  3. SLB 访问控制:
    注册集群通过 SLB 暴露连接端点,如果您选择公网连接,连接端点为 SLB 公网 IP 地址,这时您可以通过设置 SLB 的访问控制,限制只有 K8s 集群的出公网网段可以访问注册集群 SLB 公网连接端点,保证安全性。
  4. RBAC 控制 connector 权限:
    注册集群通过 connector 连接 K8s 集群的 API Server,连接使用 connector 的 Service Account,您可以在 K8s 集群中设置 RBAC 权限以控制 connector 的对 API Server 的操作。
  5. Connector 开源,保证透明性,开源项目地址为:https://github.com/AliyunContainerService/alibabacloud-ack-connector

3. K8s 统一运维管理 -- 可观测性

阿里云容器服务 ACK 集成阿里云 ARMS 监控和 SLS 日志服务产品实现了丰富的可观察能力,包括:日志服务,事件中心,报警配置,Prometheus 监控,APM Java 应用监控。

通过 ACK One 注册集群,您可以在非 ACK 的 K8s 集群中使用 ACK 的产品化的可观察能力,节省您自己运维外部监控日志系统的成本,也可以统一监控日志系统,快速发现与诊断问题,同时降低运维成本。

  1. 通过 ACK 控制台查看注册集群 Prometheus 监控大盘:可以查看 K8s 集群控制面和数据面应用的各项指标。

image.png

  1. 通过 ACK 控制台查看注册集群日志:可以将分散在各处的 K8s 集群的日志统一收集到日志服务中,并统一日志查询入口。

image

  1. 通过 ACK 控制台查看注册集群事件中心:可以记录 K8s 集群的状态变更,包括配置 Pod 及组件异常等。实时汇聚 K8s 中的所有事件并提供存储、查询、分析、可视化、告警等能力。

image

  1. 通过 ACK 控制台查看注册集群成本分析:可以自定义 K8s 集群节点的成本,根据应用资源使用做成本拆分,多维度分析集群成本、命名空间成本和应用成本,并快速定位异常成本来源,帮助企业降本增效。

image.png

客户应用

使用 ACK One 注册集群,可以轻松实现阿里云 ACK 集群和非 ACK 集群(他云和IDC自建 K8s 集群)的统一管理。目前已经在互联网,通信设备,自动驾驶,生物医药,智能制造,基因科技,物流,汽车等领域的大量企业落地应用,欢迎大家使用,任何问题您可以加入“ACK One 客户交流群”讨论(钉钉群号:35688562)。

后续我们将陆续推出 ACK One 注册集群的系列文章,包括:云上弹性,容灾备份,安全管理等,敬请期待。

了解更多:

[1] 注册集群概述:

https://help.aliyun.com/document_detail/155208.html

[2] 创建注册集群并安装 connector 接入 K8s 集群:

https://help.aliyun.com/document_detail/121053.html*
*

[3] 将日志服务接入注册集群:

https://help.aliyun.com/document_detail/150036.html*
*

[4] 将事件中心接入注册集群:

https://help.aliyun.com/document_detail/155182.html

[5] 将报警配置功能接入注册集群:

https://help.aliyun.com/document_detail/217918.html

[6] 将应用实时监控服务 ARMS 接入注册集群:

https://help.aliyun.com/document_detail/150035.html

[7] 将阿里云 Prometheus 接入注册集群:

https://help.aliyun.com/document_detail/155202.html

[8] 集群成本洞察:

https://help.aliyun.com/document_detail/345689.html

点击此处,查看 ACK One 更多产品详情

标签:ACK,connector,集群,注册,日志,K8s,方法
From: https://www.cnblogs.com/alisystemsoftware/p/17532620.html

相关文章

  • Vue 先初始化子组件再初始化父组件的方法(自定义父子组件mounted执行顺序)
    写在前面:本篇内容内容主要讲述了,在使用Konva进行开发过程中遇到的一些问题。(既然是组件加载顺序,主要牵扯到的就是,父子组件的关系,父子组件的生命周期)众所周知,Vue中父子组件生命周期的执行顺序为://挂载阶段父beforeCreate->父created->父beforeMount->子beforeCre......
  • Qt 四种程序的架构设计方法
    四种常见的关于Qt程序的架构设计方法:1.使用MVC设计模式MVC是Model-View-Controller的缩写,是应用程序开发中常用的设计模式。在Qt中,可以使用QAbstractItemModel和QTreeView等类来实现MVC模式。 2.使用信号和槽机制Qt中的信号和槽机制是一种灵活的方式,可以将不同的组件连接在......
  • Docker+Emqx+Nginx集群及负载均衡的搭建 MQTT服务器
    Docker+Emqx+Nginx集群及负载均衡的搭建MQTT服务器1.拉取镜像dockerpullemqx/emqx2.创建虚拟网络#-d参数默认为bridge,可省略dockernetworkcreate-dbridge--subnet=172.18.0.0/16emqx_bridge3.创建Docker容器#节点1dockerrun-d--hostnameemqx01--nameem......
  • 根据服务标签id优化表A与表B的数据匹配方法
    You两个表都有一个字段,ServiceTagIDsstringjson:"service_tag_ids"//服务标签id,用英文逗号隔开,怎么根据这些服务标签id从表A的记录找出表B的记录Genie要根据表A的记录中的服务标签id,找出表B的记录,你可以使用数据库查询语句来实现。假设表A的名称为table_a,字段名......
  • 如何实现基于kubernetes安装和运维大数据集群的具体操作步骤
    基于Kubernetes安装和运维大数据集群介绍Kubernetes是一个开源的容器编排平台,可以帮助我们管理和运行容器化的应用程序。它提供了许多强大的功能,使得在大数据环境中安装和运维大数据集群变得更加容易。在本文中,我们将介绍如何使用Kubernetes来安装和运维一个大数据集群。我们将......
  • ZLmediakit集群部署
    1简单理解2如何简单部署测试2.1:我在10.1.1.1的机器上有拉IPC-A摄像头的数据源;这个摄像头通过部署在10.1.1.1上的ZLM去拉,转协议RTSP的地址是rtsp://10.1.1.1:554/rtp/stream_12.2:我本地(127.0.0.1)启动ZLM服务,通过VLC拉stream1:此时肯定是找不到的,因为我本地就没有叫stream_1......
  • k8s中role和clusterrole的区别?
    在Kubernetes(K8s)中,Role和ClusterRole的区别,可以简单概括如下: -Role(角色)是在命名空间级别定义的,仅适用于特定的命名空间。-ClusterRole(集群角色)是在整个集群级别定义的,适用于整个集群的所有命名空间。 具体来说: -Role用于控制对命名空间内资源的访问和操作权限......
  • 大端小端及区别方法
    理论大端模式:数据的低位(就是权值较小的后面那几位)保存在内存的高地址中,而数据的高位,保存在内存的低地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;小端模式:数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址......
  • 关于安卓客户端 软键盘弹出后,导致底部按钮看不见的处理方法
    问题产生原因:安卓:软键盘弹出后会改变页面的高度将页面顶上来。使用fixed或者absolute,会使得元素跟随body的底部移动,而安卓端软键盘将导致body高度变小而导致变形。IOS端:苹果的软键盘是覆盖的(分层),因此没有什么问题。 解决思路:记录页面高度,在键盘收起后,恢复原来高度 ......
  • 记一次.Net分布式事务死锁现象以及解决方法
    在本文中,将介绍一次遇到的.Net分布式事务死锁现象以及解决方法。我们将首先了解事务框架的构成,然后分析导致死锁的代码,最后提出解决方法。事务框架本次开发框架JMSFramework将分布式事务划分为4个阶段,分别是:执行、确认、提交和重试。1、执行调用微服务来执行相关的业务操作。......