How to update the environment variables via kubernetes job

Viewed 53

I am trying to execute a sequence of commands to update environment variables in a pod.

apiVersion: batch/v1
kind: Job
metadata:
  name: vpc-cni-add-on
  labels:
    name: vpc-cni-add-on
spec:
  template:
    metadata:
      name: vpc-cni-add-on
    spec:
      containers:
      - name: add-on
        image: bitnami/kubectl
        command: ["/bin/bash"]
        args: ["-c","kubectl set env daemonset aws-node -n kube-system ENABLE_POD_ENI=true"]
      restartPolicy: Never

I am trying to add these commands kubectl set env daemonset aws-node -n kube-system ENABLE_POD_ENI=true

kubectl patch daemonset aws-node \ -n kube-system \ -p '{"spec": {"template": {"spec": {"initContainers": [{"env":[{"name":"DISABLE_TCP_EARLY_DEMUX","value":"true"}],"name":"aws-vpc-cni-init"}]}}}}'

How can I add the two commands in my cronjob that should be executed only once and update this var

1 Answers

You can set /bin/bash as a command instead of kubectl to execute two or more commands inside a Job:

command: ["/bin/bash"]
args: ["-c","kubectl set ... && kubectl patch ..."]
Related