乐趣区

关于docker:94-ReplicaSet和ReplicationController

ReplicationController

新建一个 pod_nginx.yml

apiVersion: v1
kind: ReplicationController
metadata:
  name: nginx

spec:
  replicas: 3
  selector:
    app: nginx
  template:
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
          - containerPort: 80

而后运行如下

kubectl create -f pod_nginx.yml
kubectl get rc
NAME DESIRED CURRENT READY AGE
nginx 3 3 3 4m
kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-89s9p 1/1 Running 0 6m
nginx-8bjnb 1/1 Running 0 6m
nginx-h49m5 1/1 Running 0 6m
kubectl delete pods nginx-89s9p
kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-2mvs9 0/1 ContainerCreating 0 <invalid>
nginx-89s9p 0/1 Terminating 0 9m
nginx-8bjnb 1/1 Running 0 9m
nginx-h49m5 1/1 Running 0 9m

当咱们删掉一个 pod 的时候,kube 会主动帮咱们创立另一个 pod,从而达到动静的均衡

# 动静批改 pod 数量
kubectl scale rc nginx --replicas=2

ReplicaSet

新建一个 pod_nginx.yml

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: 80

执行

# 创立
kubectl create -f pod_nginx.yml

# 查看
kubectl get rs
NAME DESIRED CURRENT READY AGE
nginx 3 3 3 2m

# 扩容
kubectl scale rs nginx --replicas=1
退出移动版