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 has not been registered yet (registration command has not been run yet), then refer to Configuring Rancher and Fleet agent to run behind an HTTP proxy.
Note: 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.

Steps

  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
  2. 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"
  3. Restart k3s systemctl restart k3s.service.
  4. Go to the Rancher dashboard Cluster Management > Clusters and click on Edit Config for your cluster:
    1. Go to Advanced Options:
    2. 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
  5. Run the command kubectl edit deployment -n cattle-system cattle-cluster-agent -o yaml.
  6. 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”

    .
  7. Now do the same on the fleet-agent by running the command kubectl edit deployment -n cattle-fleet-system fleet-agent -o yaml.
  8. Repeat the step #6.
  9. After applying all the changes, wait for some minutes for the cluster to become Online on Rancher again.