Docs/CloudNative/Kubernetes/Base/k8s-deployment.md
2022-10-18 16:59:37 +08:00

1.1 KiB

apiVersion: app/v1 # kubectl explain deployment
kind: Deployment
metadata:
  name: deploy-demo
  namespace: default

spec:
  replica: 2
  selector: # 选择器匹配[与以下templatelabels匹配]
    matchLabels:
      app: myapp-demo
      release: v2
  template:
    metadata:
      labels:
        app: myapp-demo
        release: v2
    spec:
      containers:
      - name: myapp
        image: xxx/myapp
        ports:
        - name: demo-http
          containerPort:80

创建

kubectl apply -f deploy-demo.yaml

查看deployment

kubectl get deployment

项目详细信息

kubectl describe deploy名称

回滚

kubectl rollout undo deployment deploy-demo --to-revision=版本

暂停

kubectl rollout pause deployment deploy-demo

暂停恢复

kubectl rollout resume deployment deploy-demo

查询升级状态

kubectl rollout status deployment deploy-demo

查询升级历史

kubectl rollout history deployment deployment

打补丁[json格式]

kubectl patch deployment deploy-demo -p '{"spec":{"replica":5}}' 
或kubectl set image deployment deploy-demo image=xxx/myapp:v1