After creating the pod-definition.yml file.
apiVersion: v1
kind: Pod
metadata:
name: myapp-pod
labels:
app: myapp
type: server
spec:
containers:
- name: nginx-container
image: nginx
The linter is giving this warning.
One or more containers do not have resource limits - this could starve other processes
It is a good practice to declare resource requests and limits for both memory and cpu for each container. This helps to schedule the container to a node that has available resources for your Pod, and also so that your Pod does not use resources that other Pods needs - therefore the "this could starve other processes" message.
E.g. to add resource requests and limits to your example
apiVersion: v1
kind: Pod
metadata:
name: myapp-pod
labels:
app: myapp
type: server
spec:
containers:
- name: nginx-container
image: nginx
resources:
limits:
memory: 512Mi
cpu: "1"
requests:
memory: 256Mi
cpu: "0.2"
As you know, that warning comes from the linter in VS Code Extension ms-kubernetes-tools.vscode-kubernetes-tools
. If you want the linter to disable the warning
One or more containers do not have resource limits - this could starve other processes
then edit VS Code setting.json
to look like this:
{
"vs-kubernetes": {
"disable-linters": ["resource-limits"],
...
},
...
}
I was working with my YAML object files and previously I have every single object in a separated file and I recently noticed that for a "Deployment" object file I have the following linting warning:
One or more containers do not have resource limits - this could starve other processes
Before fixing that issue, I decided to refactor my object definition a bit and define more than one object in a single file if they are related. So now I have the same Deployment as before along with a Volume Claim and a Service, everything in the same file.
But then I noted that the linting warning doesn't show up for the Deployment, but it does show up if I delete the Service and Volume Claim from the file, leaving the Deployment alone.
So I suppose the linting code is not taking into account the possibility of having many objects definition per file.
Thanks!