Ana içeriğe geç

Harbor Usage

If your organization uses Harbor registry, image path structure and certificate requirements vary by corporate configuration. The general flow is similar to Nexus; obtain the registry host and project path from your organization.

bilgi

Replace <HARBOR_HOST> and <HARBOR_PROJECT> placeholders with your organization's Harbor address and project name.

Containerd Configuration

Apply this configuration on all worker nodes in the cluster.

Edit containerd config.toml
sudo vi /etc/containerd/config.toml

Add registry mirror definition for the Harbor host:

[plugins."io.containerd.grpc.v1.cri".registry.mirrors."<HARBOR_HOST>"]
endpoint = ["https://<HARBOR_HOST>"]

Example:

[plugins."io.containerd.grpc.v1.cri".registry.mirrors."harbor.kurum.gov.tr"]
endpoint = ["https://harbor.kurum.gov.tr"]
Restart containerd service
sudo systemctl restart containerd
sudo systemctl status containerd
Verify image pull

If the corporate certificate is not trusted, -skip-verify may be required:

sudo ctr --namespace k8s.io images pull <HARBOR_HOST>/<HARBOR_PROJECT>/apinizercloud/apimanager:<APINIZER_VERSION> --skip-verify

Example:

sudo ctr --namespace k8s.io images pull harbor.kurum.gov.tr/apinizer/apinizercloud/apimanager:2025.07.6 --skip-verify

Kubernetes Deployment Configuration

image: <HARBOR_HOST>/<HARBOR_PROJECT>/apinizercloud/cache:<APINIZER_VERSION>

Example:

image: harbor.kurum.gov.tr/apinizer/apinizercloud/cache:2025.07.6

If Using Docker Runtime

sudo vi /etc/docker/daemon.json

If Harbor uses HTTPS and requires a corporate CA certificate, add the certificate to the system. For HTTP or self-signed environments, insecure-registries can be used:

{
"insecure-registries": ["<HARBOR_HOST>"]
}
sudo systemctl daemon-reload
sudo systemctl restart docker
not

If you encounter x509: certificate is not valid, see the relevant section in Kubernetes, Docker and Containerd Troubleshooting.