Skip to main content

Command Palette

Search for a command to run...

CKA Recap -- Deployment

Published
•2 min read•View as Markdown
C

Some blogs are from my previous blogs, even though I have renovated and checked before migration, but there may be still some parts out of date. (https://blog.sina.com.cn/u/1784323047 or https://blog.csdn.net/li_6698230?type=blog, if they're still accessible.)

Deployment

Basic CMD

# Create
kubectl create deploy NAME --image=IMAGE --replica NUM
# Scale (or use kubectl edit)
kubectl scale deploy NAME --replicas NUM
# Change image of deploy
kubectl set image deployments/DP_NAME ContainerName=IMAGE
k set image deployments/apache httpd=httpd:alpine

When using kubectl create cmd create the deployment, it will automatically add the same labels for both deployment and pods. So if you want to customize the label, it's better to print out --dry-run=client -oyaml the yaml file and have a check.

And if not clear the container name, can use following to find it

k get pod NAME -oyaml | grep -3 -i container

Rollout

k rollout history deployment/DP_NAME
k rollout history deployment/DP_NAME --revision REV_NUM
k rollout undo deployment/DP_NAME --to-revision REV_NUM
k rollout status deployment DP_NAME
controlplane $ k rollout history deployment video-app
deployment.apps/video-app 
REVISION  CHANGE-CAUSE
1         <none>
2         <none>
3         <none>
controlplane $ k rollout history deployment/video-app --revision 3
deployment.apps/video-app with revision #3
Pod Template:
  Labels:       app=video-app
        pod-template-hash=69648db755
  Containers:
   redis:
    Image:      redis:7.0.13
    Port:       <none>
    Host Port:  <none>
    Environment:        <none>
    Mounts:     <none>
  Volumes:      <none>
  Node-Selectors:       <none>
  Tolerations:  <none>
controlplane $ k rollout undo deployment/video-app --to-revision 3
deployment.apps/video-app skipped rollback (current template already matches revision 3)

Rolling Strategy

.spec.strategy.rollingUpdate.Unavailable and .spec.strategy.rollingUpdate.maxSurge

  • Max Unavailable

    • unavailable during the update process.
  • Max Surge

    • specifies the maximum number of Pods that can be created over the desired number of Pods
 strategy:
   type: RollingUpdate
   rollingUpdate:
     maxSurge: 30%
     maxUnavailable: 45%

.spec.strategy.type==Recreate, and we can also destroy all existing pods first then create the new pods.

 strategy:
   type: Recreate

More from this blog

Notes Renovation

52 posts