【K8S】kubernetes概念和架构(一)
2023-06-13 09:15:53 时间
文章目录
1、K8S概述和特征
K8S概述:
- 1️⃣ K8S由谷歌在2014年开源的容器化集群管理系统
- 2️⃣使用K8S进行容器化应用部署
- 3️⃣使用K8S利于应用扩展
- 4️⃣K8S目标实施让部署容器化应用更加简洁和高效
K8S特性:
- 自动装箱——基于容器对应用运行环境的资源配置要求自动部署应用容器。
- 自我修复(自愈能力)——容器失败,对其重启。当所部署的Node节点有问题时,会对容器进行重新部署和重新调度。当容器未通过监控检查时,会对关闭此容器直到容器正常运行时,才会对外提供服务。
- 水平扩展——高峰期,副本数量增加;低峰期,副本数量减少。通过简单的命令、用户UI界面或基于CPU等资源使用情况,对应用容器进行规模扩大或规模剪裁
- 服务发现——负载均衡,对外提供统一入口。
- 滚动更新——对容器运行的应用,进行一次性或批量式更新。
- 版本回退——根据应用的部署情况,对应用容器运行的应用,进行历史版本及时回退。
- 密钥和配置管理——部署和更新密钥和应用配置,类似热部署。
- 存储编排——自动实现存储系统挂载及应用。
- 批处理——提供一次性任务、定时任务,满足批量数据处理和分析的场景。
2、K8S集群架构组件
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的访问规则
相关文章
- k8s 服务注册与发现(一)DNS
- Kubernetes(k8s)实现IPv4/IPv6网络双栈
- k8s实战系列: 1-再谈为什么需要Kubernetes[通俗易懂]
- k8s学习五-k8s介绍(为什么要学k8s)
- Kubernetes初体验-基于K8S的集群部署
- k8s集群部署初体验
- 记一次通过K8S ingress访问业务服务出现404问题
- 二进制部署k8s教程17 - 最后总结
- K8S 生态周报| Ingress NGINX 项目暂停接收新功能将专注于稳定性提升
- K8S 生态周报| Kubernetes 新版本引入 ContainerCheckpoint 特性
- K8S 生态周报| Kubernetes 新增 auth whoami 子命令,可获取用户属性
- K8S 生态周报| Kubernetes 修复了转义漏洞,可以放心的查看资源了
- 图解K8s源码 - k8s核心数据结构
- 关于K8s集群环境工作组隔离配置多集群切换的一些笔记
- K8S 生态周报| Kubernetes 旧的 registry 将被冻结
- k8s kubectl 命令 “人话” 翻译插件!! 离声控操作只有一步之遥。
- MySQL on k8s 云原生环境部署