云原生容器Clouder认证:容器应用与集群管理—课时3:什么是容器编排技术

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 云原生容器Clouder认证:容器应用与集群管理—课时3:什么是容器编排技术

容器编排是什么?

容器编排是指自动化容器的部署、管理、扩展和联网。通过容器编排,可以构建跨多个容器的应用服务、跨集群调度容器、扩展这些容器,并持续管理它们的健康状况。容器编排给容器技术带来了巨大的价值,包括:

  • 自动化部署:支持根据副本数量,回滚,重启等策略自动部署容器。
  • 服务发现与负载均衡:自动发现增加的容器,并进行流量的负载均衡。
  • 自动化容器恢复:自动对容器进行健康检查,并根据策略进行重启。
  • 弹性伸缩:支持工作节点、容器的自动扩缩容。

一个容器编排平台的核心功能:首先可以自动生成容器实例,并且生成的容器可以跨服务器的,帮助提高可用性和性能,同时还有健康检查、容错、可扩展、网络、服务发现、滚动升级等功能,可以很好地解决需求与资源的匹配编排问题。

容器编排平台的市场竞争曾经非常激烈,主流的有三个:Docker Swarm、Mesos Marathon和Kubernetes。它们各有特点,但同时满足上面上述能力的,只有Kubernetes。

Kubernetes简化了集群范围内相关容器被共同调度管理的复杂性,能够相对容易地支持更强大、更复杂的容器调度算法。随着Kubernetes 越来越成熟,越来越受到市场青睐,最终成为了容器调度的事实标准。

 

思考:如何快速掌握容器编排技术?

小陈学了一段时间的Kubernetes知识,发觉可以基于Kubernetes来搭建公司网站容器集群。但是Kubernetes涉及的概念太多,千头万绪,学习不得要领,还是找大刘请教。

小陈:师傅,我看了一些Kubernetes的资料。

大刘:哦?已经开始学习Kubernetes了,不错。学得怎么样?

小陈:Kubernetes概念好多、涉及很多知识点,看了一些材料,还是一头雾水。

大刘:嗯,这是正常的。从容器到Kubernetes,无论是技术的广度和深度都增加了很多。Kubernetes概念、组件、技术点很多,如果没领会Kubernetes的设计理念,那就是只抓住了皮毛,没有抓住灵魂,学习Kubernetes就会很困难。

小陈:什么是Kubernetes的设计理念呢?

大刘: Kubernetes是一个面向终态的编排系统。用户按照Kubernetes提供的带有编排逻辑的工作负载模版,向Kubernetes声明期望的应用容器的状态,随后Kubernetes会创建对应的工作负载。Kubernetes的调度器一直在监听各种请求,一旦发现创建了对应的应用容器,立马根据计算节点的情况与预定的策略,把容器调度到最适合的计算节点。计算节点也在监听是否有与自己有关的应用容器创建,如果有,立即拉取用户想要的镜像并运行,并向Kubernetes报告应用容器的状态。工作负载的控制器也在不断监听容器集群的状态是否与用户的预期一致,如果不一致,会按照工作负载控制器的编排逻辑进行处理。容器镜像都创建后,计算节点也会自动发现服务并进行业务负载。

小陈:听起来好神奇。感觉用户只要提交自己想要的工作负载的状态,Kubernetes就会自动工作,最后给到用户期望的。对吧?

大刘:的确如此。这就是Kubernetes强大的地方,基于面向终态的工作机制,可以轻松实现自动部署、服务发现、自动愈合、弹性伸缩等功能。

小陈:师傅一席话,真是让我豁然开朗。那么,怎么学习可以效率高一些呢?

大刘:抓住Kubernetes设计理念后,以单个容器为起点,了解单个容器如何走向一组容器,以及容器集群从创建到运行的整个过程,最好结合实际应用创建部署的过程来进行学习,理论结合实践,这样会快一些,你可以试试。

小陈:好的。我学习中有问题,我再来请教您吧。

大刘:没问题。

 

Kubernetes是什么?

Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。想象一艘载满集装箱的轮船,轮船在大海上航行,把集装箱送到它们该去的地方。集装箱的英文单词是container,container的另一个翻译就是“容器”。 Kubernetes的英文原意是指用来操纵和控制船舶航向的船舵。大海航行靠舵手,借着这个寓意,Kubernetes希望成为运送集装箱的一个轮船,来管理这些集装箱,也就是管理这些容器。这也是为什么Kubernetes的Logo是一张船舵的图片。

Kubernetes 这个单词是希腊语,它的中文翻译是“舵手”或者“飞行员”。在一些常见的资料中也会看到“ks”这个词,也就是“k8s”,它是通过将中间8个字母“ubernete ”替换为“8”而形成的一个缩写。

在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要开发和运维人员进行复杂的手工配置和处理。

 

Kubernetes核心概念

Kubernetes简称K8s,是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

