Kubernetes Pod全自动调度(Deployment或RC)
Deployment 或 RC 的主要功能之一就是自动部署一个容器应用的多份副本,以及持续监控副本的数量,在集群内始终维持用户指定的副本数量。下面是一个Deployment 配置的例子,使用这个配置文件可以创建一个ReplicaSet,这个ReplicaSet 会创建3个Nginx 应用的Pod:# nginx-deployment-1.yamlapiVersion: apps/v1kind: D
·
Deployment 或 RC 的主要功能之一就是自动部署一个容器应用的多份副本,以及持续监控副本的数量,在集群内始终维持用户指定的副本数量。
下面是一个Deployment 配置的例子,使用这个配置文件可以创建一个ReplicaSet,这个ReplicaSet 会创建3个Nginx 应用的Pod:
# nginx-deployment-1.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment-1
spec:
selector:
matchLabels:
app: nginx
replicas: 3
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
运行kubectl create 命令创建这个Deployment:
[root@k8s-master ~]# kubectl create -f nginx-deployment-1.yaml
deployment.apps/nginx-deployment-1 created
查看Deployment 的状态:
[root@k8s-master ~]# kubectl get deployments
NAME READY UP-TO-DATE AVAILABLE AGE
nginx-deployment-1 3/3 3 3 60s
该状态说明 已创建好所有3个副本,并且所有副本都是最新的可用的。
通过运行kubectl get rs 和kubectl get pods 可以查看已创建的ReplicaSet (RS) 和 Pod 的信息。
[root@k8s-master ~]# kubectl get rs
NAME DESIRED CURRENT READY AGE
nginx-deployment-1-f7ccf9478 3 3 3 3m25s
[root@k8s-master ~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-deployment-1-f7ccf9478-fz9l5 1/1 Running 0 4m
nginx-deployment-1-f7ccf9478-nxf7v 1/1 Running 0 4m
nginx-deployment-1-f7ccf9478-rrgc4 1/1 Running 0 4m
从调度策略上来说,这3个Nginx Pod 由系统全自动完成调度。它们各自最终运行在哪个节点上,完全由Master 的Scheduler 经过一系列算法计算退出,用户无法干预调度过程和结果。
更多推荐
已为社区贡献4条内容
所有评论(0)