k8s命令实战-Deployment

Deployment:控制pod,提供多副本、自愈、扩缩容等功能

  • 创建deployment
kubectl create deployment mytomcat --image=tomcat:8.5.68
  • 观察自愈能力
watch -n 1 kubectl get pods -n default -owide #连接1查看pods状态
kubectl delete pod xxxx  #连接2删除pod
  • 多副本
    命令行
kubectl create deployment my-dep --image=nginx --replicas=3

yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: my-dep
  name: my-dep
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-dep
  template:
    metadata:
      labels:
        app: my-dep
    spec:
      containers:
      - image: nginx
        name: nginx
  • 扩缩容
    命令行
kubectl scale --replicas=5 deployment/my-dep

修改yaml配置文件

kubectl edit deploy/my-dep #修改replica字段的值即可
  • 自愈&故障转移
    停机
    删除Pod
    容器崩溃
  • 滚动更新
kubectl set image deployment/my-dep nginx=nginx:1.16.1 --record
  • 版本回退
#历史记录
kubectl rollout history deployment/my-dep


#查看某个历史详情
kubectl rollout history deployment/my-dep --revision=2

#回滚(回到上次)
kubectl rollout undo deployment/my-dep

#回滚(回到指定版本)
kubectl rollout undo deployment/my-dep --to-revision=2
  • 扩展-其他工作负载
posted @ 2023-08-09 15:20  for坚持ret胜利  阅读(71)  评论(0)    收藏  举报