AKS部署2:使用AKS部署应用程序
我想对上一次部署的部署进行更改和调整,下面将进行说明。
上一篇文章 -> https://qiita.com/komiyasa/items/f9181c2f849a00d4e52b
部署完成后的确认
使用kubectl describe命令,确认先前部署的桃子的详细信息。
$ kubectl describe deploy nginx-deployment
Name: nginx-deployment
Namespace: default
CreationTimestamp: Fri, 22 Nov 2019 03:44:51 +0000
Labels: <none>
Annotations: deployment.kubernetes.io/revision: 1
kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":{},"name":"nginx-deployment","namespace":"default"},"spec":{"replica...
Selector: app=nginx-pod
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-pod
Containers:
nginx:
Image: nginx:1.14
Port: 80/TCP
Host Port: 0/TCP
Environment: <none>
Mounts: <none>
Volumes: <none>
Conditions:
Type Status Reason
---- ------ ------
Available True MinimumReplicasAvailable
Progressing True NewReplicaSetAvailable
OldReplicaSets: <none>
NewReplicaSet: nginx-deployment-5c987f56f6 (3/3 replicas created)
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal ScalingReplicaSet 32s deployment-controller Scaled up replica set nginx-deployment-5c987f56f6 to 3
让我们来看一下上述的旧/新 ReplicaSets。存在着名为 Old 和 New 的 ReplicaSet。这意味着 Deployment 在内部具有 ReplicaSet 的版本信息。
New 中设置的字符是一个名为 nginx-deployment-5c987f56f6 的 ReplicaSet,但我们希望查看更改 Deployment 会发生什么情况。
改变部署
当前的清单文件变成了以下类型的文件。
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx-pod
template:
metadata:
labels:
app: nginx-pod
spec:
containers:
- name: nginx
image: nginx:1.14
ports:
- containerPort: 80
这个模板的镜像被定义为 image:nginx:1.14,现在我们将把它更改为1.15。
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx-pod
template:
metadata:
labels:
app: nginx-pod
spec:
containers:
- name: nginx
image: nginx:1.15
ports:
- containerPort: 80
一旦进行更改后,我们将使用kubectl apply命令来部署,就像上次一样。
$ kubectl apply -f Deployment/deploysample.yaml
deployment.apps/nginx-deployment configured
如果要部署已经部署的Pod等,将不会是“Created”,而是“configured”。
现在我们来确认一下详细信息。
$ kubectl describe deploy nginx-deployment
Name: nginx-deployment
Namespace: default
CreationTimestamp: Fri, 22 Nov 2019 03:44:51 +0000
Labels: <none>
Annotations: deployment.kubernetes.io/revision: 2
kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":{},"name":"nginx-deployment","namespace":"default"},"spec":{"replica...
Selector: app=nginx-pod
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-pod
Containers:
nginx:
Image: nginx:1.15
Port: 80/TCP
Host Port: 0/TCP
Environment: <none>
Mounts: <none>
Volumes: <none>
Conditions:
Type Status Reason
---- ------ ------
Available True MinimumReplicasAvailable
Progressing True NewReplicaSetAvailable
OldReplicaSets: <none>
NewReplicaSet: nginx-deployment-798b8d88df (3/3 replicas created)
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal ScalingReplicaSet 9m4s deployment-controller Scaled up replica set nginx-deployment-5c987f56f6 to 3
Normal ScalingReplicaSet 110s deployment-controller Scaled up replica set nginx-deployment-798b8d88df to 1
Normal ScalingReplicaSet 96s deployment-controller Scaled down replica set nginx-deployment-5c987f56f6 to 2
Normal ScalingReplicaSet 96s deployment-controller Scaled up replica set nginx-deployment-798b8d88df to 2
Normal ScalingReplicaSet 82s deployment-controller Scaled down replica set nginx-deployment-5c987f56f6 to 1
Normal ScalingReplicaSet 82s deployment-controller Scaled up replica set nginx-deployment-798b8d88df to 3
Normal ScalingReplicaSet 67s deployment-controller Scaled down replica set nginx-deployment-5c987f56f6 to 0
查看输出结果时发现,NewReplicaSet 中的值已经变成了 nginx-deployment-798b8d88df。这表明 ReplicaSet / Pod 已经被更新,并且新的部署已经完成。执行 kubectl get replicaset 命令,确认 ReplicaSet 的详细信息。
$ kubectl get replicaset --output=wide
NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES SELECTOR
nginx-deployment-5c987f56f6 0 0 0 17m nginx nginx:1.14 app=nginx-pod,pod-template-hash=5c987f56f6
nginx-deployment-798b8d88df 3 3 3 9m51s nginx nginx:1.15 app=nginx-pod,pod-template-hash=798b8d88df
我确认有一个新的部署,并且能够确认其镜像已更新。
请参考
部署
https://kubernetes.io/docs/concepts/workloads/controllers/deployment/