【K8S】kubernetes概念和架构(一)

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 【K8S】kubernetes概念和架构(一)

1、K8S概述和特征

K8S概述:

  • 1️⃣ K8S由谷歌在2014年开源的容器化集群管理系统
  • 2️⃣使用K8S进行容器化应用部署
  • 3️⃣使用K8S利于应用扩展
  • 4️⃣K8S目标实施让部署容器化应用更加简洁和高效


K8S特性:

  • 自动装箱——基于容器对应用运行环境的资源配置要求自动部署应用容器。
  • 自我修复自愈能力)——容器失败,对其重启。当所部署的Node节点有问题时,会对容器进行重新部署和重新调度。当容器未通过监控检查时,会对关闭此容器直到容器正常运行时,才会对外提供服务。
  • 水平扩展——高峰期,副本数量增加;低峰期,副本数量减少。通过简单的命令、用户UI界面或基于CPU等资源使用情况,对应用容器进行规模扩大或规模剪裁
  • 服务发现——负载均衡,对外提供统一入口。
  • 滚动更新——对容器运行的应用,进行一次性或批量式更新。
  • 版本回退——根据应用的部署情况,对应用容器运行的应用,进行历史版本及时回退。
  • 密钥和配置管理——部署和更新密钥和应用配置,类似热部署。
  • 存储编排——自动实现存储系统挂载及应用。
  • 批处理——提供一次性任务、定时任务,满足批量数据处理和分析的场景。


2、K8S集群架构组件

35bc1c000a3259c294420fc05c580fbf.png

Master——主控节点组件(主要负责管理工作)

  • apiserver提供了**资源操作的唯一入口**,以restfulfa方式并提供认证、授权、访问控制、API注册和发现等机制;
  • scheduler负责资源的调度,选择node节点应用部署。按照预定的调度策略将Pod调度到相应的机器上;
  • controller manager负责维护集群的状态,处理集群中常规后台任务,一个资源对应一个控制器。比如故障检测、自动扩展、滚动更新等,一个资源对应一个控制器;
  • etcd 存储系统,用于保存整个集群的状态相关数据;

Node——工作节点组件(主要负责业务工作)

  • kubelet负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理;master派node节点代表,管理本地容器。
  • kube-proxy负责为Service提供cluster内部的服务发现和负载均衡;提供网络代理,负载均衡等操作。
  • docker 负责容器服务


3、K8S核心概念

  • Pod——最小部署单元;一组容器的集合、共享网络、生命周期是短暂的。


在Kubernetes中,最小的管理元素不是一个个独立的容器,而是Pod,Pod是最小的,管理,创建,计划的最小单元。

参考链接:Kubernetes(k8s)中文文档 名词解释 Pods_Kubernetes中文社区

  • Controller——确保预期的Pod副本数量;无状态应用部署(随便用);有状态应用部署(需要有特定的存储、网络环境)

确保所有的node运行同一个pod、一次性任务和定时任务。

参考链接:Kubernetes(k8s)中文文档 名词解释 Replication Controller_Kubernetes中文社区

Service——定义一组pod的访问规则

参考链接:Kubernetes(k8s)中文文档 名词解释 Services_Kubernetes中文社区

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
12天前
|
存储 Kubernetes 调度
|
5天前
|
运维 Kubernetes Docker
利用Docker和Kubernetes构建微服务架构
利用Docker和Kubernetes构建微服务架构
|
3天前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
3天前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
|
5天前
|
Kubernetes API 调度
【赵渝强老师】Kubernetes的体系架构
本文介绍了Kubernetes的体系架构及其核心组件。Kubernetes采用主从分布式架构,由master主节点和多个node工作节点组成。master节点负责集群管理和调度,运行API Server、scheduler、controller-manager等服务组件;node节点运行kubelet、kube-proxy和Docker容器守护进程,负责实际业务应用的运行。文章还简要介绍了Kubernetes的附加组件及其作用。
|
3天前
|
安全 持续交付 Docker
微服务架构和 Docker 容器化部署的优点是什么?
微服务架构和 Docker 容器化部署的优点是什么?
|
5天前
|
存储 监控 Docker
探索微服务架构下的容器化部署
本文旨在深入探讨微服务架构下容器化部署的关键技术与实践,通过分析Docker容器技术如何促进微服务的灵活部署和高效管理,揭示其在现代软件开发中的重要性。文章将重点讨论容器化技术的优势、面临的挑战以及最佳实践策略,为读者提供一套完整的理论与实践相结合的指导方案。
|
8天前
|
运维 Kubernetes Cloud Native
Kubernetes云原生架构深度解析与实践指南####
本文深入探讨了Kubernetes作为领先的云原生应用编排平台,其设计理念、核心组件及高级特性。通过剖析Kubernetes的工作原理,结合具体案例分析,为读者呈现如何在实际项目中高效部署、管理和扩展容器化应用的策略与技巧。文章还涵盖了服务发现、负载均衡、配置管理、自动化伸缩等关键议题,旨在帮助开发者和运维人员掌握利用Kubernetes构建健壮、可伸缩的云原生生态系统的能力。 ####
|
11天前
|
JavaScript 持续交付 Docker
解锁新技能:Docker容器化部署在微服务架构中的应用
【10月更文挑战第29天】在数字化转型中,微服务架构因灵活性和可扩展性成为企业首选。Docker容器化技术为微服务的部署和管理带来革命性变化。本文探讨Docker在微服务架构中的应用,包括隔离性、可移植性、扩展性、版本控制等方面,并提供代码示例。
48 1
|
13天前
|
Kubernetes 负载均衡 Cloud Native
云原生应用:Kubernetes在容器编排中的实践与挑战
【10月更文挑战第27天】Kubernetes(简称K8s)是云原生应用的核心容器编排平台,提供自动化、扩展和管理容器化应用的能力。本文介绍Kubernetes的基本概念、安装配置、核心组件(如Pod和Deployment)、服务发现与负载均衡、网络配置及安全性挑战,帮助读者理解和实践Kubernetes在容器编排中的应用。
44 4