问题标签 [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 投票
2 回答
963 浏览

deployment - kubelet 在初始部署后未注册,但需要重新启动

我有一个来自 kubelet 的奇怪行为,在集群启动后不久 kubelet 没有注册到 API 服务器。

有趣的是,如果我重新启动 kubelet 守护程序,它会正确注册并且一切都按预期工作,这让我相信这是一个同步问题?(我正在使用 coreos、云配置和 kubelet 配置为 systemd 单元)

在 Kubernetes 节点部署后不久,Kubelet 日志仅显示以下条目,仅此而已:

如果我重新启动 kubelet,我会看到预期的日志,并且它会按预期注册到 API 服务器。重启后的 kubelet 日志如下:

知道如何解决此类问题吗?

谢谢,戴维德

0 投票
1 回答
1544 浏览

kubernetes - 测试 kubernetes api-server 时获得“未经授权”

我有 CoreOS alpha (1284.2.0) 的 Container Linux,我尝试在其上安装 kubernetes 1.5.2。

我注意到kube-proxypod 失败了,我进行了搜索,发现api-server清单可能没有正确配置。

我使用https://coreos.com/kubernetes/docs/latest/configure-kubectl.htmlkubectl上的文档在我的 mac pro 桌面上进行了配置

当我执行kubectl get nodes我得到error: You must be logged in to the server (the server has asked for the client to provide credentials).

所以我尝试用 curl 进行测试。服务器的主机名是coreos-2.tux-in.com.

这是我的kube-apiserver.yaml

这是我的kube-proxy.yaml

这是控制器的 kubeconfig 文件controler-kubeconfig.yaml

任何有关该问题的信息将不胜感激!

0 投票
2 回答
2931 浏览

docker - Kubernetes Kubelet 无法访问 Docker

我有一个 5 节点 Kubernetes 集群,其中 1 个是主节点(使用 kubeadm 设置)。当我第一次部署主节点时,我还部署了 kubernetes 仪表板,因此它在同一台机器上运行。之后,我将其他节点加入了集群。

现在,当我使用 YAML 文件部署 pod 时,它保持在该ContainerCreating状态。所以我描述了 pod 并看到了部署它的机器。我在机器上 SSH 并首先检查docker ps -a我可以确定图像没有启动,甚至没有被拉取。所以我查看了 kubelet 日志(我没有复制所有内容,但这会给出一个很好的主意):

有很多权限问题。我不知道如何解决这个问题。我已将 root 和用户帐户添加到 docker 组以查看它是否修复它,但它没有。

更新

上面我做了一个kubelet logs,这就是你收到 uid 消息的原因。当我执行时,sudo kubelet logs我得到这些结果:

0 投票
3 回答
8486 浏览

kubernetes - Kubernetes pod 未启动

我有一个有 5 个节点的 Kubernetes 集群。当我添加一个简单的 nginx pod 时,它将被安排到其中一个节点,但它不会启动。它甚至不会拉动图像。

这是 nginx.yaml 文件:

当我描述 pod 时,有一个事件:Successfully assigned busybox to up02当我登录 up02 并检查是否有任何图像被拉出时,我发现它没有被拉出,所以我手动拉出它(我想也许它需要一些启动; ) )

pod 将始终处于容器创建状态。不仅是这个 pod,问题还在于我尝试添加的任何 pod。

机器上运行了一些 pod,它们是 Kubernetes 运行所必需的:

0 投票
1 回答
174 浏览

kubernetes - Kubernetes 入口 IP 设置为 docker0 ip

我正在尝试在没有云提供商的裸机上使用 kubernetes 入口资源。

我创建了一个入口资源:

但是,当我查看入口时,我得到了这个 IP:

该 IP 地址似乎与我所有 kubelet 节点上的 docker0 IP 地址相对应。

有没有办法设置这个IP?我读过的所有教程似乎都有这个 IP 是可路由的。

这是我的 nginx 控制器 yaml:

0 投票
1 回答
2836 浏览

kubernetes - 当 kube-proxy 处于 iptables 模式时,无法从节点外部访问 Kubernetes 服务

我有一个在 CoreOS 上运行的单节点(master+node)Kubernetes 部署,kube-proxy 在 iptables 模式下运行,flannel 用于容器网络,没有 Calico。

kube-proxy.yaml

我创建了一个部署,然后使用 NodePort 类型的服务公开该部署。

我可以curl从节点成功(环回和 eth0 IP):

但是,我不能curl从节点外部。我已经尝试过节点网络外的客户端计算机(具有正确的防火墙规则)和节点专用网络内的计算机,网络的防火墙在两台计算机之间完全打开,但没有运气。

我相当有信心这是一个 iptables/kube-proxy 问题,因为如果我修改 kube-proxy 配置--proxy-mode=iptables--proxy-mode=userspace我可以从两台外部机器访问。此外,如果我绕过 kubernetes 并运行 docker 容器,我对外部访问没有任何问题。

以下是当前的 iptables 规则:

我不确定要在规则中寻找什么...比我更有经验的人可以就故障排除提出一些建议吗?

0 投票
4 回答
1516 浏览

kubernetes - 有时会在没有网络的情况下创建 pod,这会导致 pod 反复失败并出现 CrashLoopBackOff

