我是靠谱客的博主 纯真云朵,最近开发中收集的这篇文章主要介绍Kubernetes资源对象:ReplicationController /  ReplicaSetReplicationControllerReplicaSet  rs controller,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

ReplicationController

ReplicationController(也简称为 rc)用来确保容器应用的副本数始终保持在用户定义的副本数,即如果有容器异常退出,会自动创建新的 Pod 来替代;而异常多出来的容器也会自动回收。ReplicationController 的典型应用场景包括确保健康 Pod 的数量、弹性伸缩、滚动升级以及应用多版本发布跟踪等。

ReplicaSet

在新版本的 Kubernetes 中建议使用 ReplicaSet(也简称为 rs)来取代 ReplicationController。ReplicaSet 跟 ReplicationController 没有本质的不同,只是名字不一样,并且 ReplicaSet 支持集合式的 selector(ReplicationController 仅支持等式)。

ReplicaSet demo

apiVersion: extensions/v1beta1

kind: ReplicaSet

metadata:

  name: nginx

  labels:

    app: test

    tier: nginx

spec:

  replicas: 3

  selector:

    matchLabels:

      tier: nginx

    matchExpressions:

      - {key: tier, operator: In, values: [nginx]}

  template:

    metadata:

      labels:

        app: test

        tier: nginx

    spec:

      containers:

      - name: nginx

        image: nginx

        resources:

          requests:

            cpu: 100m

            memory: 100Mi

        ports:

        - containerPort: 80

replicaset.spec.template : 代表着pod yaml 模板,会根据这个模板创建pod

replicaset.spec.replicas: 代表创建出的pod实例个数

replicaset.spec.selector: 代表检测到满足selector的pods,从而维护副本数

 rs controller

rs-controller 逻辑流程,

  1. list-watch rs 与pod 变化
  2. 轮询rs队列,筛选出满足selector的pods
  3. 根据rs的replicas 判定pods 个数是否满足
  4. 若 pods 个数 大于 rs的replicas ,则根据创建时间以及pod状态排序,优先删除创建时间迟以及状态异常的pod,达到pods个数与rs的replicas一致
  5. 若 pods 个数 小于 rs的replicas ,则创建pod,来达到pods个数与rs的replicas一致

最后

以上就是纯真云朵为你收集整理的Kubernetes资源对象:ReplicationController /  ReplicaSetReplicationControllerReplicaSet  rs controller的全部内容,希望文章能够帮你解决Kubernetes资源对象:ReplicationController /  ReplicaSetReplicationControllerReplicaSet  rs controller所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部