阿里云容器服务K8s基础入门(二)

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 阿里云容器服务K8s基础入门

阿里云容器K8s入门训练营:阿里云容器服务K8s基础入门(二)

课程地址https://developer.aliyun.com/trainingcamp/83262c78375b422d90d9bdfa86fb4d46?spm=a2c6h.26142516.J_2566289780.3.37c67cbd7bCsFs


阿里云容器服务K8s基础入门(二)


三、K8S的核心架构

K8S的核心架构由两个部分组成,一个是master,一个是loadmaster 叫做主控节点,也就是管理节点。 load 也叫做worker 节点,是工作节点,我们可以看到 master 就像一个大佬,负责管理所有的节点,然后负责调度 Pod 在哪个节点上面去运行,然后我们的工作节点就只是怎么样去运行所有的容器,所以这个有点像我们的大脑跟手一样。

比如最简单的,你现在拿一个水杯来喝水,这个喝水的指令肯定是由你大脑去下发的,拿起水杯,然后将这个水杯送到你的嘴里面,这个动作肯定是由你的手来做的,这个肯定都是缺一不可的,我们的k8s它也是这样的一个架构。

 image.png

K8S master 服务端由这四个组件所构成。第一个kube- apiServer 就相当于是一个集群的 API 接口。当用户通过比如这个命令两行工具 kube ct l 进行命令的创建,删除一个这个 K8S 的对象的时候,这个命令它会先发给这个Kube-apiServer,它会去验证用户的请求是否合法,然后再将这个请求放到 etcd 里面。

ETCD 它是一个分布式的存储系统,这个是被所有的组件所共享数据信息的,其他组件是不是也能够收到这个信息。

那么比如 kube controller manager,它在收到这个信息之后,它就会可以根据这上面的信息去创建或者删除相应的这个Pod

Pod 创建好之后,我们是不是要将这个 Pod 调度到我们的工作节点上面,那么这个调度就用就由 kube -scheduler 这个组件去完成。

image.png 


K8S的客户端有三个组件, kubelet 负责管理节点上容器的创建和删除,并且与 master 节点进行通信。 Kube-proxy 它是负责 K8S 服务的通信及负载均衡的服务的,也就相当于是我们这个工作节点上面的网络代理。还有这个 container runtime就是负责去运行容器的,并对容器做一个基础的管理。

image.png 


 

四、K8S的工作和使用流程

在了解 K8S 的各个组件之后,我们再来看它的整个工作和使用流程。当我们的运维人员开始发出指令,这个时候kube API Server 就会去响应指令,然后去根据这个指令的内容去创建一个deployment,这样这个任务进行发布,存储在 etcd 里面,控制器会从这个 etcd 里面发现有这样的一个development,然后根据里面的一些数据去创建Pod,然后加入到工作队列,创建完之后,就会更新,我们的这个 Google sky 有了就会将创建好的 Pod 调度到相应的节点当中,结果也会存储在 etcd 里面。

pod调到 kube这个工作节点之后,这个kubelet就会基于相关的情况去运行这个Pod或者增加Pod,然后kube proxy 作为这个网络组件会对 Pod 进行服务的发现和负载均衡,然后控制器会检测 Pod 的相应的状况做出相应的判断,比如删除或者重建。

 

image.png

 

五、K8S的使用场景

K8S的使用场景有很多,我们来看第一个场景就是调度这些各个颜色的小球,就是我们的Pod,不同的颜色代表着不同应用。我们的 K8S 可以根据调度算法和策略,将相应的 Pod 调度到它最优的工作节点上面,这是它的第一个场景调度。

K8S的第二个使用场景自动恢复,就是当有一个节点挂掉,然后上面的 Pod 容器应用岂不是就会出现问题,但是我们的 K8S 可以将这个 Pod 调到其他正常的节点上面,保证这个应用是不中断的,所以 K8S 可以提供服务零停机的保障,然后可以让系统自愈。

 image.png


 

K8S的第三个使用场景就是弹性伸缩,我们可以看到在这个图中有一个节点,它上面运行了非常多的Pod,所以它是比较繁忙的。这个时候我们可以去增加相应的节点,然后将这些 Pod 调入到其他比较空闲的节点上面。

这个时候我们这个节点它的负载是不是就没那么高?也不会出现这种所谓的过度的忙碌,其实还可以做到怎么样的谈性伸缩,就是当一个 Pod 或者两个 Pod 没有办法去应对突发的流量,这个时候我们可以怎么样?可以去增加 Pod 的数量来去应对这些突发的流量。这是关于 K8S 使用场景的一个简单说明。


 image.png

六、容器服务ACK介绍

相信通过刚刚的讲解,大家对于 K8S 应该有了一个基本的认识和了解。我们接下来就来带大家学习阿里云的容器服务Kubernetes板,阿里云的容器服务Kubernetes 板说起来比较长,所以我们一般简称为 ack

阿里云的 ACK 和原生的 K8S 区别:阿里云的 K8S 它也是基于 K8S 二次开发和定制,因为 K8S 它是开源的,然后它主要是针对云上的这种应用场景和运行的环境进行了优化和改进。

