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

简介: 阿里云数字新基建系列包括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实例。


相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
5月前
|
运维 安全 Ubuntu
阿里云渠道商:服务器操作系统怎么选?
阿里云提供丰富操作系统镜像,涵盖Windows与主流Linux发行版。选型需综合技术兼容性、运维成本、安全稳定等因素。推荐Alibaba Cloud Linux、Ubuntu等用于Web与容器场景,Windows Server支撑.NET应用。建议优先选用LTS版本并进行测试验证,通过标准化镜像管理提升部署效率与一致性。
人工智能 运维 架构师
333 0
|
6月前
|
存储 Kubernetes 网络安全
关于阿里云 Kubernetes 容器服务(ACK)添加镜像仓库的快速说明
本文介绍了在中国大陆地区因网络限制无法正常拉取 Docker 镜像的解决方案。作者所在的阿里云 Kubernetes 集群使用的是较旧版本的 containerd(1.2x),且无法直接通过 SSH 修改节点配置,因此采用了一种无需更改 Kubernetes 配置文件的方法。通过为 `docker.io` 添加 containerd 的镜像源,并使用脚本自动修改 containerd 配置文件中的路径错误(将错误的 `cert.d` 改为 `certs.d`),最终实现了通过多个镜像站点拉取镜像。作者还提供了一个可重复运行的脚本,用于动态配置镜像源。虽然该方案能缓解镜像拉取问题,
732 2
|
8月前
|
弹性计算 运维 Kubernetes
看阿里云操作系统控制台如何一招擒拿网络丢包
阿里云操作系统控制台帮忙客户快速定位问题,不仅成功完成业务部署并实现稳定运行,更有效遏制了持续性成本消耗。
|
8月前
|
运维 监控 算法
小白也能做OS运维:阿里云操作系统控制台助你轻松解决三大运维难题
阿里云推出了一站式运维管理平台操作系统控制台,提出了异常告警和诊断联动的一套解决方案,对异常指标进行智能检测
|
8月前
|
运维 监控 算法
小白也能做 OS 运维:阿里云操作系统控制台助你轻松解决三大运维难题
为应对问题定界浪费大量人力、问题定位时间长、问题现场丢失等运维难题,阿里云推出了一站式运维管理平台操作系统控制台,提出了异常告警和诊断联动的一套解决方案,对异常指标进行智能检测。
|
10月前
|
运维 监控 算法
阿里云 OS 控制台:让基础设施运维不再难
涵盖智能异常检测、智能根因分析、智能修复建议的全链路运维解决方案
|
10月前
|
运维 监控 算法
这几类运维难题,看阿里云操作系统控制台如何一站式破解
阿里云操作系统控制台给云计算和容器化运维带来新的可能,能够提高系统性能与运维效率,同时为企业减少了系统相关问题带来的困扰。
|
11月前
|
缓存 运维 前端开发
阿里云操作系统控制台:高效解决性能瓶颈与抖动之进程热点追踪
遇到“进程性能瓶颈导致业务异常”等多项业务痛点时,提供高效解决方案,并展示案例。
|
11月前
|
弹性计算 运维 监控
【阿里云】操作系统控制台——体验与测评
阿里云操作系统控制台是一款强大的综合管理平台,集健康评估、智能诊断与性能优化于一体。通过可视化界面,用户可便捷高效地管理操作系统,降低运维复杂度。它支持弹性云服务器(ECS)的监控与调优,提供进程热点追踪、系统诊断等功能,帮助用户快速定位问题并给出优化建议。此外,控制台还具备地域限制和组件安装要求,需确保配置一致性。对于中小企业和技术新手,这款工具极大简化了运维流程,提升了资源利用率和系统稳定性。建议增加报告导出功能及内嵌智能助手,进一步优化用户体验。总结来说,该控制台如同“云服务器管家”,让运维更简单、业务更稳定。