Kubernetes(K8s)

K8s是为了解决微服务架构中大量容器部署和管理的问题。

希腊语"舵手"的意思。K8s是一个开源的容器编排平台,用于自动部署、扩展和管理容器化应用程序。最初由Google设计并捐赠给CNCF来维护。

K8s需要部署在至少2台机器的硬件集群环境中,K8s也叫云原生操作系统。

K8s中的机器分为两个角色:管理节点和工作节点。

K8s官网:https://kubernetes.io/

自动化容器管理

容器可扩展性

高可用性和容错能力

服务发现和负载均衡

Kubernetes 采用 "管理节点 / 工作节点" 架构

管理节点也叫 Master Node,它是整个集群里最重要的部分,可以说是 K8s的大脑和心脏;

工作节点叫做 Worker Node,工作节点数量非常多,构成了一个资源池,K8s就在这个池里分配资源,调度应用。

K8s-主节点(Master)组件

API Server 是整个K8s系统的唯一入口,对外开放了RESTful API,所有组件之间并不会互相调用,而是通过和 API Server 打交道来完成自己需要的工作。

Etcd 是一个高可用的分布式 Key-Value 数据库,用来持久化存储系统里的各种资源对象和状态。

Scheduler 负责对集群内部的资源进行调度,相当于调度员的角色,按照预定的调度策略将 Pod 调度到相应的节点上。

Controller Manager 负责查看维护容器和节点等K8s资源的状态,实现故障检测、服务迁移、应用伸缩等功能,相当于监控运维人员。

kubectl 是一个k8s提供的客户端命令行交互工具,用来对K8s集群进行管理和操作。

K8s-工作节点(Worker)组件

Kubelet 是工作节点的代理,负责管理工作节点相关的绝大部分操作,类似在各个节点上的K8s管理员。它负责启动、停止、复制、监控容器,以及确保容器的运行状态。

Kube-proxy 是工作节点的网络代理,只负责管理容器的网络通信,实现集群内的服务发现和负载均衡。

Container-Runtime 容器运行时,负责实际运行操作容器,相当于容器引擎。kubelet与容器运行时通信,以管理容器的生命周期。 container-runtime 可以是任何符合CRI标准的其他容器运行时,如Docker、containerd等,K8s1.24版本之后不再直接支持Docker运行时。

相关推荐
Crazy________2 小时前
k8s部署若依微服务架构流程,v3.6.6
运维·云原生·容器·kubernetes·状态模式
阿里云云原生3 小时前
AI 创新实践论坛·上海站精彩回顾 & PPT 下载
云原生
阿里云云原生4 小时前
轮子还要自己造吗?SRE 团队视角:从“全栈自研”到“拥抱云原生可观测底座”的思考
云原生
生活爱好者!4 小时前
NAS还能用来开视频会议?docker一键部署MiroTalk SFU
运维·docker·容器
xiaoxiangsiyan5 小时前
GitLab CI/CD 自托管(EE 企业版)+ Kubernetes Runner 集群 + ArgoCD(GitOps 部署)
运维·网络·ci/cd·容器·kubernetes·gitlab·argocd
PC2005-cloud5 小时前
KubeSphere 安装到插件管理实战:本地 K8s 搭建可视化容器平台
云原生·容器·kubernetes
沉迷学习 日益消瘦7 小时前
19-集群升级与维护
kubernetes
凌虚7 小时前
Kubernetes 编年史:从 Borg 到云原生操作系统
后端·程序员·kubernetes
瞬间&永恒~7 小时前
【Docker】(四)Namespace 详解
运维·docker·容器
就改了7 小时前
Docker安装并运行Redis
redis·docker·容器