【发布时间】:2020-10-10 16:42:03
【问题描述】:
我是新手,我可能会问一个愚蠢的问题,但我在 Kind 或 stackoverflow 上找不到答案,所以我敢问:
- 我在具有 32GB 内存和 120GB 磁盘的 Ubuntu 机器上运行 kind (Kubernestes-in-Docker)。
- 我需要在这个 Kind 集群上运行一个 Cassandra 集群,每个节点至少需要 0.5 个 CPU 和 1GB 内存。
当我查看节点时,它会给出:
Capacity:
cpu: 8
ephemeral-storage: 114336932Ki
hugepages-1Gi: 0
hugepages-2Mi: 0
memory: 32757588Ki
pods: 110
Allocatable:
cpu: 8
ephemeral-storage: 114336932Ki
hugepages-1Gi: 0
hugepages-2Mi: 0
memory: 32757588Ki
pods: 110
所以理论上,有足够的资源去。但是,当我尝试部署 cassandra 部署时,由于资源不足,第一个 Pod 保持“待处理”状态。事实上,Node 资源如下所示:
Allocated resources:
(Total limits may be over 100 percent, i.e., overcommitted.)
Resource Requests Limits
-------- -------- ------
cpu 100m (1%) 100m (1%)
memory 50Mi (0%) 50Mi (0%)
ephemeral-storage 0 (0%) 0 (0%)
hugepages-1Gi 0 (0%) 0 (0%)
hugepages-2Mi 0 (0%) 0 (0%)
节点实际上并没有获得可用资源的访问权限:它被限制在 10% 的 CPU 和 50MB 内存。
所以,阅读上面的交流并阅读 #887,我知道我需要在我的主机上实际配置 Docker,以便 Docker 允许模拟 Kind 节点的容器获取更多资源。但是...如何将这些参数提供给 Kind 以便在创建集群时考虑它们?
【问题讨论】:
-
你是如何安装 Cassandra 的?我现在尝试使用 helm 在一个新创建的 kind 集群上安装,它工作得很好。另外,#887 是什么?
-
嗨@Yaron Idan,问题实际上与节点尺寸无关,而是与存储类有关。我修改了 cassandra statefulset YAML 文件以将其指向正确的
storageclass(KinDstandard存储类,它正在公开本地存储)并增加超时(分别从 15/5 秒到 25/15 秒,以便准备就绪探测答案)。现在一切正常。 -
@ThierrySouche,考虑发布您的评论作为答案。这可能对其他有同样问题的人有所帮助。
标签: kubernetes kind