为什么需要Kubernetes?容器是打包和运行应用程序的好方式。在生产环境中,往往需要管理运行着应用程序的容器,并确保服务不会下线。如果一个容器发生故障,则需要启动另一个容器,类似这样的行为可以交由Kubernetes 来处理。Kubernetes 会满足用户的扩展要求、故障转移你的应用、提供部署模式等。

对于容器和Kubernetes的关系,为了便于理解,可以做个类比:Kubernetes就好比一个操作系统,而容器就好比操作系统上运行的一个进程

Kubernetes中涉及到的关键名词包含以下这些,他们重要但很抽象,建议您先记住这些名词和概念,在本课程中我们将结合后续实际操作步骤为您展开介绍。

  • Pod(容器组):Pod是一个逻辑概念,是一组紧密关联的容器的集合。
  • Controller(控制器):控制器通过控制循环监控集群状态,将当前状态转变为期望状态。控制器包含节点控制器、命名空间控制器、工作负载控制器等多种。
  • Workload(工作负载):工作负载是在 Kubernetes 上运行的应用程序,分为无状态、有状态、任务、定时任务等多种类型。
  • Service(服务):将运行在一个或一组Pod上的应用程序公开为网络服务的方法,是真实应用服务的抽象。
  • PVPVC:PV是存储卷,是集群内的存储资源,PV独立于Pod的生命周期。PVC是存储卷声明,是资源的使用者。Pod挂载PVC,PVC消耗PV资源。
  • Namespace(命名空间):命名空间为容器集群提供虚拟的隔离作用。
  • etcdetcd是一个分布式、一致且高可用的键值存储系统,通常被用作Kubernetes所有集群数据的后台数据库。

同时,在本课程最后一个课时《Kubernetes简介》中我们会对这些概念和Kubernetes的核心工作原理做进一步的梳理,以帮助您更好的理解。





练习实验:通过ASK搭建企业级网站应用

 https://developer.aliyun.com/adc/scenario/ace330daa1d7428cacf3225bea3207e2  

相关文章
|
9天前
|
人工智能 弹性计算 运维
ACK Edge与IDC:高效容器网络通信新突破
本文介绍如何基于ACK Edge以及高效的容器网络插件管理IDC进行容器化。
|
15天前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
11天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
142 77
|
10天前
|
人工智能 运维 监控
阿里云ACK容器服务生产级可观测体系建设实践
本文整理自2024云栖大会冯诗淳(花名:行疾)的演讲,介绍了阿里云容器服务团队在生产级可观测体系建设方面的实践。冯诗淳详细阐述了容器化架构带来的挑战及解决方案,强调了可观测性对于构建稳健运维体系的重要性。文中提到,阿里云作为亚洲唯一蝉联全球领导者的容器管理平台,其可观测能力在多项关键评测中表现优异,支持AI、容器网络、存储等多个场景的高级容器可观测能力。此外,还介绍了阿里云容器服务在多云管理、成本优化等方面的最新进展,以及即将推出的ACK AI助手2.0,旨在通过智能引擎和专家诊断经验,简化异常数据查找,缩短故障响应时间。
阿里云ACK容器服务生产级可观测体系建设实践
|
10天前
|
运维 Kubernetes 调度
阿里云容器服务 ACK One 分布式云容器企业落地实践
阿里云容器服务ACK提供强大的产品能力,支持弹性、调度、可观测、成本治理和安全合规。针对拥有IDC或三方资源的企业,ACK One分布式云容器平台能够有效解决资源管理、多云多集群管理及边缘计算等挑战,实现云上云下统一管理,提升业务效率与稳定性。
|
16天前
|
Kubernetes Cloud Native Docker
云原生之旅:从容器化到微服务
本文将带领读者踏上云原生的旅程,深入探讨容器化和微服务架构的概念、优势以及它们如何共同推动现代软件的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务应用,并解释相关的配置和操作。无论你是云原生新手还是希望深化理解,这篇文章都将为你提供有价值的见解和实操指南。
|
22天前
|
Kubernetes Cloud Native 开发者
云原生入门:从容器到微服务
本文将带你走进云原生的世界,从容器技术开始,逐步深入到微服务架构。我们将通过实际代码示例,展示如何利用云原生技术构建和部署应用。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和启示。
|
24天前
|
Kubernetes Cloud Native 微服务
云原生入门与实践:Kubernetes的简易部署
云原生技术正改变着现代应用的开发和部署方式。本文将引导你了解云原生的基础概念,并重点介绍如何使用Kubernetes进行容器编排。我们将通过一个简易的示例来展示如何快速启动一个Kubernetes集群,并在其上运行一个简单的应用。无论你是云原生新手还是希望扩展现有知识,本文都将为你提供实用的信息和启发性的见解。
|
22天前
|
运维 Kubernetes Docker
深入理解容器化技术:Docker与Kubernetes的协同工作
深入理解容器化技术:Docker与Kubernetes的协同工作
43 1
|
22天前
|
Kubernetes Cloud Native 持续交付
容器化、Kubernetes与微服务架构的融合
容器化、Kubernetes与微服务架构的融合
40 1

相关产品

  • 容器服务Kubernetes版
  • 下一篇
    DataWorks