Configuring a private repository (operator)
Turbonomic gathers information from your clusters through the Kubeturbo
container images that are available through a public repository in IBM
Container Registry (icr.io
).
The following list describes the different Kubeturbo container images.
-
Container image for Kubeturbo
This is the primary image and is pulled from
icr.io/cpopen/turbonomic/kubeturbo:<version>
. -
Container image for the CPU frequency getter job
The
cpufreqgetter
image (also known as BusyBox) runs a job on every node to collect CPU speed. This image is pulled fromicr.io/cpopen/turbonomic/cpufreqgetter
.For more information about the parameters associated with this job, see this topic.
-
(Operator method only) Container image for
kubeturbo-operator
This image is pulled for
icr.io/cpopen/kubeturbo-operator:<version>
If you are using a private repository, be aware that IBM Container
Registry provides multi-architecture container images. Your private repository needs to
support loading these images. For example, multi-architecture container images are supported
in Artifactory version 7.2+, but not in Artifactory version 6. Optionally, pull only the
architecture version that you need. Specify the --platform
parameter with
docker pull
and use docker inspect
to confirm the
architecture.
docker pull --platform linux/arm64 icr.io/cpopen/turbonomic/kubeturbo:8.14.3
docker inspect 49a61c21c3a1 | grep architecture
"architecture": "aarch64",
To use a private repository, you need to define additional parameters.
-
Define the parameters in the operator instance or custom resource you have configured (default is
kubeturbo-release
), as shown in the following example (see a sample YAML here):spec: image: # Supply your private repo and specific product version here # With v8.7.5 and newer, kubeturbo is available via IBM Container Registry repository: {your_kubeturbo_repository}/icr.io/cpopen/turbonomic/kubeturbo tag: 8.14.3 # Specify your cpu frequency job container image. cpufreqgetterRepository: {your_frequency_getter_repository}/cpopen/turbonomic/cpufreqgetter # Note cpufreqgetter will use the same pull secret as set for the kubeturbo container image #imagePullSecret: secretName #Rest of CR will be retained ...
Update the sample command with the following parameters:
-
repository: {your_kubeturbo_repository}/icr.io/cpopen/turbonomic/kubeturbo
Specify your private Kubeturbo repository, such as
myrepo.com
. -
cpufreqgetterRepository: {your_frequency_getter_repository}/icr.io/cpopen/turbonomic/cpufreqgetter
Specify your private CPU frequency getter repository, such as
mygetterrepo.com
.
-
-
Define your Kubeturbo operator image path in the operator's
deployment
resource (see a sample YAML here).kind: Deployment metadata: name: kubeturbo-operator namespace: turbo spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: kubeturbo-operator template: spec: containers: - name: kubeturbo-operator image: YOUR-REPO.COM/icr.io/cpopen/turbonomic/kubeturbo-operator:8.14.3