问题标签 [kubelet]

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 投票
1 回答
197 浏览

kubernetes - Kubelet 自定义路径监控

我正在运行 kubernetes 1.8.5,想知道是否有办法告诉 Kubelet 在主机上监视 /var/lib/docker 而不是 / 。

0 投票
1 回答
15353 浏览

kubernetes - Kubelet 服务未启动 - KUBELET_EXTRA_ARGS (code=exited, status=255)

我正在尝试在工作节点(第三个工作节点)上启动 kubelet 服务......目前,我不太清楚这里的错误是什么......但是,我确实这样做了,请参阅F0716 16:42:20.047413 556 server.go:155] unknown command: $KUBELET_EXTRA_ARGS以下给出的输出sudo systemctl status kubelet -l

这是我的 dropin 的配置/etc/systemd/system/kubelet.service.d/10-kubeadm.conf(在其他处于工作状态的节点上也是如此):

只需要帮助诊断阻止它启动的问题,以便解决它..在高级:)

编辑:

0 投票
1 回答
340 浏览

kubernetes - 无法通过 clusterdeploy.yaml 在 /etc/sysconfig/kubelet 中设置标志

团队,

我正在尝试在 kubelet 上指定 authentication-token-webhook 标志。所以,我在 /etc/sysconfig/kubelet 中手动添加标志并重新启动服务。然后它工作。

有没有一种特定的方法可以在cluster.yaml文件中添加该标志,它会自动添加到 kubelet 中,我不必手动添加它。

我的变化cluster.yaml看起来像这样

所以我应该将它添加为kubelet:featureGates:DevicePlugins:“true” authentication-token-webhook

手动添加后的 Kubelet 输出如下所示:

0 投票
1 回答
282 浏览

kubernetes - Kubelet 在启动时失败:无法从输出中检测时钟速度:“”

我目前正在构建一个容器化的 Kubernetes 集群。

当尝试启动 kubelet 二进制文件时,我得到了这个失败

我开始 kubelet

在高山图像上。图像以特权运行。

检查相应的源代码并没有发现问题的根源。有人有方向指向我吗?

0 投票
1 回答
1167 浏览

amazon-web-services - 当我们使用 kops 为现有的 Kubernetes 集群设置新的 SSH 密钥时,它会破坏任何东西吗?

我们需要访问 Kubernetes 节点(在 AWS 中)上的 kubelet 日志,以调查我们面临的有关 Kubernetes 错误的问题(请参阅即使在添加额外的 Kubernetes 节点后,我看到新节点未使用,同时出现错误“没有可用的节点匹配所有谓词:)

Kubectl logs 仅从 pod 获取日志。要获取 kubelet 日志,我们需要 ssh 进入 k8s 节点盒 -(AWS EC2 盒)。这样做时,我们收到错误“权限被拒绝(公钥)”,这意味着我们需要设置 ssh 公钥,因为我们可能无法访问之前设置的内容。

问题是如果我们按照https://github.com/kubernetes/kops/blob/master/docs/security.md中的描述使用 kops 设置新密钥,我们最终会对现有集群造成任何损害吗?任何现有的服务/访问会停止工作吗?或者这只会影响到 AWS EC2 机器的手动 ssh?

0 投票
3 回答
1642 浏览

kubernetes - 使用 kubeadm 时如何在 kubeapi-server 上设置与审计相关的标志?

我正在尝试启用“审核”。https://kubernetes.io/docs/tasks/debug-application-cluster/audit/提到:

您可以使用 --audit-policy-file 标志将带有策略的文件传递给 kube-apiserver。如果省略该标志,则不记录任何事件。

我使用 kubeadm 来配置集群(总共在 3 个虚拟机中运行)。

但是,使用 kubeadm 时这个设置在哪里?我看不到它在哪里与 kube-apiserver 交互。

0 投票
1 回答
1697 浏览

ssl - 使用自生成的 apiserver-kubelet-client.crt 证书初始化 K8S 集群时,一些 kubectl 命令不起作用

