问题标签 [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.
linux - Kubernetes 在启动 Pod 时不考虑总节点内存使用量
我所看到的:Kubernetes 在调度新 Pod 时仅考虑其组件使用的内存,并将剩余内存视为空闲内存,即使它正在被 Kubernetes 之外的其他系统进程使用。因此,在创建新部署时,它会尝试在窒息的节点上安排新的 pod。
我期望看到的:Kubernetes 会自动考虑总内存使用量(通过 kubernetes 组件 + 系统进程)并将其调度到另一个节点上。
作为一种解决方法,是否有我需要设置的配置参数或者它是一个错误?
kubernetes - 注册节点时 kubelet 似乎没有使用正确的用户
当 kubelet 尝试在我的 Kubernetes 工作节点上启动时,我在系统日志中收到如下消息:
如果我没看错,问题是节点system:node:
在连接到 API 服务器时使用的是用户名,而不是system:node:worker-1
. 但据我所知,它应该使用特定于工人的。这是我的kubeconfig
(省略了私人内容):
我的印象是user
指定的 s 是在联系 API 时使用的,但显然我错了。还有其他地方我错过了参考worker-1
吗?
我正在关注Kubernetes the Hard Way教程,但我会在进行过程中为 AWS 调整它,所以这个问题几乎可以肯定是我在调整配置文件时犯的一个错误。如果我应该提供任何其他配置文件以使其更容易/可以调试,请告诉我。
kubernetes - Kubernetes - API Server / etcd 如何知道每个 Pod 的状态?
我了解它kubelet
负责获取 PodSpecs(通常来自 API 服务器)并运行 Pod。
Kubernetes 组件 > 节点组件 > kubelet
“kubelet 采用一组通过各种机制提供的 PodSpec,并确保这些 PodSpec 中描述的容器运行且健康。”
但是 API Server 如何跟踪每个 Pod 的状态(例如运行/失败)?是否kubelet
定期向 API 服务器发送请求?还是 API Serverkubelet
定期轮询?还是其他机制?
kubernetes - ICP 1.2.0 模块故障
在 icp 1.2.0 安装过程中,我遇到以下错误:
我不确定这是否相关,但我安装了 python 2.7.14 和 openssl 1.0.2o:
错误似乎在下面,但我不明白如何解决它。
任何帮助表示赞赏,谢谢。
kubernetes - Kubelet 未启动:崩溃并退出状态:255/n/a
Ubuntu 16.04 LTS、Docker 17.12.1、Kubernetes 1.10.0
Kubelet 未启动:
6 月 22 日 06:45:57 dev-master systemd[1]: kubelet.service: 主进程退出,code=exited,status=255/n/a
6 月 22 日 06:45:57 dev-master systemd[1]:kubelet.service:失败,结果为“退出代码”。
注意:v1.9.1 没有问题
日志:
kubernetes - 如何在 kubernetes pod 中部署 hyperkube 映像?
我想在 Kubernetes pod 中部署 hyperkube。
我已经有一个 Kubernetes 集群。我在 docker hub 中尝试了一些 docker 镜像。但是所有豆荚都因一些问题而失败。
我无法在 Kubernetes pod 中部署 hyperkube 映像。
docker - 我应该为 OpenShift 安装 Kubelet 吗?
我正在尝试使用本教程下载 OpenShift Origin 服务器,以便能够增加专用于构建的内存量。然而,在按照教程进行操作时,我尝试启动服务器,但收到关于 Kubelet 的错误。我有 Ubuntu 16.04。
我应该安装它吗?我不认为它是在教程中写的。对不起,如果这听起来很愚蠢,我是网络部署的新手。
kubernetes - 如何将 OpenStack 卷附加到 Kubernetes 静态 Pod?
假设我在 OpenStack 云中使用 v1.10.3 引导单个主节点,kubelet
并且我希望将 k8s 必需品的“自托管”单个 etcd 节点作为 pod。
在启动kube-apiserver
组件之前,您需要一个工作的 etcd 实例,但当然您不能只执行kubectl apply -f
清单或将清单放入addon-manager
文件夹,因为集群根本没有准备好。有一种方法可以通过 kubelet 启动 pod,而无需准备好 apiserver。它被称为静态Pod(yaml Pod 定义通常位于/etc/kubernetes/manifests/
)。这也是我启动“系统”pod 的方式,比如 apiserver、调度程序、控制器管理器和 etcd 本身。以前我只是从节点挂载一个目录来保存 etcd 数据,但现在我想使用 OpenStack 块存储资源。问题来了:如何附加、挂载和使用 OpenStack cinder 卷来持久化静态 pod 中的 etcd 数据?
正如我今天了解到的,至少有 3 种附加 OpenStack 卷的方法:
CSI OpenStack cinder 驱动程序,这是一种管理卷的新方法。而且它不符合我的要求,因为在静态 Pod 清单中,我只能声明 Pod 而不能声明 PVC/PV 等其他资源,而 CSI 文档说:
csi 卷类型不支持从 Pod 直接引用,只能通过 PersistentVolumeClaim 对象在 Pod 中引用。
before-csi 附加卷的方法是:FlexVolume。
FlexVolume 驱动程序二进制文件必须安装在每个节点(在某些情况下是主节点)上的预定义卷插件路径中。
好的,我将这些二进制文件添加到我的节点(使用此 DS 作为参考),将卷添加到 pod 清单,如下所示:
并从 kubelet 日志中得到以下错误:
driver-call.go:258] 挂载命令失败,状态:失败,原因:卷 2c21311b-7329-4cf4-8230-f3ce2f23cf1a 不可用
这很奇怪,因为我确信这个 Cinder 卷已经附加到我的 CoreOS 计算实例上。
- 我知道的最后一种挂载卷的方法是 cinder in-tree 支持,它至少应该从 k8s 1.5
--cloud-provider=openstack
开始工作,并且除了--cloud-config
kubelet 选项之外没有任何特殊要求。
用于声明静态 pod 卷的 yaml 清单部分如下所示:
不幸的是,当我尝试这种方法时,我从 kubelet 收到以下错误:
卷尚未添加到卷的节点卷状态中的 VolumesInUse 列表中。
不知道是什么意思,但听起来节点状态无法更新(当然,还没有 etcd 和 apiserver)。可悲的是,这对我来说是最有希望的选择。
有没有其他方法可以将 OpenStack cinder 卷附加到仅依赖 kubelet 的静态 pod(当集群实际上还没有准备好时)?关于我想念的云有什么想法吗?
ssl - Kubernetes tls 证书 issier 未颁发
我的 Kubernetes 没有为 kubelet 颁发证书有问题。
kubelet 正在提交 CSR,这似乎得到了批准,此时证书应该是问题,但这一步似乎永远不会发生。
我搜索了很多地方,但没有...
结果,所有新节点/kubelet 根本没有获得证书。
这似乎始于对环境没有特别的改变,我找不到任何表明颁发证书有问题的日志。
有没有人见过这个?
亲切的问候
kubernetes - 在 Kubernetes 上部署失败:kubectl apply fail
我试图很好地运行这个 YAML,但我得到了以下问题 1 主2
节点已配置,我运行 kubectl get nodes 输出看起来很好
然后我在本地下载了文件并尝试了,但同样的错误
Error
从服务器(禁止):
deployments.extensions "nginx-deployment" 被禁止:用户 "system:node:master" 无法在命名空间 "default" root@master:~# 中获取 deployments.extensions
请协助我解决问题