Testing/CI/KubernetesRunners: Difference between revisions

From QEMU
(Add instructions to connect to the cluster)
(Add verify section)
Line 36: Line 36:
  az aks get-credentials ...
  az aks get-credentials ...


=== Agent ===
=== Gitlab Agent ===
Now it's time to install the agent with Helm [https://docs.gitlab.com/ee/user/clusters/agent/install/index.html#install-the-agent-with-helm].
Now it's time to install the Gitlab agent with Helm [https://docs.gitlab.com/ee/user/clusters/agent/install/index.html#install-the-agent-with-helm].
Paste and run the command you got earlier from Gitlab. The "Recommended installation method".
Paste and run the command you got earlier from Gitlab. The "Recommended installation method".


Line 45: Line 45:
  helm repo update
  helm repo update
  helm upgrade --install ...
  helm upgrade --install ...
Take note of the output of the <code>helm upgrade --install</code> command. It contains the namespace where Helm installed the Gitlab agent.
=== Verify ===
You can check that the agent is running:
kubectl get pods -n <namespace>
The output of <code>kubectl get pods</code> should list the gitlab-agent pod as running:
NAME                            READY  STATUS    RESTARTS  AGE
gitlab-agent-566c8b6898-hzk87  1/1    Running  0          0m30s
Now go back to your project on Gitlab. From the left sidebar, select '''Infrastructure > Kubernetes clusters'''. The agent should show up as '''connected'''.

Revision as of 14:42, 15 March 2023

Setup

Kubernetes Cluster

Create a Kubernetes cluster on Azure (AKS). Single node pool "agentpool" for the Kubernetes system pods. Enable virtual nodes [1] to have on-demand capacity for the CI workloads.

Gitlab

Follow the docs to Register the agent with GitLab.

Make sure you keep the command under "Recommended installation method" (last step).

CLI

Follow the docs to Install the Azure CLI.

Alternatively, run the Azure CLI in a container [2]:

podman run -it mcr.microsoft.com/azure-cli

Install the Kubernetes CLI (kubectl) [3]:

az aks install-cli

Install the Helm CLI [4]:

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

Sign in to Azure [5]:

az login

Connect to your Kubernetes Cluster. Open the Azure web dashboard for your cluster and push the "Connect" button. A list of commands will be displayed to connect to your cluster. Something like the following:

az account set --subscription ...
az aks get-credentials ...

Gitlab Agent

Now it's time to install the Gitlab agent with Helm [6]. Paste and run the command you got earlier from Gitlab. The "Recommended installation method".

The command you run should look like this:

helm repo add gitlab https://charts.gitlab.io
helm repo update
helm upgrade --install ...

Take note of the output of the helm upgrade --install command. It contains the namespace where Helm installed the Gitlab agent.

Verify

You can check that the agent is running:

kubectl get pods -n <namespace>

The output of kubectl get pods should list the gitlab-agent pod as running:

NAME                            READY   STATUS    RESTARTS   AGE
gitlab-agent-566c8b6898-hzk87   1/1     Running   0          0m30s

Now go back to your project on Gitlab. From the left sidebar, select Infrastructure > Kubernetes clusters. The agent should show up as connected.