replicaSet 简称 rs
apiVersion: apps/vi
kind: ReplicaSet
metadata: #这里是ReplicaSet的元数据
name: myapp
namespace: default
spec:
replicas: 2
selector: #标签选择器,此处有两种方式
matchExpressions:
matchLabels:#方式1, 直接给出对用标签
app: myapp
version: stable
template: #用于定义pod的模板,与pod定义格式完全一样,仅用到metadata和spec
metadata:
name: myapp-pod #没什么用
labels: # 这里的设定要符合标签选择器
app: myapp
version: stable
environment: qa
spec:
containers:
- name: myapp-container #注意这里的格式
imagePullPolicy: IfNotPresent
image: ikubernetes/myapp:v1
ports:
- name: http
containerPort: 80
多退少补
kubectl edit rs myapp 可以用于修改当前的rs实现扩容或者缩容或是版本更新
在进行版本更新时,虽然已经用edit命令执行了,但是正在运行的pod并没有什么改动,只有在重建pod时才会去读配置文件进行更新。