码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 云原生 | kubernetes - Deployment


    目录

    零、测试

    直接创建

    部署创建 

    一、多副本

    命令行创建

    yaml创建

    dashboard创建

    二、扩缩容

    扩容

    缩容

    yaml修改

    dashboard修改

    三、自愈&故障转移

    自愈

    故障转移

    四、滚动更新

    五、版本回退

    历史记录

    查看某个历史详情

    回滚(回到上次)

    回滚(回到指定版本)


    零、测试

    使用以下两种方式来创建:

    直接创建

    kubectl run mynginx --image=nginx
    

    部署创建 

    kubectl create deployment mytomcat --image=tomcat:8.5.68

    然后执行删除操作:

    kubectl delete pod mynginx
    
    kubectl delete pod mytomcat-6f5f895f4f-7m478

    再查看一次:

    kubectl get pod
    

    可以看到普通创建的pod被直接删除了,但是部署创建的pod在被删除后,他自己又启了一个新的出来。这也正是k8s自愈能力的表现。

    若要删除部署的话操作如下:

    kubectl delete deploy mytomcat
    


    一、多副本

    命令行创建

    kubectl create deployment mydeploy --image=nginx --replicas=3

    yaml创建

    vi test.yaml
    1. apiVersion: apps/v1
    2. kind: Deployment
    3. metadata:
    4. labels:
    5. app: my-dep
    6. name: my-dep
    7. spec:
    8. replicas: 3
    9. selector:
    10. matchLabels:
    11. app: my-dep
    12. template:
    13. metadata:
    14. labels:
    15. app: my-dep
    16. spec:
    17. containers:
    18. - image: nginx
    19. name: nginx
    kubectl apply -f test.yaml

    dashboard创建


    二、扩缩容

    先看一眼目前的部署,一共是有4个副本:

    扩容

    从4个增加到5个: 

    kubectl scale --replicas=5 deployment/mydeploy
    

    缩容

    从5个缩到2个(可以看到命令是一样的,改一下数量就行):

    kubectl scale --replicas=2 deployment/mydeploy
    

    yaml修改

    kubectl edit deployment mydeploy
    

    直接对此处的数字进行修改,然后保存退出即可。

    dashboard修改

    直接在这里改数字就行,下面也会显示出相应的代码:


    三、自愈&故障转移

    自愈

    kubectl get pod -owide
    

    可以看到他们跑在node1节点上:

    复制左边的name,然后去node1上去看看:

    docker ps|grep mydeploy-d566c6fbb-gbfrv
    

    把它停掉:

    docker stop e484a06e6be2
    

    然后回master上看看:

    kubectl get pod
    

    可以看到已经被停掉了,但是只要稍等一会再看:

    k8s已经把它修好了,这也就是k8s的自愈功能。 

    故障转移

    先在master打开监控:

    kubectl get pod -w
    

    这回咱们直接把node1节点给关掉,看看k8s会是什么反应(这个反应阈值大概有5分钟):

    5分钟后: 

    故障转移成功!


    四、滚动更新

    这里针对ngx的镜像进行升级更新:

    kubectl set image deploy/mydeploy nginx=nginx:1.16.1 --record
    


    五、版本回退

    历史记录

    kubectl rollout history deploy/mydeploy

    查看某个历史详情

    kubectl rollout history deploy/mydeploy --revision=2

    回滚(回到上次)

    kubectl rollout undo deploy/mydeploy

    回滚(回到指定版本)

    kubectl rollout undo deploy/mydeploy --to-revision=2


  • 相关阅读:
    自定义类使用ArrayList中的remove
    Linux-服务管理
    Rasa 3.x 学习系列-Rasa 3.2.0 新版本发布
    Docker入门之安装Tomcat
    mac 安装pandas教程并验证是否成功安装
    基于C语言实现的自动打乱九宫格并且还原
    刷题笔记17——KMP
    Open3D 基于投影点密度的建筑物立面提取
    39_ue4进阶末日生存游戏开发[增加储物箱]
    矩阵条件数的定义、理解以及matlab代码
  • 原文地址:https://blog.csdn.net/Trollz/article/details/127408467
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号