官术网_书友最值得收藏!

Deployments

One thing you may be thinking you will be able to do with a ReplicaSet is rolling upgrades and rollbacks. Unfortunately, ReplicaSets can only replicate the same version of a pod; luckily, this is where deployments come in.

A deployment controller is designed to update a ReplicaSet or pod. Lets use NGINX as an example. As you can see from the following definition, we have 3 replicas all running NGINX version 1.9.14:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.9.14
ports:
- containerPort: 80

kubectl is the command-line client for Kubernetes; we will be looking at this in more detail in our next chapter.

We could deploy this using the following command:

$ kubectl create -f nginx-deployment.yaml

Now say we want to update the version of the NGINX image used. We simply need to run the following command:

$ kubectl set image deployment/nginx-deployment nginx=nginx:1.13.5 deployment "nginx-deployment" image updated

This will update each pod in turn until all of the pods are running the new version of NGINX.

主站蜘蛛池模板: 连平县| 莎车县| 运城市| 深水埗区| 项城市| 象州县| 丽水市| 呼和浩特市| 托里县| 天柱县| 哈巴河县| 永泰县| 南漳县| 仙桃市| 当雄县| 沁水县| 阿鲁科尔沁旗| 襄樊市| 灵台县| 叶城县| 新巴尔虎右旗| 珠海市| 永川市| 雷山县| 黔东| 新河县| 会理县| 阿勒泰市| 葫芦岛市| 安泽县| 永登县| 巴林右旗| 赤峰市| 新蔡县| 横山县| 新蔡县| 永兴县| 元谋县| 阳东县| 且末县| 察雅县|