k8s ReplicaSet

ReplicaSet 是替代 ReplicationController 的,ReplicaSet 的行为与 ReplicationController 完全相同, 但pod 选择器的表达能力更强。

ReplicaSet 和 ReplicationController 的区别:

ReplicationController 的标签选择器只允许包含某个标签的匹配 pod,但 ReplicaSet 的选择器还允许匹配缺少某个标签的 pod, 或包含特定标签名的 pod。

单个 ReplicationController 无法将 pod 与标签 env=prod 和 env=dev 同时匹配。它只能匹配带有 env=prod 或 env=dev的 pod。但一个 ReplicaSet 可以匹配两组 pod 并将它们视为一个大组。

无论 ReplicationController 的值如何,ReplicationController 都无法仅基于标签名的存在来匹配 pod, 而 ReplicaSet 则可以。 例如, ReplicaSet 可匹配所有包含名为 env 的标签的 pod, 无论ReplicaSet 的实际值是什么(可以理解为 env= *)。

ReplicaSet 相对于 ReplicationController 的主要改进是它更具表达力的标签选择器。

可以给选择器添加额外的表达式,每个表达式都必须包含一个 key、一个 operator、并且可能还有一个 values 的列表。

  • In:Label 的值必须与其中一个指定的 values 匹配
  • NotIn:Label 的值与任何指定的 values 不匹配。
  • Exists:pod 必须包含一个指定名称的标签,不应指定 values 字段。
  • DoesNotExist:pod 不得包含有指定名称的标签,不应指定 values 字段。

如果指定了多个表达式,则所有这些表达式都必须为 true 才能使选择器与 pod 匹配。

相关推荐
liux35287 分钟前
从零构建:Jenkins与Kubernetes集成的完整指南
java·kubernetes·jenkins
岚天start3 小时前
在K8S环境中,telnet nodePort端口是通的,但是 ss 获取不到端口号原因解析
iptables·kubernetes·k8s·telnet·ss
GEM的左耳返3 小时前
Java面试实战:从基础到架构的全方位技术交锋
spring boot·微服务·云原生·java面试·技术解析·ai集成
张火火isgudi3 小时前
CentOS8 使用 Docker 搭建 Jellyfin 家庭影音服务器
服务器·docker·容器
qq_447705315 小时前
宝塔通过docker部署JupyterHub指南【常见错误处理】
运维·docker·容器
tanxiaomi5 小时前
docker 从主机复制文件到容器外进行编辑
运维·docker·容器
hzulwy5 小时前
docker与k8s的容器数据卷
docker·eureka·kubernetes
java叶新东老师5 小时前
k8s pod生命周期、初始化容器、钩子函数、容器探测、重启策略
云原生·容器·kubernetes
超级小忍6 小时前
Spring Cloud Gateway:微服务架构下的 API 网关详解
微服务·云原生·架构
GEM的左耳返6 小时前
Java面试新趋势:云原生与新兴框架实战解析
云原生·graalvm·服务网格·java面试·quarkus·micronaut