Configuring Rancher and Fleet agent to run behind a HTTP proxy if cluster was previously registered

This article is applicable when there is a cluster showing as “unavailable“ after the user configured a proxy on the server.

If you have a cluster which hasn’t been registered yet (registration command has not been run yet), then refer to Configuring Rancher and Fleet agent to run behind an HTTP proxy.

Replace $PROXY_IP with the IP:PORT of the corporate proxy server and $NODE_IP with the IP or CIDR of the server running Kubernetes.

  1. Run env on the user’s server to determine what’s the proxy IP. You should check the following line:

http_proxy=http://X.X.X.X
  1. Open the file /etc/systemd/system/k3s.service.env and append the following lines:

http_proxy="$PROXY_IP"
https_proxy="$PROXY_IP"
no_proxy="$NODE_IP,localhost,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local"
  1. Restart k3s systemctl restart k3s.service

  2. Go to the Rancher dashboard Cluster Management > Clusters and click on Edit Config for your cluster:

a. Go to Advanced Options:

b. Configure the following Agent Environment Variables and press Save:

HTTP_PROXY: $PROXY_IP
HTTPS_PROXY: $PROXY_IP
NO_PROXY: $NODE_IP,localhost,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local
  1. Run the command kubectl edit deployment -n cattle-system cattle-cluster-agent -o yamland

  2. Type letter “i“ to insert text and on the env section, type the following lines:

- name: HTTP_PROXY       
   value: $PROXY_IP

- name: HTTPS_PROXY       
   value: $PROXY_IP
- name: NO_PROXY     
   value: $NODE_IP,localhost,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local

Example:

Save by pressing ESC and then typing “wq

  1. Now do the same on the fleet-agent by running the command kubectl edit deployment -n cattle-fleet-system fleet-agent -o yaml

  2. Repeat the step #6.

  3. After applying all the changes, wait for some minutes for the cluster to become Online on Rancher again.

Last updated

Was this helpful?