大模块小模块概念功能控制器PodPod 是 Kubernetes 的基本运行单位,
代表了在集群中运行的一个或多个容器的组合,
是传统容器的抽象和封装。
承受所有的工作负载
提供启动后和删除前的钩子功能
提供对 Pod 内服务的健康检查功能
提供容器组之间的共享功能
RC & RS复制控制器,可以确保 Pod 副本数达到期望值,
与手动创建 Pod 方式的不同之处在于使用 RC & RS 维护的 Pod 在失败、删除、或终止时会自动替换。
提供 Pod 副本的自动扩缩容的功能deployment用于部署无状态应用,提供一种声明式的方式来描述应用的期望状态。版本控制
弹性伸缩
滚动更新
自动灾难恢复
暂停 or 继续StatefulSet主要用于管理有状态应用的工作负载,如:Redis 集群、Kafka 集群等,
与 deployment 不同的是,每个 Pod 都有一个持久的标识符。
部署有状态应用
稳定的、持久的存储(删除或者扩缩 StatefulSet 并 不会删除它关联的存储卷)
有序的、优雅的部署和扩缩容
有序的、自动的滚动更新
稳定的域名
DaemonSetDaemonSet 是一个确保全部或者某些节点上必须运行一个 Pod 的工作负载资源(守护进程),
当有节点加入集群时, 也会为他们新增一个 Pod。
在每个节点上运行集群守护进程
部署对集群至关重要的基础设施Job/CronJobJob 是 Kubernetes 用来控制批处理型任务的资源对象。
CrobJob 则就是在 Job 上加上了时间调度,用来执行一些周期性的任务。
支持单个 or 多个任务并行执行
支持挂起 Job
定时任务(例如:周期备份、发邮件等等任务)
HPA水平 Pod 自动缩放器。自动扩缩容
指标监控
RuntimeClass用于指定容器运行时的类型和配置。将容器运行时的选择权交给了用户,
使其能够根据实际需求选择最合适的容器运行时
调度器
Label & SelectorLabel 对 k8s 中各个资源进行分类、分组,添加一个具有特别属性的标签
Selector 通过一个过滤的语法进行查找到对应标签的资源。资源的标识和分类
资源的选择和过滤
资源间的关联关系
NodeSelector节点选择器,用于将 Pod 调度到匹配 label 的 node 上。可以动态调度到具有指定 Label 的节点上,
或者说调度到具有指定特性的物理机上
nodeAffinity & NodeAntiAffinity节点亲和器和反亲和器(比 NodeSelector 更强大的节点选择器)。资源隔离(将有冲突的服务部署在不同物理机)
性能优化(通信量较大的服务部署在同一台物理机)
实现服务容灾(同一个服务的副本部署在不同物理机)
资源灵活选择(如选择 sgx 节点)podAffinity & podAntiAffinityPod 亲和器和反亲和器。taint & tolerations污点和容忍度。避免某些节点被调度,比如:master
污点和容忍度(Toleration)相互配合,可以用来避免 Pod 被分配到不合适的节点上
存储
secret是一种包含少量敏感信息例如密码、令牌或密钥的对象。减少敏感信息的暴露面configMap用来存储配置文件的 kubernetes 资源对象。以存储卷或 env 的方式注入配置信息
支持热更新
配置信息与容器的解耦
Volumes属于存储类别,是用来声明在 Pod 中的容器可以访问的文件目录的,是一个抽象的对象。容器间文件目录共享
为不同种类的卷提供了统一的接入方式
PV & PVCPersistentVolume(持久卷,简称 PV)是集群内,由管理员提供的网络存储的一部分
PersistentVolumeClaim(持久卷声明,简称 PVC)是用户的一种存储请求
PVC 与 PV 的绑定是一对一的映射
实现对存储的动态管理
实现存储与容器的解耦
实现持久化存储
抽象存储资源网络网络模型:
集群里的每个 Pod 都会有唯一的一个 IP 地址
Pod 里的所有容器共享这个 IP 地址
集群里的所有 Pod 都属于同一个网段
Pod 直接可以基于 IP 地址直接访问另一个 Pod,不需要做麻烦的网络地址转换(NAT)
共享 namespace : Pod 里面的容器共享 network namespace (IP and MAC address)
Pod-to-Pod 网络模型:Pod 直连
Service-to-Pod 网络模型:
Pod 根据需求动态扩缩、故障恢复时,IP 地址发生变化时可能无法访问,
k8s 抽象出 Service 当作一组 Pod 的入口,入口不会变化,解决了该问题
集群安全机制
认证认证阶段负责识别客户端的身份。方式:PKI、HTTP token、Service Account授权授权阶段判断请求是否具有相应的权限。方式:ABAC(基于属性的访问控制)、RBAC(基于角色的访问控制)准入控制用于拦截(在认证和授权之后)对 API 的请求如:PodSecurityPolicies、ResourceQuotas、NamespaceLifecycle 等Pod 安全主要包含一些限制容器内权限的机制如:安全上下文、Pod 安全策略、最小权限原则服务发现
IngressIngress 相当于一个 7 层的负载均衡器,是 kubernetes 对反向代理的一个抽象,它的工作原理类似于 Nginx。提供 URL 路由、负载均衡、HTTPS 入口和名称基础的虚拟主机Service一种抽象,定义了访问一组 Pod 的方式。相当于四层代理
公开集群内的 Web 服务
提供了一个稳定的网络接口到此这篇k8s版本更新记录(k8s最新版本是多少)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/53079.html