Skip to content

Instantly share code, notes, and snippets.

@f84anton
Created April 26, 2019 06:11
Show Gist options
  • Save f84anton/9bdbcb640f602e2fbd5ec575ef9adfd6 to your computer and use it in GitHub Desktop.
Save f84anton/9bdbcb640f602e2fbd5ec575ef9adfd6 to your computer and use it in GitHub Desktop.
Kubectl

Find deployments with environment variable "SOME_ENV"

for i in $(kubectl get ns -o json | jq -r '.items[].metadata.name' )
do 
  echo $i
  kubectl -n $i get deployments   -o jsonpath='{range .items[*]}[{.metadata.name},{range .spec.template.spec.containers[*]}[{.env[?(@.name=="SOME_ENV")].name}]{end}]{end}'
  echo
done

Remove label from kubernetes deployment .spec.selector.matchLabels in all deployments

for ns in $(kubectl get namespaces -o jsonpath='{.items[*].metadata.name}')
do
 echo $ns; 
 for d in $(kubectl -n $ns get deployments -l 'chart in (php-nginx-0.1.0,php-supervisor-0.1.0)' -o jsonpath='{.items[*].metadata.name}')
 do 
   kubectl patch deployment "$d" -n $ns --type=json -p='[{"op": "remove", "path": "/spec/selector/matchLabels/chart"}]'
 done
 echo
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment