Requirements
We use Kubernetes, an open-source container orchestration system to manage our applications.
At the moment the only Kubernetes distribution supported is K3s (click here for the official documentation) by Suse Linux for both on-premise and cloud deployments.
The minimum requirements for the Kubernetes cluster is a single node (1 virtual machine) with the following specs:
Synergy | Focus | Enterprise (Synergy + Focus) | |
---|---|---|---|
CPU cores (x86_64 processor with speed of 2.2 GHz or more) | 8 | 16 | 20 |
RAM | 32GB | 64GB | 80GB |
Free SDD disk space | 500GB | 600GB | 700GB |
OS | We recommend Ubuntu 20.04.4 LTS Server (Focal Fossa), but you can also use RHEL 8.6, CentOS 7.9 or Suse Linux 15.3. | ||
Firewall |
| ||
K3s version support | v1.23 |
Installation
Ensure the following items are in place and configured:
Domain Name Service (DNS) with public name resolution enabled
Network Time Protocol (NTP)
Software Update Service - access to a network-based repository for software update packages.
Fixed private IPv4 address
Unique static hostname
As root run the following command to install K3s
curl -sfL https://assets.master.k3s.getvisibility.com/k3s/k3s.sh | INSTALL_K3S_VERSION="v1.24.9+k3s2" K3S_KUBECONFIG_MODE="644" sh -s - server --node-name=local-01
Run the registration command:
kubectl apply -f https://....k3s.getvisibility.com/v3/import/dxslsxcf84....yaml
For security reasons the registration command can be used only a single time, the command becomes invalid after the first use. In case you need to run it again you must contact the support team for a new registration command.
Monitor the progress of the installation: watch -c "kubectl get deployments -A"
The K3s deployment is complete when elements of all the deployments (coredns, local-path-provisioner, metrics-server, traefik and cattle-cluster-agent) show at least "1" as "AVAILABLE"
In case of errors you can inspect the logs of a pod using
kubectl logs
, e.g.kubectl logs cattle-cluster-agent-d96d648d8-wjvl9 -n cattle-system
K3s support matrix
Please note that we don’t use Docker as the container runtime, instead we use containerd.
Proxy settings
The list below is only valid for clusters that have Secure mode enabled.
The customer’s internal proxy should be configured to allow the following public urls to be accessible over port 443 (HTTPS):
Note: replace $RESELLER_NAME
with the name of the Rancher server which the customer will be connected to.
https://assets.master.k3s.getvisibility.com (Custom K3s installation files) https://images.master.k3s.getvisibility.com (Private Docker registry) https://charts.master.k3s.getvisibility.com (Private Helm registry) https://prod-eu-west-1-starport-layer-bucket.s3.eu-west-1.amazonaws.com (Docker registry AWS CDN) https://rpm.rancher.io (Rancher RPM repo for configuring SELinux packages on RHEL) https://rancher.$RESELLER_NAME.k3s.getvisibility.com (Rancher/Fleet management server) https://api.master.k3s.getvisibility.com (Private API server)
For more details on how to configure Rancher behind a proxy click here.