首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes是如何在运行时处理节点资源更改的?

Kubernetes是如何在运行时处理节点资源更改的?
EN

Stack Overflow用户
提问于 2019-09-28 01:14:00
回答 3查看 249关注 0票数 0

我对k8s很陌生。k8s如何处理节点资源的更改?例如,如果某些节点是VM,并且它们的资源分配(cpu和内存)随着时间的推移而变化,那么k8s控制平面是否会不断地监视每个节点可用的计算资源并更新其记录?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-10-04 12:23:47

准确地说,“运行时的更改”是什么意思?您的意思是VM(节点)在集群中,您将关闭这个VM,添加新的资源并再次打开吗?

如果是,请找一些信息这里和一些例子如下:

Minikube

你无法改变它。在创建Minikube集群期间,如果您没有指定资源,它将自动创建具有Minikube名称、2个CPU和2048RAM的集群。

如果要指定Minikube资源,例如:

$ sudo minikube start --cpus=4 --memory=8192 -p minikube-name

Kubeadm

基本上,如果提到VM不是Master,您只需关闭VM,添加资源并再次运行。Kubeadm将自动识别节点资源已被更改。

$ kubectl describe node <node-name>

代码语言:javascript
复制
$ kubectl describe node ubuntu18-slave
...
Addresses:
  InternalIP:  10.156.0.16
  Hostname:    ubuntu18-slave
Capacity:
 cpu:                2
 ephemeral-storage:  9983232Ki
 hugepages-1Gi:      0
 hugepages-2Mi:      0
 memory:             7652372Ki
 pods:               110
Allocatable:
 cpu:                2
 ephemeral-storage:  9200546596
 hugepages-1Gi:      0
 hugepages-2Mi:      0
 memory:             7549972Ki
 pods:               110
...

增加资源。只需关闭并打开VM,而不需要重新启动kubelet

代码语言:javascript
复制
$ kubectl describe node ubuntu18-slave
...
Addresses:
  InternalIP:  10.156.0.16
  Hostname:    ubuntu18-slave
Capacity:
 cpu:                8
 ephemeral-storage:  9983232Ki
 hugepages-1Gi:      0
 hugepages-2Mi:      0
 memory:             30875684Ki
 pods:               110
Allocatable:
 cpu:                8
 ephemeral-storage:  9200546596
 hugepages-1Gi:      0
 hugepages-2Mi:      0
 memory:             30773284Ki
 pods:               110
...

这取决于云提供的。我试着用GKE来实现这一点。我只找到了一种方法。您只需:*创建一个具有特定资源的新node_pool *将它们添加到集群*耗尽旧节点*删除旧节点

注意:

请记住,在关闭VM (节点)之前,您应该关闭要关闭的排水沟节点。

监控

要实现当前时间的资源使用,可以使用一些OpenSource或付费软件来创建使用历史记录。一切都取决于你的需要

  • 库伯奈特斯仪表盘
  • 普罗米修斯+格拉法纳
  • Datadog
  • 塞斯迪格等

不过,我建议您使用Prometheus,因为它是最流行的之一,您可以在网上找到许多教程。

这里,您可以找到许多关于度量和prometheus的有用信息。

票数 0
EN

Stack Overflow用户

发布于 2019-09-28 14:50:43

我发现链接非常有用。要回答您的问题,如果K8s监视资源,是的,因为它必须确保节点上所需的资源在资源允许的范围内,例如,CPU。

票数 0
EN

Stack Overflow用户

发布于 2019-09-29 06:32:02

是的,您可以添加grafana以更具有描述性的方式查看这些变体,或者kubernetes仪表板也会有所帮助。

您还可以计算分配给应用程序的吊舱的资源限制,也就是它们被调度的节点,从而几乎可以了解工作节点的内存和cpu占用率。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58142649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档