gpt4 book ai didi

Kubernetes Controller - ReplicaSet 与复制 Controller 等

转载 作者:行者123 更新时间:2023-12-04 01:41:45 25 4
gpt4 key购买 nike

我正在尝试理解基本的 Kubernetes 概念,但它的文档对我来说有点令人困惑。

例如,在 kube-controller-manager 中提到了 Replication Controller .

同时,Kubernetes Concepts页面说明了 ReplicaSet 对象。

只有在谷歌搜索后我才找到 this post在媒体上:

Replication Controllers perform the same function as ReplicaSets, but Replication Controllers are old school. ReplicaSets are the smart way to manage replicated Pods in 2019.

官方文档中没有提到这一点。

有人可以向我解释一下EndpointsNamespace Controllers吗?

它们仍然是“有效的” Controller - 或者它们也已过时/被其他 Controller 取代?

最佳答案

副本 Controller 与副本集

Replica Controller 和 Replica Set 的功能完全相同 - 它们负责确保 X 个标签与标签选择器相同的 pod 将被调度到不同的节点在集群上。
(其中 X 是在副本 Controller /副本集 yaml 的 spec.replicas 字段中指定的值)。

ReplicaSet 是 Replica Controller 的替代品,支持更丰富的标签选择器表达式。您可以在运算符 In、NotIn、Exists、DoesNotExist 的 4 个值之间进行选择 - 请参阅 Set-based requirement .

一条经验法则:当您看到文档或其他教程中提到了 Replica Controller 时 - 将其称为 ReplicaSet 并考虑使用 Deployment相反。


关于端点和命名空间 Controller

K8S 控制平面包含多个 Controller - 每个 Controller 通过无限控制循环监视其负责的资源(Pod、端点、命名空间等)的所需状态 - 也称为 Reconciliation Loop .

当对所需状态进行更改时(通过外部客户端,如 kubectl),协调循环会检测到这一点,并尝试改变现有状态以匹配所需状态。

例如,如果您将 replicas 字段的值从 3 增加到 4,ReplicaSet Controller 会看到需要创建一个新实例,并确保它被安排在其中一个集群上的节点。此协调过程适用于 pod 模板的任何已修改属性。

K8S 支持以下 Controller (至少是我熟悉的 Controller ):

1 )  ReplicaSet controller.

2 ) DaemonSet controller.

4 ) Job controller.

5 ) Deployment controller.

6 ) StatefulSet controller.

7 ) Service controller.

8 ) Node controller.

9 ) Endpoints controller. # <---- Yes - its a valid controller.

10 ) Namespace controller. # <---- Yes - its a valid controller.

11 ) Serviceaccounts controller.

12 ) PersistentVolume controller.

13 ) More?

所有都驻留在称为“ Controller 管理器”的父单元下的控制平面中。


补充点

Replica Controller 之间的语法也有细微差别:

apiVersion: v1
kind: ReplicationController
metadata:
name: nginx
spec:
replicas: 3
selector:
app: nginx

以及包含 selector 下的 matchLabels 字段的 ReplicaSet:

apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: nginx
spec:
replicas: 3
selector:
matchLabels: #<-- This was added
tier: nginx

关于Kubernetes Controller - ReplicaSet 与复制 Controller 等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57161905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com