K8S系列:ReplicationController 、ReplicaSet yaml理解

 

yaml例子

编辑yaml

apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: nginx
  labels:
    tier: frontend
spec:
  replicas: 3
  selector:
    matchLabels:
      tier: frontend
  template:
    metadata:
      name: nginx
      labels:
        tier: frontend
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 8014              

replicas: 3  表示运行3个pod

 selector:  通过select来筛选label tier为frontend的pod
    matchLabels:
      tier: frontend

 

 发布

kubectl apply -f pod_nginx_rs.yaml

 

查看pod

K8S系列:ReplicationController 、ReplicaSet yaml理解_第1张图片

 

扩容

 kubectl scale rc -f ~/nginx/pod_nginx_rs.yaml  --replicas=4

 

 kubectl get pods -w

K8S系列:ReplicationController 、ReplicaSet yaml理解_第2张图片

K8S系列:ReplicationController 、ReplicaSet yaml理解_第3张图片

 

删除指定的所有pod

kubectl delete -f pod_nginx_rs.yaml 

K8S系列:ReplicationController 、ReplicaSet yaml理解_第4张图片

ReplicationController和ReplicaSet 区别

例子中ReplicaSet改为ReplicationController效果是一样的。

不同在于ReplicaSet功能更强大,可替代ReplicationController。

比如ReplicationController只能selector固定的一个label,ReplicaSet还可以支持not 等表达式。

 

ReplicaSet通常结合Deployment一块使用:

Deployment支持滚动更新,ReplicaSet不支持滚动更新。

 

K8S系列:Deployment yaml理解

你可能感兴趣的:(K8S)