虽然阿里云k8s是基于原生的 K8S 来开发,但是它是对原生的 K8S 是做了优化和改进的。

比如它具备更便捷的基础类的管理,在管理方面更便捷,然后服务能力也更加强大,而且它还深度的整合了阿里云的生态,像阿里云很多的产品,比如我们之前所讲过的容器进氧服务,还有一些比如ASM 服务网格,它都是可以直接去连接使用的,有了这些能力后,它就可以帮助用户快速的去构建发布。

还有去管理容器。在弹性伸缩方面,因为它的底层是谁?是阿里云,所以它的资源接近于无限,它具备有强大的自动化和弹性伸缩的能力。阿里云的 K8S 它是基于的是阿里云拥有像洛神云网络这样的组件系统,所以阿里云的 a c k,它具备有良好的安全性能和非常灵活的网络架构,不管你是在各种各样的云环境下,还是私有云的环境下面,都可以进行部署和这个管理,还是很方便的。所以阿里云的 a c k可以理解为是更强大的K8S,更适应于云环境的K8S

image.png

我们在 阿里云上面使用 ack 时,有三种版本供我们选择,分别是专有版、托管版以及无服务器版。使用专有版我们需要在阿里云控制台上面创建 master 节点以及 worker 节点,这样创建之后有优势也有劣势,优势就是可以对集群基础设施进行更细粒度的控制,也就是它会更加的灵活。

但是缺点就是你需要自行的维护,因为这个是需要对技术团队有要求,所以在选择产品的时候一定要看自身团队的技术实力,如果有这个技术实力去维护,可以去选择专有版的K8S,而它的费用可能也会多一点,像托管版它是不需要承担 master 的节点的费用的,但是利用专用版的话是需要承担 master 的节点以及 worker 节点的资源费用的。

相关实践学习
巧用云服务器ECS制作节日贺卡
本场景带您体验如何在一台CentOS 7操作系统的ECS实例上,通过搭建web服务器,上传源码到web容器,制作节日贺卡网页。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
22天前
|
人工智能 弹性计算 运维
ACK Edge与IDC:高效容器网络通信新突破
本文介绍如何基于ACK Edge以及高效的容器网络插件管理IDC进行容器化。
|
4天前
|
人工智能 运维 Kubernetes
阿里云容器服务AI助手2.0 - 新一代容器智能运维能力
2024年11月,阿里云容器服务团队进一步深度融合现有运维可观测体系,在场景上覆盖了K8s用户的全生命周期,正式推出升级版AI助手2.0,旨在更好地为用户使用和运维K8S保驾护航。
|
11天前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
73 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
8天前
|
Prometheus Kubernetes 监控
OpenAI故障复盘 - 阿里云容器服务与可观测产品如何保障大规模K8s集群稳定性
聚焦近日OpenAI的大规模K8s集群故障,介绍阿里云容器服务与可观测团队在大规模K8s场景下我们的建设与沉淀。以及分享对类似故障问题的应对方案:包括在K8s和Prometheus的高可用架构设计方面、事前事后的稳定性保障体系方面。
|
1天前
|
监控 安全 Cloud Native
阿里云容器服务&云安全中心团队荣获信通院“云原生安全标杆案例”奖
2024年12月24日,阿里云容器服务团队与云安全中心团队获得中国信息通信研究院「云原生安全标杆案例」奖。
|
1天前
|
人工智能 运维 监控
容器服务Kubernetes场景下可观测体系生产级最佳实践
阿里云容器服务团队在2024年继续蝉联Gartner亚洲唯一全球领导者象限,其可观测体系是运维的核心能力之一。该体系涵盖重保运维、大规模集群稳定性、业务异常诊断等场景,特别是在AI和GPU场景下提供了全面的观测解决方案。通过Tracing、Metric和Log等技术,阿里云增强了对容器网络、存储及多集群架构的监控能力,帮助客户实现高效运维和成本优化。未来,结合AI助手,将进一步提升问题定位和解决效率,缩短MTTR,助力构建智能运维体系。
|
24天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
184 77
|
1月前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
|
5天前
|
Ubuntu Linux 开发工具
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成标准化单元(容器),确保在任何支持 Docker 的操作系统上一致运行。容器共享主机内核,提供轻量级、高效的执行环境。本文介绍如何在 Ubuntu 上安装 Docker,并通过简单步骤验证安装成功。后续文章将探讨使用 Docker 部署开源项目。优雅草央千澈 源、安装 Docker 包、验证安装 - 适用场景:开发、测试、生产环境 通过以上步骤,您可以在 Ubuntu 系统上成功安装并运行 Docker,为后续的应用部署打下基础。
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
|
17天前
|
关系型数据库 应用服务中间件 PHP
实战~如何组织一个多容器项目docker-compose
本文介绍了如何使用Docker搭建Nginx、PHP和MySQL的环境。首先启动Nginx容器并查看IP地址,接着启动Alpine容器并安装curl测试连通性。通过`--link`方式或`docker-compose`配置文件实现服务间的通信。最后展示了Nginx配置文件和PHP代码示例,验证了各服务的正常运行。
43 3
实战~如何组织一个多容器项目docker-compose

相关产品

  • 容器计算服务
  • 容器服务Kubernetes版