我需要为 Kubernetes 集群组件(apiserver、apiserver-kubelet-client、apiserver-etcd-client、front-proxy-client 等)生成自己的 SSL 证书。这样做的原因是因为这些证书的有效期默认设置为 1 年,而我需要将有效期设置为一年以上,因为我的业务原因。当我生成自己的一组证书并初始化集群时,一切都运行良好 - kube-system 命名空间中的 POD 启动,与 apiserver 的通信正常。但是我遇到了一些命令,例如kubectl logsorkubectl port-forwardkubectl exec停止工作并开始抛出以下错误:

或者

但是docker exec记录到 k8s_apiserver 容器的命令正常工作。

在调试过程中,我发现只有自行生成的apiserver-kubelet-client密钥/证书文件会导致这种集群行为。

Bellow 是我用来为 apiserver-kubelet-client 生成和使用我自己的证书/密钥对的过程。

  1. 我初始化了 kubernetes 集群以/etc/kubernetes/pki通过运行将自己的证书设置到文件夹中kubeadm init ...

  2. /etc/kubernetes/pki将文件夹备份到/tmp/pki_k8s

  3. 使用 openssl打开apiserver-kubelet-client.crt以检查所有设置的扩展、CN、O 等。

    openssl x509 -noout -text -in /tmp/pki_k8s/apiserver-kubelet-client.crt

  4. 为了确保相同的扩展名和 CN,O 参数出现在我自己生成的证书中,我为扩展名创建了 .conf 文件,为 CN 和 O 创建了 .csr 文件

    cd /tmp/pki_k8s/ cat <<-EOF_api_kubelet_client-ext > apiserver_kubelet_client-ext.conf [ v3_ca ] keyUsage = critical, digitalSignature, keyEncipherment extendedKeyUsage = clientAuth EOF_api_kubelet_client-ext

    openssl req -new -key apiserver-kubelet-client.key -out apiserver-kubelet-client.csr -subj "/O=system:masters,CN=kube-apiserver-kubelet-client"

  5. 最后我生成了自己的 apiserver-kubelet-client.crt。对于它的生成,我重用了 K8S 初始化生成的现有 apiserver-kubelet-client.key 和 ca.crt/ca.key

    openssl x509 -req -in apiserver-kubelet-client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -sha256 -out apiserver-kubelet-client.crt -extensions v3_ca -extfile apiserver_kubelet_client-ext.conf -days 3650

  6. 一旦我生成了我自己的apiserver-kubelet-client.crt,它覆盖了由 k8s 初始化脚本本身生成的前一个,我通过点击重置 kubernetes 集群kubeadm reset。此清除的 /etc/kubernetes 文件夹

  7. 将所有证书复制到/etc/kubernetes/pkifrom/tmp/pki_k8s

  8. 并重新初始化 K8S 集群kubeadm init ...

在此期间,我看到 K8S 集群使用存储在其中的现有证书/etc/kubernetes/pki进行设置。

之后,K8S 集群启动,我可以列出 pod、列出描述、进行部署等,但是无法检查日志,执行上述命令。

请参阅下面的 kubelet 服务文件:

你有什么想法 ?:) 谢谢

最良好的问候

0 投票
1 回答
1000 浏览

kubernetes - 主机名更改后 Kubelet 无法注册到 master

kubelet当我更改其中一个节点的主机名时,在服务中遇到以下错误:

它首先是 localhost.localdomain 并成功加入集群。更改主机名后,它在输出中还没有准备好kubectl get nodes

我试图从集群中删除该节点,并在该特定节点上重新启动 kubelet 服务,但该错误再次出现,该节点无法注册到集群。

谢谢。

0 投票
1 回答
6712 浏览

kubernetes - 如何查看当前使用的 kubelet 配置?

我基本上想找到kubelet当前使用的硬驱逐策略。
我检查了我的 K8s 节点上 /etc/systemd/system/kubelet.service 文件中的设置。我提到的策略如下:
--eviction-hard=nodefs.available<3Gi

但是,当 nodefs.available 小于 10%(默认 kubernetes 设置)时,我的 pod 似乎被驱逐了。我一直无法找到一种方法来了解 kubernetes 正在使用的当前参数。

0 投票
1 回答
695 浏览

kubernetes - 我如何才能在拒绝状态下批准 CSR?

查看节点状态:kubectl get csr

执行拒绝:</p>

再次查看节点状态:kubectl get csr

我如何才能在拒绝状态下批准 CSR?