《云原生基础设施》
资源高效 应用敏捷 业务智能 安全可信
1.容器技术

常见容器技术:docker podman LXC containerd katacontainers




2.Kubernetes容器引擎
容器编排:mesos docker swarm kubernetes
k8s开源容器编排平台,用于自动化管理大规模集群
实现自动化部署、升级回滚、弹性伸缩、负载均衡、故障恢复、服务发现、网络管理
docker是单机环境
k8s管理大规模容器集群,提供自动化编排能力,解决容器调度、伸缩、故障恢复问题,适用于生产环境分布式应用。
k8s架构

存活 就绪 启动





Service --- TCP UDP
Ingress --- HTTP


master节点
•kube-apiserver——API服务器(API Server)负责公开Kubernetes API,处理接受请求的工作。
提供认证、授权、访问控制、API注册和发现等机制
通过restapi方式接收外部请求,解析请求,转发请求
•etcd——所有集群数据的后台数据库,持久化存储集群中所有的资源对象以及配置数据。
•kube-scheduler——Kubernetes调度器(Scheduler)负责Pod在集群节点中的调度分配。
负责观测每个node总共可用的计算 存储资源 根据用户请求创建容器所需要的资源用量 调度合适的node节点
•kube-controller-manager——Kubernetes控制器管理器(Controller Manager)负责运行控制器进程,确保集群状态。
程序部署安排、故障检测、自动扩展、滚动更新等功能
node节点
•kubelet——在集群中每个节点上运行,是负责启动容器的重要的守护进程,接收master的指令,启动和监控容器,用于保证容器在Pod中健康运行。
•kube-proxy——集群中每个节点上所运行的网络代理,是实现Kubernetes服务(Service)的通信与负载均衡机制的重要组件,管理网络规则,保证集群内外流量正确路由。
•容器运行时(Container Runtime)——在Kubernetes集群的每个节点上运行,启动和管理容器,负责容器的整个生命周期
常见控制器
1.Deployment 控制器
用于管理无状态应用的部署和生命周期,支持滚动更新、回滚、扩缩容等功能。通过定义 Pod 的数量、镜像、资源限制等,确保应用在集群中的高可用性。
2.StatefulSet 控制器
用于管理有状态应用,确保应用实例的持久性和顺序性,例如数据库、分布式系统等。每个 Pod 都有唯一的标识,数据持久化,且按顺序创建、删除和更新。
3.DaemonSet 控制器
确保每个(或指定的)节点上都运行一个 Pod,常用于日志收集、监控代理、系统守护进程等场景。当节点变化时,自动适应并调整 Pod 的创建和删除。
4.Job 控制器
用于管理一次性任务,确保任务成功完成一次或多次。任务失败时自动重试,直到成功或达到重试上限。
5.CronJob 控制器
用于管理定时任务,按预定时间表(Cron 表达式)周期性地执行任务。这些控制器共同构成了 Kubernetes 的核心资源管理能力,满足不同应用场景的需求。3.CCE云容器引擎







