gpt4 book ai didi

docker - 将新节点池添加到GKE集群

转载 作者:行者123 更新时间:2023-12-02 20:43:20 24 4
gpt4 key购买 nike

我正在运行配置为4vCPU和16 GB内存的单节点GKE群集。现在,我计划再添加一个节点池1 vCPU和3.75 GB的RAM。

现在在单个节点上,我正在使用具有磁盘连接的有状态集运行类似Elasticsearch,Redis,Rabbitmq的负载。

我尚未在Pod配置中添加任何亲和力和反亲和力。如果我要添加新节点,则可能会将某些广告连播安排到新节点。虽然我只打算在新Pod上运行无状态Pod。

有什么方法可以停止在新节点上停止ES,Redis或RabbitMQ而不增加亲和力或任何不想重新启动(Touch)pod或服务的事情。 ES,Redis,RabbitMQ只应停留在旧节点上。

最佳答案

nodeSelector kubectl patch可能是解决方案。

使用新标签

您必须使用以下命令首先用以下标签statefullnode=true标记运行全状态工作负载的节点:
kubectl label nodes <node-name> statefullnode=true
然后,您必须使用kubectl patch修补在此节点上运行的每个部署:

kubectl patch deployments nginx-deployment -p '{"spec": {"template": {"spec": {"nodeSelector": {"statefullnode": "true"}}}}}'

使用节点名称

如果您不想标记节点,则可以简单地使用节点名称作为nodeSelector的标签。
例如,如果您的节点名称为 my-gke-node ,则运行:
kubectl patch deployments nginx-deployment -p '{"spec": {"template": {"spec": {"nodeSelector": {"kubernetes.io/hostname": "my-gke-node"}}}}}'

运行 kubectl get nodes以获取集群节点的名称。

关于docker - 将新节点池添加到GKE集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59608060/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com