0

I wonder how does a kubernetes operator such as the jaeger operator call other images.

A problem I am having with the Jaeger operator for instance, is when I set up a new instance and the operator creates the required components, it calls images for those components from quay.io. Now on my setup, I am required to pull images from our local registry.

How can I set up the operator to use local registry instead of quay.io?

Tiriyon
  • 65
  • 8
  • 2
    An operator would typically use the Kubernetes API to create Pods or other Pod-creating resources; it's not totally wrong to think of it like a program that generates YAML and runs `kubectl`. If you're not developing the operator code yourself, there's not a way to modify these generated objects. Are you developing your own operator and asking how to make it configurable this way? – David Maze Dec 03 '22 at 11:11
  • No, deployments managed by the operator are pulling container images from quay.io. Guess I will go the helm chart deployment and modify it all to the private dockker registry. – Tiriyon Dec 03 '22 at 11:41

1 Answers1

2

Based on my understanding of the question, the operator creates deployment objects for other components. However, in this case only the deployment configuration is created by the operator. It is the Kubernetes Control Plane that actually pulls the image instead of the operator pod.

If the image is present in a public repository, then there should not be any problem with pulling the image specified in the deployment configuration. If the image resides in a private repository, authentication details for the registry must be provided to the Kubernetes control plane. The operator must create a secret containing the authentication details of the repository and provide them in the deployment configuration. The doc explains how to do this using Kubectl, but your operator can do the same thing.

Link: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/

Raj
  • 427
  • 2
  • 9