ReplicaSets 介绍
rs资源是rc资源的替代品,升级优化的版本。
rs资源和rc资源的区别?
- 相同点:
- 都可以对POD副本数量进行控制。
- 都可以基于标签匹配key和value。
- 不同点:
- rc资源可以省略selector字段,默认值和"rc.spec.template.metadata.labels"相同,rs资源必须写selector字段;
- 不仅仅支持标签匹配,还支持表达式匹配;
控制Pod的副本数量,相比于rc资源,扩展性更强,支持表达式匹配标签。
cat 02-rs-nginx-matchExpressions.yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: nginx-rs-v1
labels:
apps: myweb
spec:
# 按你的实际情况修改副本数
replicas: 3
# 定义标签选择器,其会基于标签选择器关联Pod,
# 相比于rc资源,rs资源有以下优点:
# - 必须写selector;
# - 不仅支持标签选择器,还支持表达式匹配;
#
selector:
# 定义标签选择器
# matchLabels:
# apps: v1
# 基于表达式匹配
matchExpressions:
# 定义key的名称
- key: apps
# 定义value
values:
- "v1"
- "v2"
# 定义key和value之间的关系,有以下几种关系:
# In:
# key的值,在vlaues列表中任意其一即可。
# NotIn:
# key的值,不能在vlaues列表中。
# Exists:
# 只有有key就行,value任意。如果是Exists,则不允许定义values字段。
# DoesNotExist:
# 不能包含指定的key。其他的key和value任意。如果是DoesNotExist,则不允许定义values字段。
# operator: In
operator: NotIn
template:
metadata:
labels:
apps: v1
school: baimei
spec:
containers:
- name: v1
image: harbor.baimei.com/baimei-apps/apps:v1
---
apiVersion: v1
kind: Service
metadata:
name: rc-v1
spec:
type: NodePort
selector:
apps: v1
ports:
- port: 8888
targetPort: 80
nodePort: 50000
欢迎来撩 : 汇总all