k8s介绍,及其主要组件作用

什么是k8s

Kubernetes,简称K8s,是一个开源的容器编排平台,其主要的目的是自动化应用的部署,拓展以及管理。它能帮助你管理容器化的应用,使得服务在不同的主机之间进行调度,从而实现负载均衡,高可用和自动伸缩。

k8s主要组件及其作用

1)Master节点组件

API Server :k8s的前端,提供RESTful接口,是所有资源的操作入口。它是集群的门户,其他组件和用户通过它与集群交互。

etcd:分布式键值存储,用于保存集群的所有数据,比如配置,状态等。确保数据的一致性和高可用性。

Contorller Manager: 运行控制循环来调节集群的状态,如节点控制器,端口控制器,命名空间控制器等,确保集群实际状态与期望状态一致。

Scheduler:负责新创建的或未分配的pod在工作节点上的调度,选择合适的节点运行pod。

2)Node节点组件

Kubelet:负责生命周期管理,可以监听ApI Server指令并执行和报告相应的Pod状态。

Kube-proxy:提供网络代理和负载均衡功能,维护网络规则,允许服务与pod之间的通信。

Container Runtime:运行容器的软件,如docker,containerd等。

3)高层组件

Pod:k8s中最小的部署单位,通常包含一个或多个容器,运行在同一个网络命名空间,使用相同的存储卷。

Service:提供Pod的永久访问方法,通过标签选择器将多pod指定未一个服务,实现负载均衡。

Deployment:声明式管理Pod和ReplicaSet(副本集),提供更新和回滚机制,确保pod达到期望的状态。

Namespace: 提供逻辑隔离机制,用于同一集群中资源的分组和隔离。

ConfigMap和Secret:用于存储配置数据和敏感信息,分别以非加密和加密方式存储。

相关推荐
鹤落晴春5 小时前
【K8s】Pod调度、configMaps
云原生·容器·kubernetes
张忠琳5 小时前
【runc 1.4.2】(Part 2)runc 1.4.2 超深度分析 — CLI层:main.go、命令文件、runner、信号处理、TTY
云原生·kubernetes·runc
极客先躯6 小时前
高级java每日一道面试题-2026年02月02日-实战篇[Docker]-如何实现容器的持久化存储?
docker·容器·面试宝典·持久化·存储·韵味·java高级面试题
阿里云云原生8 小时前
AI 提效是“假象”还是“红利”?用 LoongSuite + SLS 构建组织级 AI 编码度量看板
云原生
极客先躯8 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
Java识堂9 小时前
如何对微服务进行拆分?
微服务·云原生·架构
某林21210 小时前
Isaac Sim 5.1.0 无头服务器部署与 RTX 显存段错误排障全记录
运维·服务器·docker·容器·isaac
m0_7381207210 小时前
Docker 环境下 Vulfocus 靶场搭建全流程(附镜像源问题解决方案)
运维·服务器·网络·安全·docker·容器
Plastic garden11 小时前
K8s知识(3) Pod亲和性,调度
云原生·容器·kubernetes