我知道复制控制器负责什么,不知道什么不负责任。我完全知道目的以及如何使用它们。但我无法找到这个问题的答案。什么是复制控制器?它是一个豆荚吗?这是一个过程吗?我认为它不是一个pod,因为当我列出pod时,没有列出复制控制器。你说“kubectl get rc”列出复制控制器。这是一个过程吗?如果它是一个创建它的过程,它在哪里运行?在主节点上?如果它是一个单一的过程,它不是一个单点故障?
编辑:正如我所说,我知道它是什么,它不是什么。我确切知道如何使用它。请不要尝试解释ReplicationController和ReplicaSet的作用。
Aaditi:
以下是我们与Suresh Vishnoi讨论聊天的结论。
在“kube-system”命名空间内运行的“kube-controller-manager”pod是管理所有控制器循环的过程。
ReplicationController是一种控制器循环,以及NamespaceController,EndpointController,ServiceAccountController等其他控制器循环。
来自官方kubernetes文档:在机器人和自动化的应用中,控制回路是一个非终止循环,它调节系统的状态。在Kubernetes中,控制器是一个控制循环,它通过apiserver监视集群的共享状态,并进行更改以尝试将当前状态移向所需状态。今天与Kubernetes一起提供的控制器示例包括复制控制器,端点控制器,命名空间控制器和serviceaccounts控制器。(ref)
“kube-controller-manager”pod在“master”节点上的“kube-system”命名空间内运行。 ReplicationController,ReplicasetController等(控制循环)是这个“kube-controller-manager”pod中的“goroutine”。它们不是单独的过程。如果您rsh到“kube-controller-manager”pod(
oc rsh <POD_NAME>
)并执行ps -ef
,也可以验证这一点。在那里你会看到一个过程。看到这段代码:https://github.com/kubernetes/kubernetes/blob/master/cmd/kube-controller-manager/app/apps.go#L69
Goroutines vs Threads:qazxsw poi
Kudus对Suresh Vishnoi,干杯
http://tleyden.github.io/blog/2014/10/30/goroutines-vs-threads/是您正在寻找的过程。它具有协调循环,用于获取群集的共享状态,然后进行更改以使服务器的当前状态进入所需状态。关键控制器是复制控制器,端点控制器,命名空间控制器和服务帐户控制器。
如果它是一个创建它的过程,它在哪里运行?在主节点上?
它在kube-system名称空间中
如果它是一个单一的过程,它不是一个单点故障?
它提供以下标志以实现高可用性
kube-controller-manager
请注意,复制控制器将替换为kubernetes中的ReplicaSet。 Replicaset / replication Controller是一个在永无止境的循环中运行的守护进程。其目的是将运行的pod计数与所需的计数进行比较。
如果存在不匹配,则控制器将尝试部署新的pod,直到实际的pod计数与所需的计数匹配。
例如,如果部署部署或有状态对象或副本计数为副本数为3.然后,复制/复制集控制器负责确保3个窗格在群集中的任何时间点运行。
-leader-elect Default: true
Start a leader election client and gain leadership before executing the main loop. Enable this when running replicated components for high availability.
--leader-elect-lease-duration duration Default: 15s
The duration that non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate. This is only applicable if leader election is enabled.
--leader-elect-renew-deadline duration Default: 10s
The interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. This is only applicable if leader election is enabled.
折旧。 Replication Controller负责确保在给定时间内运行足够数量的Pod副本。
您可以利用部署文件中的复制副本来指定所需的复制副本数,而不是使用复制控制器。
Replication Controller
Kubernetes复制控制器是旧版本的副本集。
复制控制器基本上用于管理为特定部署运行的副本。
kind: Deployment
metadata:
name: admin
spec:
replicas: 3
selector:
matchLabels:
复制控制器和复制集之间的区别在于,Replicasets支持基于集合的选择器。