We have to set https_proxy & http_proxy for internet access from our cluster instances.
https_proxy & http_proxy environment variables should be exported to all pods so that application can access external sites.
We are using helm charts so is there common place we can set these environment variables so all pods can access internet.
Short answer is No, they can't.
When you create a Pod, you can set dependent environment variables for the containers that run in the Pod. To set dependent environment variables, you can use $(VAR_NAME) in the value of env in the configuration file.
There are two ways to define environment variables with Kubernetes: by setting them directly in a configuration file, from an external configuration file, using variables, or a secrets file. This tutorial shows both options, and uses the Humanitec getting started application used in previous tutorials.
you should be using PodPreset obejct to pass common environment variables and other params to all the matching pods.
The below PodPreset object would inject HTTPS_PROXY and HTTP_PROXY environment variable to all pods that match label 'setproxy:true'
apiVersion: settings.k8s.io/v1alpha1
kind: PodPreset
metadata:
name: inject-proxy-var
spec:
selector:
matchLabels:
setproxy: true
env:
- name: HTTPS_PROXY
value: "https_proxy"
- name: HTTP_PROXY
value: "http_proxy"
Follow the link for more help --> https://kubernetes.io/docs/tasks/inject-data-application/podpreset/
https://kubernetes.io/docs/concepts/workloads/pods/podpreset/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With