我想知道如何为正在运行的Pod分配内存资源?
我尝试了kubectl get po foo-7d7dbb4fcd-82xfr -o yaml > pod.yaml
但是当我运行命令kubectl apply -f pod.yaml
The Pod "foo-7d7dbb4fcd-82xfr" is invalid: spec: Forbidden: pod updates may not change fields other than `spec.containers[*].image`, `spec.initContainers[*].image`, `spec.activeDeadlineSeconds` or `spec.tolerations` (only additions to existing tolerations)
在此先感谢您的帮助。
答案 0 :(得分:1)
Pod是最小的kubernetes资源,它不支持您想做的编辑。
我建议您使用deployment来运行您的Pod,因为它是“ pod管理器”,其中具有许多其他功能,例如Pod自我修复,Pod活动性/就绪性等。 / p>
您可以像这样在部署文件中定义资源:
apiVersion: apps/v1
kind: Deployment
metadata:
name: echo
spec:
replicas: 1
selector:
matchLabels:
app: echo
template:
metadata:
labels:
app: echo
spec:
containers:
- name: echo
image: mendhak/http-https-echo
resources:
limits:
cpu: 15m
memory: 100Mi
requests:
cpu: 15m
memory: 100Mi
ports:
- name: http
containerPort: 80
答案 1 :(得分:0)
如@KoopaKiller所述,您无法更新spec.containers.resources
字段,Container对象规范中对此进行了提及:
计算此容器所需的资源。无法更新。
相反,您可以使用Deployment对象部署Pod。在这种情况下,如果您更改Pod的资源配置,则部署控制器将推出Pod的更新版本。