有时,我会看到一个问题,即 Pod 将在没有网络连接的情况下启动。因此,pod 进入 CrashLoopBackOff 并且无法恢复。我能够让 pod 再次运行的唯一方法是运行 akubectl delete pod并等待它重新安排。以下是由于此问题导致的活性探测失败的示例:

Liveness probe failed: Get http://172.20.78.9:9411/health: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

我还注意到,发生这种情况时,pod IP 没有 iptables 条目。当 pod 被删除并重新安排(并且处于工作状态)时,我有 iptables 条目。

如果我关闭容器中的 livenessprobe 并执行它,我确认它没有与集群或本地网络或互联网的网络连接。

想听听关于它可能是什么的任何建议,或者我可以研究什么以进一步解决这种情况。

当前运行:

Kubernetes 版本:

操作系统:

0 投票
1 回答
1123 浏览

kubernetes - 启动法兰绒时出现 rkt 发现失败错误(Kubernetes 设置)

我们正在尝试按照官方分步文档在 3 个带有 coreos 的节点上设置 Kubernetes 集群 - https://coreos.com/kubernetes/docs/latest/deploy-master.html 服务器位于公司代理后面,并在中定义了代理服务两个都

以下被选中

运行 systemctl daemon-reload 和 systemctl start flannel 后,出现以下错误

我们尝试了不同的文档https://www.upcloud.com/support/deploy-kubernetes-coreos/,在启动 kubelet 时出现相同类型的错误。

似乎是公司代理背后的 rkt 和 quay 注册问题。让我们知道我们是否遗漏了什么或配置了错误。

0 投票
1 回答
1548 浏览

kubernetes - hyperkube 不会从 /etc/kubernetes/manifests 启动任何清单

我在家里的电脑上安装了 CoreOS alpha (1325.1.0) 的 Container Linux。

我用 kubernetes 玩了几个月,但现在在重新安装 ContainerOS 并尝试使用我的 fork 在https://github.com/kfirufk/coreos-kubernetes安装 kubernetes 后,我无法正确安装 kubernetes。

我使用 hyperkube 图像v1.6.0-beta.0_coreos.0

问题是 hyperkube 似乎没有尝试从/etc/kubernetes/manifests. 我将 kubelet 配置为与 rkt 一起运行。

当我journalctl -xef -u kubelet重新启动 kubelet 后运行时,我得到以下输出:

我的 kubelet.service 内容(我尝试使用 --network-plugin=kubenet 和 cni,没有区别:

我的/var/lib/coreos-install/user_data文件:

welp..我很迷茫。这是我第一次遇到这种问题。任何有关该问题的信息将不胜感激。

以防万一..这些是/etc/kubernetes/manifests未执行的清单。rkt list --full除了常规的 hyperkube 之外,没有显示任何类型的 pod 正在启动。

kube-apiserver.yaml:

kube-controller-manager.yaml:

kube-proxy.yaml:

kube-scheduler.yaml:

0 投票
2 回答
3108 浏览

kubernetes - kube-dns 不断在 coreos 上使用 kubenetes 重新启动

我在https://github.com/kfirufk/coreos-kubernetes使用我的 coreos-kubernetes 安装脚本的分支,使用 hyperkube v1.5.5_coreos.0 在 Container Linux 上安装了 Kubernetes 。

我有两台 ContainerOS 机器。

  • coreos-2.tux-in.com 解析为 192.168.1.2 作为控制器
  • coreos-3.tux-in.com 解析为 192.168.1.3 as worker

kubectl get pods --all-namespaces返回

所以我可以看到它kube-dns-782804071-h78rf不断重新启动。

kubectl describe pod kube-dns-3675956729-r7hhf --namespace=kube-system返回:

这表明kubedns-amd64:1.9Ready: false

这是我的kude-dns-de.yaml文件:

这是我的kube-dns-svc.yaml

任何有关该问题的信息将不胜感激!

更新

rkt list --full 2> /dev/null | grep kubedns显示:

journalctl -m _MACHINE_ID=744a45790849b1f5cb05d40f3734提供:

我试图添加 - --proxy-mode=userspace/etc/kubernetes/manifests/kube-proxy.yaml但结果是一样的。

kubectl get svc --all-namespaces提供:

kubectl get cs提供:

kube-proxy.yaml的内容如下:

这是我能找到的所有有价值的信息。有任何想法吗?:)

更新 2

在http://pastebin.com/2GApCj0niptables-save控制器 ContainerOS 上的输出

更新 3

我在控制器节点上运行 curl

意味着它可以正确访问它,我没有添加足够的参数来授权它吗?

更新 4

感谢@jaxxstorm,我删除了印花布清单,更新了他们的 quay/cni 和 quay/node 版本并重新安装了它们。

现在 kubedns 不断重启,但我认为现在 calico 可以工作了。因为它第一次尝试在工作节点而不是控制器节点上安装 kubedns,而且当我rkt enter安装 kubedns pod 并尝试安装时,wget https://10.3.0.1我得到:

这清楚地表明存在某种反应。哪个好?

现在kubectl get pods --all-namespaces显示:

所以.. 4/4 准备好了,但它一直在重新启动。

kubectl describe pod kube-dns-3675956729-ljz2w --namespace=kube-systemhttp://pastebin.com/Z70U331G输出

所以它无法连接到http://10.2.47.19:8081/readiness,我猜这是kubedns的ip,因为它使用端口8081。不知道如何继续进一步调查这个问题。

感谢一切!