Containerd con Harbor
Anteriormente explicamos como instalar un servidor de Harbor y como configurar CRI-O para que lo utilice.
En este caso veremos como es la configuración si nuestro container runtime es Containerd.
Containerd
Para realizar esta configuración habrá que acceder a los nodos y alli crear o modificar el archivo /etc/containerd/config.toml
:
version = 2
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["https://harbor-cache.example.com/v2/proxy.docker.io/"]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."gcr.io"]
endpoint = ["https://harbor-cache.example.com/v2/proxy.gcr.io/"]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"]
endpoint = ["https://harbor-cache.example.com/v2/proxy.k8s.gcr.io/"]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."quay.io"]
endpoint = ["https://harbor-cache.example.com/v2/proxy.quay.io/"]
# [plugins."io.containerd.grpc.v1.cri".registry.configs."harbor-cache.example.com".tls]
# ca_file = "/etc/containerd/harbor.pem"
En este caso se configuran 4 de las registries más utilizadas:
docker.io
: La registry oficial de Docker.gcr.io
: Google Container Registry, imágenes oficiales de Googlek8s.gcr.io
: Google Kubernetes Engine Container Registry, el principal sistema de servicio de imágenes de Kubernetes.quay.io
: registry privada operada por Red Hat.
Estos eran los cuatro proyectos que definimos en harbor anteriormente. Habrá que agregar una linea similar en este archivo por cada proyectos extra que se quiera agregar.
Recordar que para que tenga efecto la configuración se debe reiniciar el servicio de containerd:
systemctl daemon-reload
systemctl restart containerd