我是靠谱客的博主 纯真云朵,这篇文章主要介绍Kubernetes资源对象:ReplicationController /  ReplicaSetReplicationControllerReplicaSet  rs controller,现在分享给大家,希望可以做个参考。

ReplicationController

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

ReplicaSet

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

ReplicaSet demo

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部