Configurer un registre de conteneurs privé

Cette page explique comment configurer un serveur de registre de conteneurs existant pour Google Distributed Cloud (logiciel uniquement) pour VMware.

Cette page s'adresse aux administrateurs, aux architectes et aux opérateurs qui configurent, surveillent et gèrent l'infrastructure technologique. Pour en savoir plus sur les rôles courants et les exemples de tâches que nous citons dans le contenu Google Cloud , consultez la section Rôles utilisateur et tâches courantes de l'utilisateur dans GKE Enterprise.

Présentation

Vous pouvez indiquer votre propre serveur de registre de conteneurs. Si vous ne fournissez pas de serveur de registre de conteneurs, Google Distributed Cloud extrait ses images de conteneurs à partir d'Artifact Registry.

Google Distributed Cloud n'est pas compatible avec les registres de conteneurs non sécurisés. Lorsque vous démarrez votre serveur de registre de conteneurs, vous devez fournir un certificat et une clé. Le certificat peut être signé par une autorité de certification publique ou il peut être autosigné.

Créer un serveur de registre de conteneurs

Pour savoir comment créer un serveur de registre de conteneurs, consultez la section Run an externally-accessible registry (Exécuter un registre accessible en externe) dans la documentation Docker.

Configurer le Registre

Pour utiliser un registre de conteneurs privé, remplissez la section privateRegistry dans le fichier de configuration du cluster d'administrateur lorsque vous créez le cluster.

Vérifier que les images sont extraites de votre serveur de registre

La méthode de vérification que les images sont extraites de votre serveur de registre dépend de l'activation ou non des clusters avancés lorsque vous avez créé le cluster d'administrateur.

  • Si les clusters avancés ne sont pas activés, exécutez la commande suivante:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get pods \
        --all-namespaces -o jsonpath="{.items[*].spec['initContainers', 'containers'][*].image}"
    

    ADMIN_CLUSTER_KUBECONFIG par le chemin d'accès au fichier kubeconfig de votre cluster d'administrateur.

    La sortie de cette commande affiche toutes les images de votre cluster. Vous pouvez vérifier que toutes les images Google Distributed Cloud proviennent de votre propre serveur de registre.

  • Si les clusters avancés sont activés, procédez comme suit:

    Vous pouvez déterminer si containerd extrait des images à partir de votre registre local en examinant le contenu d'un fichier appelé config.toml, comme indiqué dans les étapes suivantes:

    1. Connectez-vous à un nœud et examinez le contenu du fichier /etc/containerd/config.toml.
    2. Vérifiez dans le champ pluginsio.containerd.grpc.v1.cri".registry.mirrors du fichier config.toml si votre serveur de registre est listé dans le champ endpoint.

      Voici un extrait d'un exemple de fichier config.toml.

      version = 2
      root = "/var/lib/containerd"
      state = "/run/containerd"
      ...
      [plugins."io.containerd.grpc.v1.cri".registry]
      [plugins."io.containerd.grpc.v1.cri".registry.configs]
      [plugins."io.containerd.grpc.v1.cri".registry.configs."gcr.io"]
      [plugins."io.containerd.grpc.v1.cri".registry.configs."privateregistry2.io".tls]
      ca_file = '/etc/containerd/certs.d/privateregistry2.io/ca.crt'
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors."gcr.io"]
      endpoint = ["http://privateregistry.io", "http://privateregistry2.io"]
      ...
      
    3. Si votre miroir de registre s'affiche dans le champ endpoint, cela signifie que le nœud extrait des images à partir de votre miroir de registre plutôt qu'à partir d'Artifact Registry.