问题标签 [kube-controller-manager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3278 浏览

kubernetes - Pod 状态失败的原因

如果 Pod 的状态是Failed,Kubernetes 会尝试创建新的 Pod 直到它到达terminated-pod-gc-thresholdin kube-controller-manager。这将在集群中留下许多FailedPod,需要清理。

Evicted除了会导致 Pod之外,还有其他原因Failed吗?

0 投票
1 回答
5899 浏览

kubernetes - kubernetes 中的 CrashLoopBackoff 错误中的 kube-controller-manager 和 kube-scheduler

我在我的 k8s 中使用 calico 作为 CNI,我试图在 3 个服务器中部署一个主集群。我正在使用kubeadm,请按照官方设置指南进行操作。但是发生了一些错误,kube-controller-manager进入kube-schedulerCrashLoopBackOff 错误,无法正常运行。

kubeadm reset在每台服务器上都试过了,还重新启动了服务器,降级了 docker。

kubeadm init --apiserver-advertise-address=192.168.213.128 --pod-network-cidr=192.168.0.0/16用来初始化master,然后运行kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/rbac-kdd.yamlkubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/kubernetes-datastore/calico-networking/1.7/calico.yaml启动calico。

进入 CrashLoopBackoffkube-controller-manager的原因是什么?kube-scheduler我怎样才能制造kube-controller-managerkube-scheduler运行良好?

0 投票
2 回答
623 浏览

nginx - Kubernetes 部署失败

Pod我的系统中有Service ymal文件。我想运行这两个使用kubectl create -f <file>并从外部浏览器连接以测试连接性。这是我所遵循的。

我的豆荚:

我的服务文件:

我使用kubectl create -f my_pod.yaml然后kubectl get pods显示我的 podclient-nginx

然后kubectl create -f my_service.yaml,这里没有错误,然后显示所有服务。

当我尝试卷曲服务时,它给出了

curl: (7) 连接 192.168.0.10 端口 31616 失败:连接被拒绝。

kubectl get deployments不显示我的 pod。我必须部署它吗?我有点困惑。如果我使用这里给出的说明,I can deploynginxsuccessfully and access from outside browsers.

我使用此处给出的说明进行测试。

0 投票
0 回答
1926 浏览

kubernetes - kube-scheduler 和 kube-controller-manager 重启

我有 kubernetes 1.15.3 设置

我的 kube-controller 和 kube-scheduler 非常频繁地重新启动。这发生在 Kubernetes 升级到 1.15.3 之后。

这是系统的日志

日志是

0 投票
0 回答
106 浏览

kubernetes - Kube-controller-manager HPA 计算未就绪的 pod 并且不考虑将它们用于所需的副本计算

发生了什么:

HPA从 kubernetes 1.10.6 升级到 1.12.8 后,无法按预期扩展 pod。在下面的代码片段中,尽管缩放指标超出了目标值,但副本数并没有增加。

这是因为,在计算HPA中没有考虑未准备好的 pod 。desiredReplica在我们的用例中,当 Pod 正在处理流量时,我们将 Pod 标记为未就绪,并且我们不希望将更多流量路由到该 Pod。我知道 kubernets 术语unreadypods 在我们的用例中使用得不是很好。但是这种行为在 kubernetes 1.10.6 中运行良好,而不是在 1.12.8 中,想知道是否有解决方法。

你期望发生的事情:

HPA在扩大规模时也应该考虑unreadyPod。或者需要一个标志来从 1.10.6 恢复此行为。

如何重现它(尽可能最小和精确):

还有什么我们需要知道的吗?:

环境:

0 投票
1 回答
449 浏览

kubernetes - 我们可以有 --pod-eviction-timeout=300m 吗?

我有一个 k8s 集群,在我们的集群中,我们不希望 pod 被驱逐,因为 pod 驱逐会对在其上运行的应用程序产生很多副作用。

为了防止 pod 驱逐发生,我们将所有 pod 配置为 Guaranteed QoS。我知道即使这样,如果系统中存在任何资源匮乏,也会发生 pod 驱逐。当 pod 和节点内出现资源不足时,我们有监视器来提醒我们。所以我们在一个 pod 被驱逐之前就知道了。这有助于我们在 pod 被驱逐之前采取措施。

发生 pod 驱逐的其他原因是如果节点处于未就绪状态,则 kube-controller-manager 将检查 pod-eviction-timeout 并在此超时后驱逐 pod。当节点进入未就绪状态时,我们有监视器来提醒我们。现在在这个警报之后,我们想采取一些措施从应用程序端进行清理,所以应用程序将优雅地结束。要进行此清理,我们需要几个小时以上,但 pod-eviction-timeout 默认为 5 分钟。

将 pod eviction timeout 增加到 300m 可以吗?将此超时增加到这样的限制有什么影响?

PS:我知道在这段等待时间内,如果 pod 使用了更多的资源,那么 kubelet 可以自己驱逐这个 pod。我想知道等这么久还有什么影响?

0 投票
1 回答
655 浏览

kubernetes - kube-controller-manager 和 kube-scheduler 重启后 kubelet 无法获取节点状态

我的 k8s1.12.8集群(通过 kops 创建)已经运行了 6 个多月。最近,一些事情导致主节点kube-schedulerkube-controller-manager主节点都死机并重新启动:

从那以后kube-schedulerkube-controller-manager重新启动,kubelet 完全无法获取或更新任何节点状态:

集群在此状态下完全无法执行任何更新。

  • 什么会导致主节点失去与这样的节点的连接?
  • 第一个日志输出中的第二行“截断的主机名..”是问题的潜在根源吗?
  • 如何进一步诊断导致获取/更新节点操作失败的实际原因?
0 投票
1 回答
93 浏览

kubernetes - 控制器如何在 Kubernetes 集群中创建资源?

我正在创建一个 K8s 对象创建工作流,我想确保一切都是正确的。Heptio 博客中有这个不错的流程,但是缺少控制器管理器,这是我的疑问所在。

如果我们阅读 K8s 文档,Controller Manager它总是被描述为这个循环,它监视集群的期望状态,并移动所有必要的字符串以将当前状态带入那个(期望的)状态。

很公平,但我们也知道 kubelet 有容器运行时,所以 kubelet 创建容器或 pod。我们也知道 kube-proxy 对 iptable 规则进行了必要的更改,因此服务将正常工作。等等。那么控制器管理器究竟是如何工作的呢?

据我所知,有这些进程(每个资源的 Informers/Watchers;不一定是 1:1)通过 API-Server 监视资源更改,并将作业添加到 Queue,由 Worker 节点组件使用。如果有人可以纠正我,如果我错了,将不胜感激。

0 投票
0 回答
465 浏览

kubernetes - Kubernetes 控制平面如何增加 Endpoint Slices for Service

我收到以下错误,无法解决。 “更新服务默认/centosdei2-service的端点切片时出错:无法更新服务默认/centosdei2-service的centosdei2-service-dc4tm端点切片:EndpointSlice.discovery.k8s.io“centosdei2-service-dc4tm”无效:端口:太many: 109: 最多必须有 100 个项目”

尝试在 /etc/kubernetes/manifests/kube-controller-manager.yaml 中添加“---max-endpoints-per-slice=150”并重新启动 master 但没有工作。任何指针?

0 投票
1 回答
1808 浏览

kubernetes - kube-controller-manager 未记录详细信息

我在裸机 kubernetes 集群上为 gitlab 设置持久卷时遇到问题:

Operation for "provision-gitlab/repo-data-gitlab-gitaly-0[3f758288-290c-4d9c-a084-5506f58a22d7]" failed. No retries permitted until 2020-11-28 11:55:56.533202624 +0000 UTC m=+305.008238514 (durationBeforeRetry 4s). Error: "failed to create volume: failed to create volume: see kube-controller-manager.log for details"

问题是:该文件在任何地方都不存在,即使通过调整配置,我也无法获得有关该问题的更多详细信息:

我尝试手动创建它,更改它的权限,但 pod 仍然没有登录这个文件