[root@master1 ~]#kubectl apply -f nginx-deploy.yaml
deployment.apps/nginx created
创建完成后,查看 Pod 状态:
[root@master1 ~]#kubectl get po
NAME READY STATUS RESTARTS AGE
nginx-deploy-fd46765d4-8nzmp 1/1 Running 0 53s
nginx-deploy-fd46765d4-9rzqt 1/1 Running 0 53s
nginx-deploy-fd46765d4-ckdhw 1/1 Running 0 53s
[root@master1 ~]#kubectl get po -l app=nginx
NAME READY STATUS RESTARTS AGE
nginx-deploy-fd46765d4-8nzmp 1/1 Running 0 58s
nginx-deploy-fd46765d4-9rzqt 1/1 Running 0 58s
nginx-deploy-fd46765d4-ckdhw 1/1 Running 0 58s
[root@master1 ~]#kubectl get po -l test=course
NAME READY STATUS RESTARTS AGE
nginx-deploy-fd46765d4-8nzmp 1/1 Running 0 64s
nginx-deploy-fd46765d4-9rzqt 1/1 Running 0 64s
nginx-deploy-fd46765d4-ckdhw 1/1 Running 0 64s
[root@master1 ~]#
到这里我们发现和之前的 RS 对象是否没有什么两样,都是根据spec.replicas来维持的副本数量,我们随意查看一个 Pod 的描述信息:
[root@master1 ~]#kubectl describe pod nginx-deploy-fd46765d4-8nzmp
Name: nginx-deploy-fd46765d4-8nzmp
Namespace: default
Priority: 0
Node: node1/172.29.9.52
Start Time: Sat, 13 Nov 2021 10:41:09 +0800
Labels: app=nginx
pod-template-hash=fd46765d4
test=course
Annotations:
Status: Running
IP: 10.244.1.67
IPs:
IP: 10.244.1.67
Controlled By: ReplicaSet/nginx-deploy-fd46765d4 #注意这个
Containers:
nginx:
Container ID: containerd://8165e2ebf54336560b40e22ec42600aec52ff3154408573a7776aef3517fafda
Image: nginx
Image ID: docker.io/library/nginx@sha256:dfef797ddddfc01645503cef9036369f03ae920cac82d344d58b637ee861fda1
Port: 80/TCP
Host Port: 0/TCP
State: Running
Started: Sat, 13 Nov 2021 10:41:26 +0800
Ready: True
Restart Count: 0
Environment:
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-ftwv7 (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
kube-api-access-ftwv7:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional:
DownwardAPI: true
QoS Class: BestEffort
Node-Selectors:
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 93s default-scheduler Successfully assigned default/nginx-deploy-fd46765d4-8nzmp to node1
Normal Pulling 92s kubelet Pulling image "nginx"
Normal Pulled 77s kubelet Successfully pulled image "nginx" in 15.219437288s
Normal Created 77s kubelet Created container nginx
Normal Started 77s kubelet Started container nginx
[root@master1 ~]#
我们仔细查看其中有这样一个信息ReplicaSet/nginx-deploy-fd46765d4,什么意思?**是不是表示当前我们这个 Pod 的控制器是一个 ReplicaSet 对象啊,我们不是创建的一个 Deployment 吗?为什么 Pod 会被 RS 所控制呢?**那我们再去看下这个对应的 RS 对象的详细信息如何呢:
[root@master1 ~]#kubectl describe rs nginx-deploy-fd46765d4
Name: nginx-deploy-fd46765d4
Namespace: default
Selector: app=nginx,pod-template-hash=fd46765d4,test=course
Labels: app=nginx
pod-template-hash=fd46765d4
test=course
Annotations: deployment.kubernetes.io/desired-replicas: 3
deployment.kubernetes.io/max-replicas: 4
deployment.kubernetes.io/revision: 1
Controlled By: Deployment/nginx-deploy
Replicas: 3 current / 3 desired
Pods Status: 3 Running / 0 Waiting / 0 Succeeded / 0 Failed
Pod Template:
Labels: app=nginx
pod-template-hash=fd46765d4
test=course
Containers:
nginx:
Image: nginx
Port: 80/TCP
Host Port: 0/TCP
Environment:
Mounts:
Volumes:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal SuccessfulCreate 2m1s replicaset-controller Created pod: nginx-deploy-fd46765d4-ckdhw
Normal SuccessfulCreate 2m1s replicaset-controller Created pod: nginx-deploy-fd46765d4-9rzqt
Normal SuccessfulCreate 2m1s replicaset-controller Created pod: nginx-deploy-fd46765d4-8nzmp
[root@master1 ~]#
其中有这样的一个信息:Controlled By: Deployment/nginx-deploy,明白了吧?意思就是我们的 Pod 依赖的控制器 RS 实际上被我们的 Deployment 控制着呢。
我们再来看一下我们的deployment nginx-deploy:
[root@master1 ~]#kubectl describe deployments.apps nginx-deploy
Name: nginx-deploy
Namespace: default
CreationTimestamp: Sat, 13 Nov 2021 10:41:09 +0800
Labels: role=deploy
Annotations: deployment.kubernetes.io/revision: 1
Selector: app=nginx,test=course
Replicas: 3 desired | 3 updated | 3 total | 3 available | 0 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 0
RollingUpdateStrategy: 25% max unavailable, 25% max surge
Pod Template:
Labels: app=nginx
test=course
Containers:
nginx:
Image: nginx
Port: 80/TCP
Host Port: 0/TCP
Environment:
Mounts:
Volumes:
Conditions:
Type Status Reason
---- ------ ------
Available True MinimumReplicasAvailable
Progressing True NewReplicaSetAvailable
OldReplicaSets:
NewReplicaSet: nginx-deploy-fd46765d4 (3/3 replicas created)
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal ScalingReplicaSet 2m36s deployment-controller Scaled up replica set nginx-deploy-fd46765d4 to 3 #注意这个
[root@master1 ~]#
我们可以用下图来说明 Pod、ReplicaSet、Deployment 三者之间的关系:
通过上图我们可以很清楚的看到,定义了3个副本的 Deployment 与 ReplicaSet 和 Pod 的关系,就是一层一层进行控制的。ReplicaSet 作用和之前一样还是来保证 Pod 的个数始终保存指定的数量,所以 Deployment 中的容器 restartPolicy=Always 是唯一的就是这个原因,因为容器必须始终保证自己处于 Running 状态,ReplicaSet 才可以去明确调整 Pod 的个数。***而 Deployment 是通过管理 ReplicaSet 的数量和属性来实现水平扩展/收缩以及滚动更新两个功能的。***
1.水平伸缩
水平扩展/收缩的功能比较简单,因为 ReplicaSet 就可以实现,所以 Deployment 控制器只需要去修改它缩控制的 ReplicaSet 的 Pod 副本数量就可以了。比如现在我们把 Pod 的副本调整到 4 个,那么 Deployment 所对应的 ReplicaSet 就会自动创建一个新的 Pod 出来,这样就水平扩展了,我们可以使用一个新的命令 kubectl scale 命令来完成这个操作:
先来看下当前deployment、rs的数量:
[root@master1 ~]#kubectl get deployments.apps
NAME READY UP-TO-DATE AVAILABLE AGE
nginx-deploy 3/3 3 3 22m #这里表示有3个replica
[root@master1 ~]#kubectl get rs
NAME DESIRED CURRENT READY AGE
nginx-deploy-fd46765d4 3 3 3 22m #这里表示有3个replica 即:deployment和rs这的replicas的数量是保持一致的
[root@master1 ~]#
[root@master1 ~]#kubectl get rs
NAME DESIRED CURRENT READY AGE
nginx-deploy-fd46765d4 4 4 3 23m
[root@master1 ~]#kubectl get rs #这里的4代表4个副本replica(pod)
NAME DESIRED CURRENT READY AGE
nginx-deploy-fd46765d4 4 4 4 24m
[root@master1 ~]#kubectl get deployments.apps #这里的4代表4个副本replica(pod)
NAME READY UP-TO-DATE AVAILABLE AGE
nginx-deploy 4/4 4 4 24m
[root@master1 ~]#kubectl get po
NAME READY STATUS RESTARTS AGE
nginx-deploy-fd46765d4-8nzmp 1/1 Running 0 6m52s
nginx-deploy-fd46765d4-9rzqt 1/1 Running 0 6m52s
nginx-deploy-fd46765d4-ckdhw 1/1 Running 0 6m52s
nginx-deploy-fd46765d4-tdkjv 1/1 Running 0 22s
[root@master1 ~]#
可以看到期望的 Pod 数量已经变成 4 了,只是 Pod 还没准备完成,所以 READY 状态数量还是 3,同样查看 RS 的详细信息:
[root@master1 ~]#kubectl describe rs nginx-deploy-fd46765d4
Name: nginx-deploy-fd46765d4
Namespace: default
Selector: app=nginx,pod-template-hash=fd46765d4,test=course
Labels: app=nginx
pod-template-hash=fd46765d4
test=course
Annotations: deployment.kubernetes.io/desired-replicas: 4
deployment.kubernetes.io/max-replicas: 5
deployment.kubernetes.io/revision: 1
Controlled By: Deployment/nginx-deploy
Replicas: 4 current / 4 desired
Pods Status: 4 Running / 0 Waiting / 0 Succeeded / 0 Failed
Pod Template:
Labels: app=nginx
pod-template-hash=fd46765d4
test=course
Containers:
nginx:
Image: nginx
Port: 80/TCP
Host Port: 0/TCP
Environment:
Mounts:
Volumes:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal SuccessfulCreate 7m16s replicaset-controller Created pod: nginx-deploy-fd46765d4-ckdhw
Normal SuccessfulCreate 7m16s replicaset-controller Created pod: nginx-deploy-fd46765d4-9rzqt
Normal SuccessfulCreate 7m16s replicaset-controller Created pod: nginx-deploy-fd46765d4-8nzmp
Normal SuccessfulCreate 46s replicaset-controller Created pod: nginx-deploy-fd46765d4-tdkjv
[root@master1 ~]#
[root@master1 ~]#kubectl get po --watch
NAME READY STATUS RESTARTS AGE
nginx-deploy-fd46765d4-8nzmp 1/1 Running 0 9m34s
nginx-deploy-fd46765d4-9rzqt 1/1 Running 0 9m34s
nginx-deploy-fd46765d4-ckdhw 1/1 Running 0 9m34s
nginx-deploy-fd46765d4-tdkjv 1/1 Running 0 3m4s
-- test Recreate----
nginx-deploy-fd46765d4-tdkjv 1/1 Terminating 0 3m25s
nginx-deploy-fd46765d4-8nzmp 1/1 Terminating 0 9m55s
nginx-deploy-fd46765d4-ckdhw 1/1 Terminating 0 9m55s
nginx-deploy-fd46765d4-9rzqt 1/1 Terminating 0 9m55s
nginx-deploy-fd46765d4-ckdhw 0/1 Terminating 0 9m56s
nginx-deploy-fd46765d4-ckdhw 0/1 Terminating 0 9m56s
nginx-deploy-fd46765d4-ckdhw 0/1 Terminating 0 9m56s
nginx-deploy-fd46765d4-9rzqt 0/1 Terminating 0 9m56s
nginx-deploy-fd46765d4-9rzqt 0/1 Terminating 0 9m56s
nginx-deploy-fd46765d4-9rzqt 0/1 Terminating 0 9m56s
nginx-deploy-fd46765d4-tdkjv 0/1 Terminating 0 3m26s
nginx-deploy-fd46765d4-tdkjv 0/1 Terminating 0 3m26s
nginx-deploy-fd46765d4-tdkjv 0/1 Terminating 0 3m26s
nginx-deploy-fd46765d4-8nzmp 0/1 Terminating 0 9m56s
nginx-deploy-fd46765d4-8nzmp 0/1 Terminating 0 9m56s
nginx-deploy-fd46765d4-8nzmp 0/1 Terminating 0 9m56s #原来old pod被一起删除
nginx-deploy-6c5ff87cf-4f229 0/1 Pending 0 0s
nginx-deploy-6c5ff87cf-4f229 0/1 Pending 0 0s
nginx-deploy-6c5ff87cf-w2csq 0/1 Pending 0 0s
nginx-deploy-6c5ff87cf-p866j 0/1 Pending 0 0s
nginx-deploy-6c5ff87cf-w2csq 0/1 Pending 0 0s
nginx-deploy-6c5ff87cf-ttm2v 0/1 Pending 0 0s
nginx-deploy-6c5ff87cf-p866j 0/1 Pending 0 0s
nginx-deploy-6c5ff87cf-ttm2v 0/1 Pending 0 0s
nginx-deploy-6c5ff87cf-p866j 0/1 ContainerCreating 0 0s
nginx-deploy-6c5ff87cf-4f229 0/1 ContainerCreating 0 1s
nginx-deploy-6c5ff87cf-w2csq 0/1 ContainerCreating 0 2s
nginx-deploy-6c5ff87cf-ttm2v 0/1 ContainerCreating 0 2s
nginx-deploy-6c5ff87cf-ttm2v 1/1 Running 0 4s
nginx-deploy-6c5ff87cf-p866j 1/1 Running 0 17s
nginx-deploy-6c5ff87cf-w2csq 1/1 Running 0 19s
nginx-deploy-6c5ff87cf-4f229 1/1 Running 0 34s
[root@master1 ~]#kubectl get deploy,rs,po
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/nginx-deploy 4/4 4 4 11m
NAME DESIRED CURRENT READY AGE
replicaset.apps/nginx-deploy-6c5ff87cf 4 4 4 91s #当前rs
replicaset.apps/nginx-deploy-fd46765d4 0 0 0 11m
NAME READY STATUS RESTARTS AGE
pod/nginx-deploy-6c5ff87cf-4f229 1/1 Running 0 91s
pod/nginx-deploy-6c5ff87cf-p866j 1/1 Running 0 91s
pod/nginx-deploy-6c5ff87cf-ttm2v 1/1 Running 0 91s
pod/nginx-deploy-6c5ff87cf-w2csq 1/1 Running 0 91s
[root@master1 ~]#
[root@master1 ~]#kubectl rollout history deployment nginx-deploy
deployment.apps/nginx-deploy
REVISION CHANGE-CAUSE
1
2 #当前rs
#我们可以在看下当前rs的revisio是不是2呢:
[root@master1 ~]#kubectl describe rs nginx-deploy-6c5ff87cf |grep revision
deployment.kubernetes.io/revision: 2
[root@master1 ~]#
#我们再看下nginx-deploy deploy的 event:
[root@master1 ~]#kubectl describe deployments.apps |tail -8
NewReplicaSet: nginx-deploy-6c5ff87cf (4/4 replicas created)
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal ScalingReplicaSet 12m deployment-controller Scaled up replica set nginx-deploy-fd46765d4 to 3
Normal ScalingReplicaSet 5m46s deployment-controller Scaled up replica set nginx-deploy-fd46765d4 to 4
Normal ScalingReplicaSet 2m21s deployment-controller Scaled down replica set nginx-deploy-fd46765d4 to 0
Normal ScalingReplicaSet 2m20s deployment-controller Scaled up replica set nginx-deploy-6c5ff87cf to 4
[root@master1 ~]#
上面Recreate升级策略验证完了,接下来我们验证下RollingUpdate滚动更新升级策略:
先来看下RollingUpdate可以配置的选项:
[root@master1 ~]#kubectl explain deploy.spec.strategy.rollingUpdate
KIND: Deployment
VERSION: apps/v1
RESOURCE: rollingUpdate
DEscriptION:
Rolling update config params. Present only if DeploymentStrategyType =
RollingUpdate.
Spec to control the desired behavior of rolling update.
FIELDS:
maxSurge
The maximum(最大限度) number of pods that can be scheduled above(超过) the desired number
of pods. Value can be an absolute(绝对的) number (ex: 5) or a percentage(百分比) of desired
pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number
is calculated(计算) from percentage by rounding up(四舍五入). Defaults to 25%. Example:
when this is set to 30%, the new ReplicaSet can be scaled up immediately
when the rolling update starts, such that the total number of old and new
pods do not exceed(超过) 130% of desired pods. Once(一旦) old pods have been killed,
new ReplicaSet can be scaled up further(进一步), ensuring that total number of pods
running at any time during the update is at most 130% of desired pods.
maxUnavailable
The maximum number of pods that can be unavailable during the update. Value
can be an absolute number (ex: 5) or a percentage of desired pods (ex:
10%). Absolute number is calculated from percentage by rounding down(舍入,去尾法). This
can not be 0 if MaxSurge is 0. Defaults to 25%. Example: when this is set
to 30%, the old ReplicaSet can be scaled down to 70% of desired pods
immediately when the rolling update starts. once new pods are ready, old
ReplicaSet can be scaled down further, followed by scaling up the new
ReplicaSet, ensuring that the total number of pods available at all times
during the update is at least 70% of desired pods.
[root@master1 ~]#
更新后,我们可以执行下面的 kubectl rollout status 命令来查看我们此次滚动更新的状态:
我们先来看下rollout命令的可以参数:
[root@master1 ~]#kubectl rollout --help
Manage the rollout of a resource.
Valid resource types include:
* deployments
* daemonsets
* statefulsets
Examples:
# Rollback to the previous deployment
kubectl rollout undo deployment/abc
# Check the rollout status of a daemonset
kubectl rollout status daemonset/foo
Available Commands:
history View rollout history
pause(暂停) Mark the provided resource as paused
restart Restart a resource
resume(恢复) Resume a paused resource
status Show the status of the rollout
undo(撤销,使恢复原状) Undo a previous rollout
Usage:
kubectl rollout SUBCOMMAND [options]
Use "kubectl --help" for more information about a given command.
Use "kubectl options" for a list of global command-line options (applies to all commands).
[root@master1 ~]#
从上面的信息可以看出我们的滚动更新已经有两个 Pod 已经更新完成了,在滚动更新过程中,我们还可以执行如下的命令来暂停更新:
[root@master1 ~]#kubectl describe deployments.apps nginx-deploy
Name: nginx-deploy
Namespace: default
CreationTimestamp: Sat, 13 Nov 2021 10:41:09 +0800
Labels: role=deploy
Annotations: deployment.kubernetes.io/revision: 3
Selector: app=nginx,test=course
Replicas: 4 desired | 2 updated | 5 total | 5 available | 0 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 5
RollingUpdateStrategy: 1 max unavailable, 1 max surge
Pod Template:
Labels: app=nginx
test=course
Containers:
nginx:
Image: nginx:latest
Port: 80/TCP
Host Port: 0/TCP
Environment:
Mounts:
Volumes:
Conditions:
Type Status Reason
---- ------ ------
Available True MinimumReplicasAvailable
Progressing Unknown DeploymentPaused
OldReplicaSets: nginx-deploy-6c5ff87cf (3/3 replicas created)
NewReplicaSet: nginx-deploy-595b8954f7 (2/2 replicas created)
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal ScalingReplicaSet 15m deployment-controller Scaled up replica set nginx-deploy-fd46765d4 to 3
Normal ScalingReplicaSet 9m8s deployment-controller Scaled up replica set nginx-deploy-fd46765d4 to 4
Normal ScalingReplicaSet 5m43s deployment-controller Scaled down replica set nginx-deploy-fd46765d4 to 0
Normal ScalingReplicaSet 5m42s deployment-controller Scaled up replica set nginx-deploy-6c5ff87cf to 4
Normal ScalingReplicaSet 41s deployment-controller Scaled up replica set nginx-deploy-595b8954f7 to 1
Normal ScalingReplicaSet 41s deployment-controller Scaled down replica set nginx-deploy-6c5ff87cf to 3
Normal ScalingReplicaSet 41s deployment-controller Scaled up replica set nginx-deploy-595b8954f7 to 2
[root@master1 ~]#
[root@master1 ~]#kubectl rollout undo deployment nginx-deploy --to-revision=1
deployment.apps/nginx-deploy rolled back
回滚的过程中我们同样可以查看回滚状态:
[root@master1 ~]#kubectl rollout status deployment nginx-deploy
Waiting for deployment "nginx-deploy" rollout to finish: 2 out of 4 new replicas have been updated...
Waiting for deployment "nginx-deploy" rollout to finish: 2 out of 4 new replicas have been updated...
Waiting for deployment "nginx-deploy" rollout to finish: 2 out of 4 new replicas have been updated...
Waiting for deployment "nginx-deploy" rollout to finish: 2 out of 4 new replicas have been updated...
Waiting for deployment "nginx-deploy" rollout to finish: 3 out of 4 new replicas have been updated...
Waiting for deployment "nginx-deploy" rollout to finish: 3 out of 4 new replicas have been updated...
Waiting for deployment "nginx-deploy" rollout to finish: 3 out of 4 new replicas have been updated...
Waiting for deployment "nginx-deploy" rollout to finish: 3 out of 4 new replicas have been updated...
Waiting for deployment "nginx-deploy" rollout to finish: 3 out of 4 new replicas have been updated...
Waiting for deployment "nginx-deploy" rollout to finish: 3 out of 4 new replicas have been updated...
Waiting for deployment "nginx-deploy" rollout to finish: 3 out of 4 new replicas have been updated...
Waiting for deployment "nginx-deploy" rollout to finish: 1 old replicas are pending termination...
Waiting for deployment "nginx-deploy" rollout to finish: 3 of 4 updated replicas are available...
Waiting for deployment "nginx-deploy" rollout to finish: 3 of 4 updated replicas are available...
deployment "nginx-deploy" successfully rolled out
[root@master1 ~]#
这个时候查看对应的 RS 资源对象可以看到 Pod 副本已经回到之前的 RS 里面去了。
[root@master1 ~]#kubectl get rs
NAME DESIRED CURRENT READY AGE
nginx-deploy-595b8954f7 0 0 0 18m
nginx-deploy-6c5ff87cf 0 0 0 23m
nginx-deploy-fd46765d4 4 4 4 33m
[root@master1 ~]#
[root@master1 ~]#kubectl describe deployments.apps nginx-deploy
Name: nginx-deploy
Namespace: default
CreationTimestamp: Thu, 11 Nov 2021 22:04:31 +0800
Labels: role=deploy
Annotations: deployment.kubernetes.io/revision: 3
Selector: app=nginx,test=course
Replicas: 3 desired | 3 updated | 3 total | 3 available | 0 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 5
RollingUpdateStrategy: 1 max unavailable, 1 max surge
Pod Template:
Labels: app=nginx
test=course
Containers:
nginx:
Image: nginx:latest
Port: 80/TCP
Host Port: 0/TCP
Environment:
Mounts:
Volumes:
Conditions:
Type Status Reason
---- ------ ------
Available True MinimumReplicasAvailable
Progressing True NewReplicaSetAvailable
OldReplicaSets:
NewReplicaSet: nginx-deploy-595b8954f7 (3/3 replicas created)
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal ScalingReplicaSet 23m deployment-controller Scaled down replica set nginx-deploy-6c5ff87cf to 3
Normal ScalingReplicaSet 23m deployment-controller Scaled up replica set nginx-deploy-595b8954f7 to 1
Normal ScalingReplicaSet 23m deployment-controller Scaled down replica set nginx-deploy-6c5ff87cf to 2
Normal ScalingReplicaSet 23m deployment-controller Scaled up replica set nginx-deploy-595b8954f7 to 2
Normal ScalingReplicaSet 22m deployment-controller Scaled down replica set nginx-deploy-6c5ff87cf to 0
Normal ScalingReplicaSet 22m deployment-controller Scaled up replica set nginx-deploy-595b8954f7 to 3 #最终的目的:就是deployment-controller将old rs的副本数设置为0,将new rs的副本数设置为desired数量
[root@master1 ~]#
[root@master1 ~]#kubectl get rs
NAME DESIRED CURRENT READY AGE
nginx-deploy-595b8954f7 3 3 3 25m
nginx-deploy-6c5ff87cf 0 0 0 9h
nginx-deploy-fd46765d4 0 0 0 9h
[root@master1 ~]#
注意事项
1.某个资源的status字段
注意:某个资源的status字段是系统默认帮我们生成并填充的一些信息;
[root@master1 ~]#kubectl explain deploy
KIND: Deployment
VERSION: apps/v1
DEscriptION:
Deployment enables declarative updates for Pods and ReplicaSets.
FIELDS:
apiVersion
APIVersion defines the versioned schema of this representation of an
object. Servers should convert recognized schemas to the latest internal
value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client submits
requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
spec
Specification of the desired behavior of the Deployment.
status
Most recently observed status of the Deployment.
[root@master1 ~]#