美文网首页
2020-08-01 最常用的控制器Deployment

2020-08-01 最常用的控制器Deployment

作者: 阿丧小威 | 来源:发表于2020-08-05 00:10 被阅读0次

    1. Pod与controllers的关系

    • controllers:在集群上管理和运行容器的对象
    • 通过label-selector相关联
    • Pod通过控制器实现应用的运维,如伸缩,滚动升级等
    图片.png

    2. Deployment功能与应用场景

    • 部署无状态应用
    • 管理Pod和ReplicaSet
    • 具有上线部署、副本设定、滚动升级、回滚等功能
    • 提供声明式更新,例如只更新一个新的Image

    应用场景:Web服务,微服务。

    3. YAML字段解析

    图片.png

    4. 使用Deployment部署一个应用

    创建

    kubectl create deployment web --image=nginx:1.14
    kubectl get deploy,pods    ---查看创建的deployment,pod
    

    发布

    kubectl expose deployment web --port=80 --type=NodePort --target-port=8080 --name=web
    kubectl get service
    

    5. 应用升级、回滚、弹性伸缩

    升级

    kubectl set image deployment/web nginx=nginx:1.15    ---更新版本到1.15
    

    查看升级状态

    kubectl rollout status deployment/web    ---查看更新进度
    kubectl edit deployment/nginx    ---编辑deployment来更新,编辑保存后会自动更新配置
    kubectl edit svc/nginx    ---编辑service来更新,编辑保存后会自动更新配置
    

    回滚

    kubectl rollout history deployment/web    ---查看更新历史记录
    kubectl rollout undo deployment/web    ---回滚到上一个版本
    kubectl rollout undo deployment/web --revision=2    ---回滚到指定版本
    

    弹性伸缩

    kubectl scale deployment/web --replicas=10    ---修改pod数量为10
    

    相关文章

      网友评论

          本文标题:2020-08-01 最常用的控制器Deployment

          本文链接:https://www.haomeiwen.com/subject/ajsyrktx.html