Configuring a private repository (YAML)

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 from icr.io/cpopen/turbonomic/cpufreqgetter.

    For more information about the parameters associated with this job, see this topic.

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.5
docker inspect 49a61c21c3a1 | grep architecture
                "architecture": "aarch64",

To use a private repository, you need to define additional parameters in the deployment resource, as shown in the following example:

kind: Deployment
metadata:
  name: kubeturbo
  namespace: turbo
spec:
  replicas: 1
  selector:
     matchLabels:
       app.kubernetes.io/name: kubeturbo
  template:
    spec:
      containers:
      - name: kubeturbo
        image: {your_kubeturbo_repository}/icr.io/cpopen/turbonomic/kubeturbo:8.14.5
        args:
          - --turboconfig=/etc/kubeturbo/turbo.config
          - --v=2
          - --kubelet-https=true
          - --kubelet-port=10250
          - --cpufreqgetter-image={your_frequency_getter_repository}/icr.io/cpopen/turbonomic/cpufreqgetter
          # If using busybox parameter, uncomment to override default, and specify your own location
          #- --busybox-image=docker.io/busybox
          # or uncomment the following to pull from RHCC
          #- --busybox-image=registry.access.redhat.com/ubi8/ubi-minimal
          # Uncomment to specify the secret name which holds the credentials to busybox OR cprfreqgetter image
          #- --busybox-image-pull-secret=<secret-name>

Update the sample command with the following parameters:

  • image: {your_kubeturbo_repository}/icr.io/cpopen/turbonomic/kubeturbo

    Specify your private Kubeturbo repository, such as myrepo.com.

  • --cpufreqgetter-image={your_frequency_getter_repository}/icr.io/cpopen/turbonomic/cpufreqgetter

    Specify your private CPU frequency getter repository, such as mygetterrepo.com.