gpt4 book ai didi

kubernetes - 如何更改 Kubernetes 中运行的 Pod 限制?

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

我有一个由虚拟机组成的自制 Kubernetes 集群。我的问题是,coredns pod 总是处于 CrashLoopBackOff 状态,过了一段时间它们又回到运行状态,因为什么也没发生。我发现但还无法尝试的一个解决方案是将默认内存限制从 170Mi 更改为某些内容更高。由于我不是这方面的专家,我认为这不是一件难事,但我不知道如何更改正在运行的 pod 的配置。这可能是不可能的,但必须有一种方法可以使用新配置重新创建它们。我尝试了 kubectl 补丁,也查找了滚动更新,但我就是想不通。如何更改限制?

这是 pod 数据的相关部分:

apiVersion: v1
kind: Pod
metadata:
annotations:
cni.projectcalico.org/podIP: 176.16.0.12/32
creationTimestamp: 2018-11-18T10:29:53Z
generateName: coredns-78fcdf6894-
labels:
k8s-app: kube-dns
pod-template-hash: "3497892450"
name: coredns-78fcdf6894-gnlqw
namespace: kube-system
ownerReferences:
- apiVersion: apps/v1
blockOwnerDeletion: true
controller: true
kind: ReplicaSet
name: coredns-78fcdf6894
uid: e3349719-eb1c-11e8-9000-080027bbdf83
resourceVersion: "73564"
selfLink: /api/v1/namespaces/kube-system/pods/coredns-78fcdf6894-gnlqw
uid: e34930db-eb1c-11e8-9000-080027bbdf83
spec:
containers:
- args:
- -conf
- /etc/coredns/Corefile
image: k8s.gcr.io/coredns:1.1.3
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 5
httpGet:
path: /health
port: 8080
scheme: HTTP
initialDelaySeconds: 60
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
name: coredns
ports:
- containerPort: 53
name: dns
protocol: UDP
- containerPort: 53
name: dns-tcp
protocol: TCP
- containerPort: 9153
name: metrics
protocol: TCP
resources:
limits:
memory: 170Mi
requests:
cpu: 100m
memory: 70Mi

编辑:
事实证明,在 Ubuntu 中,网络管理器的 dnsmasq 使 Corends pod 变得疯狂,所以在/etc/NetworkManager/NetworkManager.conf 中,我注释掉了 dnsmasq 行,重新启动,一切正常。

最佳答案

您必须在 coredns 部署定义中编辑 coredns pod 的模板:

kubectl edit deployment -n kube-system coredns

使用 coredns 部署打开默认编辑器后,您将在 templateSpec 中找到负责设置内存和 CPU 限制的部分。

关于kubernetes - 如何更改 Kubernetes 中运行的 Pod 限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53448665/

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