Use another image repository, such as your own Harbor repository, to deploy the Operator with all the necessary components, ie Cluster Collector, Node Collectors and Proxy.
Below link explains the process in detail.
Deploy the Observability for Kubernetes Operator with a custom registry
observability.observability directory.kustomization.yaml file in the observability directory.kustomization.yaml to identify images source & destination
images:
- name: caapm/kubernetes-operator
newName: YOUR_IMAGE_REGISTRY/kubernetes-operatorkubectl apply -k observability
Repository name and tags must be created as shown and are case sensitive.
kubernetes-operator
kubernetes-collector
proxy
Example:
During deployment the Operator deployment expects the folder naming convention of "proxy" within the new Harbor repository. If an alternate folder name is used the system will return an error that the folder was not found.
Error: ImagePullBackOff
Pulling image "harbor.<project>/public/proxy:13.7": rpc error: code = NotFound desc = failed to pull and unpack image "harbor.<project>/public/proxy:13.7": failed to resolve reference "harbor.<project>/public/proxy: 13.7": harbor.<project>/public/proxy:13.7: not found
Deployment folder contains both; kustomization.yaml and wavefront-operator yaml and you will reference that folder name during deployment.
$ kubectl apply -k observability
Example:
Error seen when using another file name
"unable to find one of 'kustomization.yaml', 'kustomization.yml' or 'Kustomization' in directory '/home/<file-path>/505"
If both the source and destination images locations include the Operator build number, it will be appended twice during deployment causing error.
Failed to apply default image tag "Harbor<project>.com/public/kubernetes-operator: <buildVersion>:<buildVersion>: couldn't parse image name Harbor<project>.com/public/kubernetes-operator: <buildVersion>:<buildVersion>: invalid reference format
For example, this is correctly configured kustomization.yaml file
Additional Information can be found under.