- Published on
Kubernetes/Kubectl BadRequest Error for Number Configuration when defining an env variable
- Authors
- Name
- Yair Mark
- @yairmark
Today I was trying to deploy a yaml I had, but received the following:
> kubectl apply -f my-apps-deployment.yaml
Error from server (BadRequest): error when creating "my-apps-deployment.yaml": Pod in version "v1" cannot be handled as a Pod: v1.Pod: Spec: v1.PodSpec: Containers: []v1.Container: v1.Container: EnVar: Value: ReadString: expects " or n, but found 2, error found in #10 byte of ...|,"value":200}]...
My yaml looked similar to the below:
apiVersion: v1
kind: Pod
metadata:
name: your-app
labels:
app: your-app
component: cli
spec:
containers:
- name: some-image
image: someimage:1.2.3
imagePullPolicy: Always
env:
- name: COLUMNS
value: 200
...
It turns out this issue was being caused by me using an integer 200 instead of a string "200". In general it seems it is better to specify numbers as strings otherwise this parsing error happens.
The fixed version of this yaml is below (note the quotes around 200):
apiVersion: v1
kind: Pod
metadata:
name: your-app
labels:
app: your-app
component: cli
spec:
containers:
- name: some-image
image: someimage:1.2.3
imagePullPolicy: Always
env:
- name: COLUMNS
value: "200"
...