Files
k8s-note/k8s知识笔记/二、k8s pod 控制器/2、RS控制器.conf
2025-10-09 23:37:29 +08:00

61 lines
2.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

一、RS 控制器简介
ReplicationSet(RS)是Kubernetes中的一种控制器, 用于确保指定数量的Pod副本在集群中运行。
RS控制器通过监视Pod的状态, 并根据需要创建或删除Pod来维持所需的副本数。
RS控制器相较RC控制器在标签选择器方面更为灵活, 支持更多的匹配方式。
RS控制器的主要功能包括:
1. 确保指定数量的Pod副本在运行
2. 监控Pod的状态
3. 根据需要创建或删除Pod
RS 在标签选择器上, 除了可以定义键值对的 matchLabels 选择形式, 还支持 matchExpressions 字段,可以提供多种选择。目前支持的操作包括:
1. In: # label的值在某个列表中
2. NotIn: # label的值不在某个列表中
3. Exists: # 某个label 存在
4. DoesNotExist: # 某个label不存在
# 例子: matchExpressions 选择形式
spec:
selector:
matchExpressions:
- key: app
operator: Exists
# 例子: matchExpressions 选择形式
spec:
selector:
matchExpressions:
- key: app
operator: In
values:
- spring-k8s
- hahahah
二、RS 控制器资源清单
# 资源清单例子
apiVersion: apps/v1 # 接口组/版本
kind: ReplicaSet # 资源类型RS 控制器
metadata: # RS 控制器元数据
name: nginx-rs # RS 控制器名称
spec: # RS 控制器规格 ·
replicas: 2 # 期望的pod副本数
selector: # 标签选择器
matchLabels: # 匹配标签模式
app: nginx # 选择标签为app=nginx的pod
template: # pod模板
metadata: # pod元数据
labels: # pod标签,必须与selector匹配是其子集
app: nginx # 标签key为appvalue为nginx
spec: # pod规格
containers: # 容器组列表
- name: nginx # 容器名称
image: nginx:1.7.9
env: # 环境变量
- name: ENV # 环境变量名称
value: test # 环境变量值
- name: ENV2 # 环境变量名称
value: test2 # 环境变量值
ports:
- containerPort: 80 # 容器端口