| From / To | +Rancher Nodes | +etcd Plane Nodes | +Control Plane Nodes | +Worker Plane Nodes | +External Rancher Load Balancer | +Internet | +
|---|---|---|---|---|---|---|
| Rancher Nodes (1) | ++ | + | + | + | + | git.rancher.io | +
| etcd Plane Nodes | +443 TCP (3) | +2379 TCP | ++ | + | 443 TCP | ++ |
| 2380 TCP | ++ | + | + | |||
| + | 6443 TCP | ++ | + | |||
| 8472 UDP | ++ | |||||
| 4789 UDP (6) | ++ | |||||
| 9099 TCP (4) | ++ | + | + | |||
| Control Plane Nodes | +443 TCP (3) | +2379 TCP | ++ | + | 443 TCP | ++ |
| 2380 TCP | ++ | + | + | |||
| + | 6443 TCP | ++ | + | |||
| 8472 UDP | ++ | |||||
| 4789 UDP (6) | ++ | |||||
| 10250 TCP | ++ | |||||
| + | 9099 TCP (4) | ++ | + | |||
| + | 10254 TCP (4) | ++ | + | |||
| Worker Plane Nodes | +443 TCP (3) | ++ | 6443 TCP | ++ | 443 TCP | ++ |
| 8472 UDP | ++ | |||||
| 4789 UDP (6) | ++ | |||||
| + | + | 9099 TCP (4) | ++ | |||
| + | + | 10254 TCP (4) | ++ | |||
| Kubernetes API Clients | ++ | + | 6443 TCP (5) | ++ | + | + |
| Workload Clients or Load Balancer | ++ | + | + | 30000-32767 TCP / UDP (nodeport) |
+ + | + |
| + | + | + | 80 TCP (Ingress) | ++ | ||
| + | + | + | 443 TCP (Ingress) | ++ | ||
| Notes: 1. Nodes running standalone server or Rancher HA deployment. 2. Required to fetch Rancher chart library. 3. Only without external load balancer in front of Rancher. 4. Local traffic to the node itself (not across nodes). 5. Only if Authorized Cluster Endpoints are activated. 6. Only if using Overlay mode on Windows cluster. + |
+ ||||||
| From / To | +Rancher Nodes | +etcd Plane Nodes | +Control Plane Nodes | +Worker Plane Nodes | +External Rancher Load Balancer | +Internet | +
|---|---|---|---|---|---|---|
| Rancher Nodes (1) | ++ | 22 TCP | ++ | git.rancher.io | +||
| + | 2376 TCP | ++ | ||||
| etcd Plane Nodes | +443 TCP (3) | +2379 TCP | ++ | + | 443 TCP | ++ |
| 2380 TCP | ++ | + | + | |||
| + | 6443 TCP | ++ | + | |||
| 8472 UDP | ++ | |||||
| 9099 TCP (4) | ++ | + | + | |||
| Control Plane Nodes | +443 TCP (3) | +2379 TCP | ++ | + | 443 TCP | ++ |
| 2380 TCP | ++ | + | + | |||
| + | 6443 TCP | ++ | + | |||
| 8472 UDP | ++ | |||||
| 10250 TCP | ++ | |||||
| + | 9099 TCP (4) | ++ | + | |||
| + | 10254 TCP (4) | ++ | + | |||
| Worker Plane Nodes | +443 TCP (3) | ++ | 6443 TCP | ++ | 443 TCP | ++ |
| 8472 UDP | ++ | |||||
| + | + | 9099 TCP (4) | ++ | |||
| + | + | 10254 TCP (4) | ++ | |||
| Kubernetes API Clients | ++ | + | 6443 TCP (5) | ++ | + | + |
| Workload Clients or Load Balancer | ++ | + | + | 30000-32767 TCP / UDP (nodeport) |
+ + | + |
| + | + | + | 80 TCP (Ingress) | ++ | ||
| + | + | + | 443 TCP (Ingress) | ++ | ||
| Notes:
+ + 1. Nodes running standalone server or Rancher HA deployment. 2. Required to fetch Rancher chart library. 3. Only without external load balancer in front of Rancher. + 4. Local traffic to the node itself (not across nodes). 5. Only if Authorized Cluster Endpoints are activated. + |
+ ||||||
| From / To | +Rancher Nodes | +Hosted / Imported Cluster | +External Rancher Load Balancer | +Internet | +
|---|---|---|---|---|
| Rancher Nodes (1) | ++ | Kubernetes API Endpoint Port (2) |
+ + | git.rancher.io | +
| + | 8443 TCP | ++ | ||
| + | 9443 TCP | ++ | ||
| Hosted / Imported Cluster | +443 TCP (4)(5) | ++ | 443 TCP (5) | ++ |
| Kubernetes API Clients | ++ | Cluster / Provider Specific (6) | ++ | + |
| Workload Client | ++ | Cluster / Provider Specific (7) | ++ | + |
| Notes: 1. Nodes running standalone server or Rancher HA deployment. 2. Only for hosted clusters. 3. Required to fetch Rancher chart library. 4. Only without external load balancer. 5. From worker nodes. 6. For direct access to the Kubernetes API without Rancher. 7. Usually Ingress backed by infrastructure load balancer and/or nodeport. |
+ ||||
You can recognize the PEM format by the following traits:
+-----BEGIN CERTIFICATE----------END CERTIFICATE-----PEM Certificate Example:
+ ++ ----BEGIN CERTIFICATE----- + MIIGVDCCBDygAwIBAgIJAMiIrEm29kRLMA0GCSqGSIb3DQEBCwUAMHkxCzAJBgNV + ... more lines + VWQqljhfacYPgp8KJUJENQ9h5hZ2nSCrI+W00Jcw4QcEdCI8HL5wmg== + -----END CERTIFICATE----- ++ +
To encode your certificates in base64:
+ +FILENAME with the name of your certificate.
+ + # MacOS + cat FILENAME | base64 + # Linux + cat FILENAME | base64 -w0 + # Windows + certutil -encode FILENAME FILENAME.base64 ++
To decode your certificates in base64:
+ +YOUR_BASE64_STRING with the previously copied base64
+ string.
+ + # MacOS + echo YOUR_BASE64_STRING | base64 -D + # Linux + echo YOUR_BASE64_STRING | base64 -d + # Windows + certutil -decode FILENAME.base64 FILENAME.verify ++
The order of adding certificates is as follows:
+ ++ -----BEGIN CERTIFICATE----- + %YOUR_CERTIFICATE% + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + %YOUR_INTERMEDIATE_CERTIFICATE% + -----END CERTIFICATE----- ++ +
You can validate the certificate chain by using the openssl binary. If the output of the command (see
+ the command example below) ends with Verify return code: 0 (ok), your certificate chain is valid. The
+ ca.pem file must be the same as you added to the rancher/rancher container. When using a
+ certificate signed by a recognized Certificate Authority, you can omit the -CAfile parameter.
Command:
++ openssl s_client -CAfile ca.pem -connect rancher.yourdomain.com:443 -servername rancher.yourdomain.com + ... + Verify return code: 0 (ok) ++