K8S篇之简述K8S底层原理

k8s底层原理

Kubernetes(简称k8s)是一个开源的容器编排平台,它可以自动化地部署、扩展和管理容器化应用程序。

Kubernetes 底层原理是其能够实现这些功能的关键。

1 节点和控制平面

Kubernetes 由两个主要组件组成:节点Node和控制平面Master。节点是运行应用程序的主机,而控制平面则负责管理节点和应用程序。

控制节点Kubernetes Master:包括多个组件,如API 服务器、etcd、调度器Scheduler和控制器管理器Controller Manager。

节点Node Kubernetes Node:运行Kubernetes工作负载的计算节点,包括kubelet、kube-proxy等组件,用于管理节点的状态和运行容器工作负载。
K8S的核心组件包括:

Kubernetes Master:主要包含API Server、Scheduler、Controller Manager和etcd等组件,用于控制和管理整个Kubernetes集群的状态和资源。

1、kube-apiserver:API服务器是 Kubernetes 的核心组件,它提供了一个REST API,用于管理 Kubernetes 集群。

2、etcd 是一个分布式键值存储系统,用于存储 Kubernetes 集群的状态信息。

3、kube-scheduler:调度器负责将应用程序调度到节点上。

4、kube-controller:控制器管理器则负责监控应用程序的状态并做出相应的调整。

Kubernetes Node:运行Kubernetes工作负载的计算节点,包括kubelet、kube-proxy等组件,用于管理节点的状态和运行容器工作负载。

kube-proxy:运行在每个计算节点上,负责Pod网络代理。定时从etcd获取到service信息来做相应的策略。

kubelet:运行在每个计算节点上,作为agent,接收分配该节点的Pods任务及管理容器,周期性获取容器状态,反馈给kube-apiserver。

Pod:Kubernetes中最小的调度单位,通常包含一个或多个容器,并共享同一个网络命名空间、存储卷等资源。

Service:用于暴露Kubernetes中的应用程序,通过Service可以提供统一的DNS名和IP地址来访问应用程序。

K8S的底层原理包括以下几个方面

1、自动化部署和扩展

K8S通过Pod和Deployment等资源对象的定义,自动化地管理容器的部署和伸缩,从而实现高可用和弹性扩展。

2、负载均衡和服务发现

K8S通过Service对象实现负载均衡和服务发现,使得应用程序可以在集群内进行无缝访问。

3、自动故障恢复

K8S通过自动重启、重新调度和滚动更新等机制,实现容器的自动故障恢复,从而确保应用程序的高可用性。

4、弹性存储

K8S通过支持多种存储后端(如本地存储、NFS、iSCSI等),以及动态存储卷分配和管理等机制,实现弹性存储。

Kubernetes 底层原理是其能够实现自动化部署、扩展和管理容器化应用程序的关键。

Kubernetes 通过节点和控制平面、容器和Pod、服务发现和负载均衡、自动扩展和滚动更新等多个方面的功能,为应用程序提供了高可用性、高性能和高效率的运行环境。

相关推荐
孔令飞31 分钟前
Go:终于有了处理未定义字段的实用方案
人工智能·云原生·go
玄明Hanko1 小时前
Quarkus+Docker最全面完整教程:手把手搞定Java云原生
后端·docker·云原生
SimonLiu0091 小时前
清理HiNas(海纳斯) Docker日志并限制日志大小
java·docker·容器
高峰君主4 小时前
Docker容器持久化
docker·容器·eureka
能来帮帮蒟蒻吗4 小时前
Docker安装(Ubuntu22版)
笔记·学习·spring cloud·docker·容器
言之。9 小时前
别学了,打会王者吧
java·python·mysql·容器·spark·php·html5
秦始皇爱找茬12 小时前
docker部署Jenkins工具
docker·容器·jenkins
hoho不爱喝酒14 小时前
微服务Nacos组件的介绍、安装、使用
微服务·云原生·架构
樽酒ﻬق15 小时前
Kubernetes 常用运维命令整理
运维·容器·kubernetes
Golinie16 小时前
Docker底层原理浅析 | namespace+cgroups+文件系统
docker·容器·文件系统·cgroups·unionfs