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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。