Skip to main content

How to install more than one Container runner in a K8S Cluster

Introduction:

Attempting to install more than one instance of Container runner Helm chart on a single cluster can result in an error:

Error: INSTALLATION FAILED: unable to continue with install: ClusterRole "container-agent:\"\"" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-namespace" must equal<>

Multiple container runner instances in a single cluster may be desirable to accommodate runners for more than one environment, eg) Cloud and Server runners coexisting within the same cluster.

Instructions:

  • The ClusterRole created during the Helm installation is unique to the installed Helm chart's release name.

  • As long as a unique release name is used for each container runner instance, they can co-exist in separate namespaces within the same cluster:

    • helm install container-agent-1 container-agent/container-agent -n circleci-runner1 -f runner1-values.yaml

    • helm install container-agent-2 container-agent/container-agent -n circleci-runner2 -f runner2-values.yaml

Outcome:

Each container runner instance will now run independently in its own namespace with its own configuration parameters.

Additional Resources:

Did this answer your question?