阿里云数字新基建系列:云原生操作系统Kubernetes-第1章(2)

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
函数计算FC,每月15万CU 3个月
简介: 阿里云数字新基建系列包括5本书,题材涉及Kubernetes、混合云架构、云数据库、CDN原理与流媒体技术、云服务器运维(Windows),囊括了领先的云技术知识与阿里云技术团队独到的实践经验,是国内IT技术图书中又一套重磅作品! 本书是阿里云容器服务产品线上实践的技术沉淀,主要包括理论篇和实践篇两部分内容。理论篇注重理论介绍,核心是Kubernetes on Cloud,即着重介绍Kubernetes和阿里云产品的结合。实践篇是疑难问题的诊断案例,希望通过案例来和读者分享Kubernetes深度问题诊断......

1.2 云资源层

      云资源层和云上Kubernetes 之间的关系,相当于计算机硬件与操作系统之间的关系。云资源层为Kubernetes 提供了有弹性优势的软硬件基础,如云服务器、安全组、专有网络、负载均衡、资源编排等。

      从本质上来说,Kubernetes 本身并不提供任何计算、网络或存储资源,它仅仅是这些底层资源的封装。

      容器集群对底层资源封装的程度,在不同厂商的实现中,可能完全不同。以阿里云为例,用户除了可以通过容器服务的接口使用集群外,还可以通过底层资源的接口(如负载均衡控制台)来对集群底层资源做操作。但是这种操作具有一定程度的风险,如无必要,不要直接操作底层资源。

      在以下三节中,我们分别看一下阿里云容器集群三种形态的组成原理,包括专有版、托管版及Serverless 版。

1.2.1 专有版

      首先是资源管理。专有版集群使用了多种云资源,如图1-2 所示。在实现的时候,我们可以选择使用编码的方式来管理这些资源实例的生命周期,但这显然是低效的。阿里云的选择是,以资源编排(ROS)模板为基础,结合用户自定义配置来统一管理底层资源。

12.jpg

图1-2 阿里云专有版Kubernetes 集群组成原理

      其次是集群网络。专有版集群在被创建之初,就被指定了专有网络VPC的配置,如节点网段等。VPC 实例被创建之后,其他所有集群资源,都必然和这个VPC 实例相关联。VPC 的安全组,在这里扮演着集群网络的防火墙角色。

      再次是计算资源。集群在默认情况下会创建三个云服务器作为管控节点,同时集群会根据用户的需求,创建若干云服务器作为集群的Worker 节点。这些Worker 节点与弹性伸缩实例绑定,以实现节点伸缩功能。集群节点和RAM(访问控制)的角色绑定,以授权集群内部组件访问其他云资源。另外,集群节点可以挂载云盘并以本地存储形式来使用。

      最后是接口实现。集群使用NAT 网关作为集群默认的网络出口,使用SLB(负载均衡)作为集群的入口,这包括API Server 入口,以及图中未包括的Service 的入口。

1.2.2 托管版

      托管版集群在资源管理、集群网络、Worker 节点,以及接口实现方面,基本上采用了与专有版集群相同的实现方法。

      托管版与专有版的第一个差别,在于管控组件方面。托管版集群的管控组件,是用户不可见的。这些组件以Pod 的形式运行在专门的Master 集群里,如图1-3 所示。

13.jpg

      这会引入一个非常核心的问题,就是位于Master 集群里的API Server Pod与位于客户集群里的节点之间的通信问题。因为Master 集群是阿里云生产账号创建的集群,所以这实际上是一个跨账号、跨VPC 通信的问题。

      解决方法是使用一种特殊的弹性网卡ENI。这种网卡逻辑上位于客户集群所在的VPC 里,所以可以和VPC 里的节点通信,而物理上被安装在APIServer Pod 里,即位于Master 集群里。这就完美解决了API Server Pod 与托管版集群节点之间的通信问题。

1.2.3 Serverless 版

      与前两种类型的集群相比,Serverless 版的实现要简单一些,可以看作前两种实现的简化版,如图1-4 所示。

14.jpg

图1-4 阿里云Serverless 版Kubernetes 集群组成原理

      首先,Serverless 集群因为用到的云资源较少,且变化不大,所以我们直接通过编码的方式实现了资源管理。

      其次,Serverless 使用ECI(弹性容器实例)来运行Pod,没有使用云服务器这样的计算资源。

      最后,集群直接依靠运行于Master 集群里的Virtual Kubelet 来管理ECI实例。


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
16天前
|
人工智能 安全 Cloud Native
阿里云云原生安全能力全线升级,护航百万客户云上安全
【重磅发布】9月20日,在杭州云栖大会上,阿里云宣布云原生安全能力全线升级,首次发布云原生网络检测与响应产品NDR(Network Detection Response,简称NDR)。同时,阿里云还宣布将持续增加免费的安全防护能力,帮助中小企业客户以极低投入完成基础的云上安全风险治理。
|
10天前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
针对软件供应链的攻击事件在以每年三位数的速度激增,其中三方或开源软件已经成为攻击者关注的重要目标,其攻击方式和技术也在不断演进。通过供应链的传播,一个底层软件包的漏洞的影响范围可以波及世界。企业亟需更加标准和完善的供应链风险洞察和防护机制。本文将结合最佳实践的形式,面向容器应用完整的生命周期展示如何基于容器服务ACK/ACR/ASM助力企业构建云原生软件供应链安全。
|
10天前
|
人工智能 Kubernetes Cloud Native
阿里云容器服务,智算时代云原生操作系统
今年是Kubernetes十周年,在这10年间。我们已经看到其成长为云原生操作系统,向下高效调度多种算力资源,屏蔽基础设施差异,向上提供统一编程接口,支持多样化工作负载。阿里云容器服务产品已经覆盖了从公共云、边缘云、到本地数据中心的各个场景。让所有需要云能力的地方,都有统一的容器基础设施。
阿里云容器服务,智算时代云原生操作系统
|
17天前
|
人工智能 运维 Cloud Native
专访阿里云:AI 时代服务器操作系统洗牌在即,生态合作重构未来
AI智算时代,服务器操作系统面临的挑战与机遇有哪些?
专访阿里云:AI 时代服务器操作系统洗牌在即,生态合作重构未来
|
26天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 08 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
23天前
|
人工智能 Kubernetes Cloud Native
深度对话 解锁阿里云分布式云原生技术落地新姿势
深度对话 解锁阿里云分布式云原生技术落地新姿势
深度对话 解锁阿里云分布式云原生技术落地新姿势
|
1月前
|
人工智能 运维 Cloud Native
专访阿里云:AI 时代服务器操作系统洗牌在即,生态合作重构未来
AI智算时代,服务器操作系统面临的挑战与机遇有哪些?
|
分布式计算 Kubernetes 数据中心
让Kubernetes成为数据中心操作系统(DCOS)的一等公民
本文讲的是让Kubernetes成为数据中心操作系统(DCOS)的一等公民,【编者的话】Mesosphere与Google工程师一道将Kubernetes集成到DCOS中,本文对其进行了说明。有兴趣的读者可以进行注册进行尝试,体验一下“企业级”的 Kubernetes 。
1914 0
|
2天前
|
Kubernetes Cloud Native Ubuntu
云原生之旅:Kubernetes集群搭建与应用部署
【8月更文挑战第65天】本文将带你进入云原生的世界,通过一步步指导如何在本地环境中搭建Kubernetes集群,并部署一个简单的应用。我们将使用Minikube和Docker作为工具,探索云原生技术的魅力所在。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和实践技巧。
下一篇
无影云桌面