5

K8s | Depolymnet、ReplicaSet、Pod之间的关系

 2 years ago
source link: https://jiac3366.github.io/2021/11/17/Kubernetes/Depolymnet%E3%80%81ReplicaSet%E3%80%81Pod%E4%B9%8B%E9%97%B4%E7%9A%84%E5%85%B3%E7%B3%BB/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

K8s | Depolymnet、ReplicaSet、Pod之间的关系

  • 只有容器能保证自己始终是 Running 状态的前提下,ReplicaSet 调整 Pod 的个数才有意义
    也正是 Deployment 只允许容器的 restartPolicy=Always的原因

  • deployment状态字段

    • kubectl scale deployment nginx-deployment –replicas=4 水平扩展

    • kubectl rollout status deployment/nginx-deployment
      查看 nginx-deployment 的状态变化

  • ReplicaSet 的 DESIRED、CURRENT 和 READY 字段的含义,和 Deployment 一致。
    相比之下,Deployment 只是在 ReplicaSet 的基础上,添加了 UP-TO-DATE 这个跟版本有关的状态字段

  • 使用 Pod 的 Health Check 机制检查应用的运行状态,当“滚动更新”停止,旧版本还能继续服务
    容器 Running 状态时,但服务很有可能尚未启动,“滚动更新”的效果也就达不到了

  • Deployment、ReplicaSet 和 Pod 的关系.

    • Deployment 的控制器控制的是 ReplicaSet 的数目(描述应用的版本),以及每个ReplicaSet 的属性(来保证 Pod 的副本数量)
      :Deployment 控制 ReplicaSet(版本),ReplicaSet 控制 Pod(副本数)——deploy的yaml文件中同时定义replicaset和container,replicaset的replicas字段就是控制副本数的

    • 1个应用的版本,对应的是1个 ReplicaSet,这个版本应用的 Pod 数量,则由ReplicaSet 通过它自己的控制器(ReplicaSet Controller)来保证

      • 对 Deployment 进行的每一次更新操作,都会生成一个新的 ReplicaSet 对象,会比较浪费资源

        • 1、kubectl rollout
          在更新 Deployment 前,先执行 kubectl rollout pause deployment/nginx-deployment 让Deployment 处于“暂停”状态,这时对 Deployment 的所有修改,都不会触发新的“滚动更新”,也不会创建新的 ReplicaSet最后执行 kubectl rollout resume deploy/nginx-deployment 恢复回来

        • 2、Deployment 对象字段, spec.revisionHistoryLimit
          k8s为 Deployment 保留的“历史版本”个数,设置为 0,就再也不能做回滚操作了


Recommend

  • 31
    • studygolang.com 5 years ago
    • Cache

    k8s核心技术-Pod篇

    Pod详解 Pod介绍 Pod 是k8s的重要概念,要掌握 每个Pod都有一个特殊的被称为“根容器”的Pause容器 Pause容器对应的镜像属于k8s平台的一部分,除了Pause容器还包含一个或多个紧密相关的业务容器

  • 52

    在 Kubernetes 中,为了保证业务不中断或业务SLA不降级,需要将应用进行集群化部署。通过 PodDisruptionBudget 控制器可以设置应用POD集群处于运行状态最低个数,也可以设置应用POD集群处于运行状态的最低百...

  • 12
    • www.cnblogs.com 4 years ago
    • Cache

    k8s之深入解剖Pod(三)

    目录: Pod的调度 Pod的扩容和缩容 Pod的滚动升级 一、Pod的调度 Pod只是容器的载体,通常需要通过RC、Deployment、DaemonSet、Job等对象来完成Pod的调度和自动控制功能。 1、R...

  • 7
    • www.ishells.cn 3 years ago
    • Cache

    k8s pod两问

    aliyun kubernetes观后记: 有了容器,为什么要用Pod呢? 在操作系统中,一个程序的运行实际上由多个线程组成,这多个线程共享进程的资源,相互协作,完成程序的工作,这也是操作系统中进程组的概念。

  • 9

    feininan3天前原文链接:https://www.cnblogs.com/chopper-poet/p/15328054.html...

  • 6
    • www.cnblogs.com 3 years ago
    • Cache

    k8s~service负载到pod的状态保持

    nginx或者其它负载均衡软件都有一个能力,就是当客户请求一个网页时,第一次访问的是A服务器,第二次也就会让你访问A服务器,而在k8s里,也有这种机制和能力。 k8s的Session affinity Service同样也支持Session affinity(粘性会话)...

  • 13
    • www.cnblogs.com 3 years ago
    • Cache

    k8s入门之pod(四) - 景少

    k8s入门之pod(四) pod是k8s项目中的最小编排单位,它是运行中的一组(一个或多个)容器,...

  • 10
    • keys961.github.io 2 years ago
    • Cache

    k8s权威指南笔记:Pod(2)

    1. Pod调度 1.1. Deployment:自动调度 Deployment可以创建指定副本数量的Pod,用于无状态服务。运行时,Pod会被调度到不同Node上,并会自动维持副本数量。 同理还可以推广到StatefulSet等上面

  • 10
    • keys961.github.io 2 years ago
    • Cache

    k8s权威指南笔记:Pod(1)

    0. Pod相关定义 Pod:[Pod Kubernetes](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/) Pod Template:[PodTemplate Kubernetes](https://kub...

  • 7

    一.系统环境 服务器版本 docker软件版本 Kubernetes(k8s)集群版本 CPU架构 CentOS Linux release 7.4.1708 (Core) Docker version...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK