Prerequisites
Infrastructure requirements
OpsChain requires a minimum of 16GB of RAM, which runs two changes at a time once its limits have been lowered after installation. With its default settings OpsChain needs 96GB to support all features with comfortable limits. See the infrastructure requirements in the K3s installation guide for how these figures are reached and what each additional change, action refresh or agent adds.
OpsChain requires 100GB of disk, which also leaves room to run our examples without having to perform manual cleanup activities very frequently.
The figures above assume a storage class that doesn't enforce the capacity requested for a persistent volume, such as Docker Desktop's default storage or K3s's default local-path - see PV capacity is not enforced. Where capacity genuinely is enforced, for example after installing Longhorn, the real minimum is driven by the sum of the chart's persistent volume sizes, not this figure - see give Longhorn a disk of its own for the numbers (around 155GB for the chart's default sizes).
If using Docker for Mac the configuration UI allows you to adjust the RAM and disk allocation for Docker. After changing the configuration you will need to restart the Docker service.
If using Docker for Windows the WSL configuration (or the per distribution configuration) allows you to modify the RAM allocation. There is no need to adjust the disk allocation. If WSL is already running it will need to be restarted.
When using macOS or Windows we suggest ensuring that your Docker installation is not allocated too much of your system RAM - or the rest of your system may struggle. As a rough guide, we suggest not allocating more than 50% of your system RAM.
Create a GitHub personal access token
To access the private OpsChain repositories used in the examples, you will need to create a GitHub personal access token.
This token will also be used for accessing the example OpsChain Git repositories that has been created to provide sample code for the getting started guide, and examples of how you might implement different types of changes.
Kubernetes
OpsChain requires Kubernetes and will operate on any Kubernetes cluster providing certain minimum requirements are met.
For a single-node evaluation or test environment, we recommend using Docker Desktop (Windows or macOS) or K3s (Linux).
For a multi-node production environment, your cluster must be able to provide the following:
- a default storage class which supports the
ReadWriteOnceaccess mode - a storage class which supports the
ReadWriteManyaccess mode - a LoadBalancer service type
- a TLS certificate for the OpsChain internal container registry that is trusted by the container runtime on your Kubernetes nodes
If you are self-hosting on K3s, its default storage class does not enforce the capacity you request for a volume. See PV capacity is not enforced in the K3s installation guide.
Metrics server (optional)
OpsChain uses the Kubernetes metrics server to display simplified metrics from your Kubernetes cluster. If using K3s, the metrics server is installed by default, so this step can be skipped. If using a different Kubernetes distribution, you can install it like so:
# Download the metrics server components.yaml file
curl -L https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml -o metrics-server.yaml
# In the `metrics-server` Deployment definition, add the `--kubelet-insecure-tls` argument to the `args` array.
vi metrics-server.yaml
# Apply the metrics server
kubectl apply -f metrics-server.yaml
Installing the metrics server is optional, but it is recommended if you want to see some of your node's metrics in the OpsChain UI.
What to do next
- Proceed with the installing K3s guide to configure your server and install K3s and Helm.