es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo acceder a las imágenes de ACR desde calico.yaml

Tengo un clúster de k3s con pods de calico calico-node-xxx y calico-kube-controllers-xxx en ejecución en el espacio de nombres kube-system. Estoy utilizando la configuración calico.yaml en mi proyecto.

Ahora, quiero que estas imágenes en calico.yaml se extraigan de mi repositorio de ACR en lugar del repositorio docker.io. Por lo tanto, etiqueté y empujé estas imágenes a mi repositorio de ACR y cambié la ruta de las imágenes en el archivo de manifiesto yaml de calico (por ejemplo, myacrrepo.io/calico/node:v3.17.1), para que los pods puedan extraer la imagen del repositorio de ACR.

Pero ¿dónde debo mencionar las credenciales del repositorio de ACR en el archivo de manifiesto de calico, ya que sin credenciales (nombre de usuario/contraseña/nombre de host) el pod falla con el error x509: certificate signed by unknown authority?

¿Alguien puede decirme dónde en calico.yaml debo agregar las credenciales del repositorio de ACR (y cuál es la sintaxis para proporcionar credenciales en calico.yaml porque para las imágenes de dockr.io no se mencionan credenciales en calico.yaml que pueda reemplazar con mis credenciales de repositorio de ACR)?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para mencionar las credenciales del repositorio ACR en el archivo yaml del manifiesto de Calico, puedes agregar un imagePullSecrets de Kubernetes al archivo del manifiesto. Es necesario crear un recurso Secret que contenga las credenciales del ACR en el mismo espacio de nombres que tus pods de Calico. Aquí están los pasos para crear el secreto de Kubernetes y agregarlo al archivo yaml del manifiesto de Calico:

    1. Crea un secreto de tipo docker-registry para ACR ejecutando el siguiente comando:
      kubectl create secret docker-registry <nombre_secreto> --docker-server=<servidor_acr> --docker-username=<usuario_acr> --docker-password=<contraseña_acr> --namespace=kube-system
      

      Reemplaza <nombre_secreto>, <servidor_acr>, <usuario_acr> y <contraseña_acr> con tus valores. Este comando crea un secreto de tipo docker-registry en el espacio de nombres kube-system.

    2. Modifica tu archivo yaml del manifiesto de Calico para agregar imagePullSecrets a los pods. Por ejemplo:

      spec:
        containers:
        - name: calico-node
          image: myacrrepo.io/calico/node:v3.17.1
        imagePullSecrets:
        - name: <nombre_secreto>
      

      Reemplaza <nombre_secreto> con el nombre del secreto que creaste en el paso 1.

    3. Aplica el archivo yaml del manifiesto de Calico modificado ejecutando el siguiente comando:

      kubectl apply -f calico.yaml
      

      Esto actualizará los pods de Calico para que obtengan las imágenes de tu repositorio ACR usando las credenciales proporcionadas en el secreto.</contraseña_acr></contraseña_acr>

Comments are closed.