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 匹配。

相关推荐
孔令飞12 分钟前
Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践
ai·云原生·容器·golang·kubernetes
极简网络科技2 小时前
Docker、Wsl 打包迁移环境
运维·docker·容器
江湖有缘2 小时前
【Docker管理工具】部署Docker可视化管理面板Dpanel
运维·docker·容器
猫咪老师19954 小时前
多系统一键打包docker compose下所有镜像并且使用
java·docker·容器
Nazi64 小时前
docker数据管理
运维·docker·容器
洛神灬殇6 小时前
【LLM大模型技术专题】「入门到精通系列教程」基于ai-openai-spring-boot-starter集成开发实战指南
网络·数据库·微服务·云原生·架构
上海运维Q先生6 小时前
Cilium动手实验室: 精通之旅---11.Advanced BGP Features - Lab
云原生·k8s·cilium
大咖分享课7 小时前
容器安全最佳实践:云原生环境下的零信任架构实施
安全·云原生·架构
孔令飞7 小时前
Go 为何天生适合云原生?
ai·云原生·容器·golang·kubernetes
Altairr7 小时前
Docker基础(二)
运维·docker·容器