Vous pouvez utiliser un registre de conteneur externe avec des espaces de cluster TKG.

Cas d'utilisation du registre de conteneur privé

Les registres de conteneur fournissent une fonction critique pour les déploiements Kubernetes, servant de référentiel centralisé pour le stockage et le partage d'images de conteneur. Le registre de conteneur public le plus couramment utilisé est Docker Hub. Il existe de nombreuses offres de registre de conteneurs privés. VMware Harbor est un registre de conteneur privé, natif cloud et open source fourni avec Superviseur.

Configuration du registre de conteneur privé

Pour utiliser un registre privé avec un cluster TKG, configurez le cluster TKG avec un ou plusieurs certificats auto-signés pour servir le contenu du registre privé sur HTTPS. Dans la spécification du cluster, incluez une section trust avec la paire de champs additionalTrustedCAs. Vous pouvez définir n'importe quel nombre de certificats auto-signés que le cluster TKG doit approuver. Cette fonctionnalité vous permet de définir facilement une liste de certificats et de les mettre à jour si une rotation est requise.

Champs d'approbation pour les certificats de registre de conteneur privé

Ajoutez une entrée de certificat (chaîne codée en base64 d'un certificat public codé en PEM) à la section additionalTrustedCAs dans les spécifications du cluster TKG.

Tableau 1. Champs d'approbation pour les registres privés
Champ Description
trust Marqueur de section. N'accepte aucune donnée.
additionalTrustedCAs Marqueur de section. Inclut un tableau de certificats avec un nom et des données pour chacun d'eux.
name Nom du certificat TLS.
data Chaîne doublement codée en base64 d'un certificat public codé au format PEM stocké en texte brut.
Note : Un double codage base64 est requis. Si le contenu de la valeur de la carte de données n'est pas doublement codé en base64, le fichier PEM qui en résulte ne peut pas être traité.

Exemple d'API v1alpha3

L'exemple suivant montre comment créer un cluster TKG 2 avec un certificat de registre privé. Reportez-vous au Exemple v1alpha3 : TKC avec réseau personnalisé pour connaître la spécification complète.
Note : Pour modifier un cluster existant et ajouter les champs de certificat de registre privé, utilisez la méthode kubectl edit comme décrit ici : Configurer un éditeur de texte pour Kubectl.
apiVersion: run.tanzu.vmware.com/v1alpha3
kind: TanzuKubernetesCluster
metadata:
  name: tkg2-private-registry
  namespace: tkg2-cluster-ns
spec:
  topology:
    controlPlane:
      ...
    nodePools:
    - name: worker
      ...
  settings:
    network:
      ...
      trust:
        additionalTrustedCAs:
          - name: CompanyInternalCA-1
            data: LS0tLS1C...LS0tCg==
          - name: CompanyInternalCA-2
            data: MTLtMT1C...MT0tPg==

Exemple d'API v1beta1

L'exemple suivant montre comment créer un cluster TKG avec un certificat de registre privé à l'aide de l'API v1beta1. Reportez-vous à la description de la variable trust dans la spécification API de cluster v1beta1.
Note : Pour modifier un cluster existant et ajouter les champs de certificat de registre privé, utilisez la méthode kubectl edit comme décrit ici : Configurer un éditeur de texte pour Kubectl.
spec:
  clusterNetwork:
    pods:
      ...
    serviceDomain: 
    services:
      ...
  topology:
    class: tanzukubernetescluster
    controlPlane:
      ...
    variables:
    - name: storageClass
      value: tkg2-storage-profile
    - name: trust
      value:
        additionalTrustedCAs:
        - name: additional-ca-1

Gestion des certificats de registre de conteneur privé

Pour effectuer la rotation d'un certificat, l'administrateur VI ou l'ingénieur DevOps modifie le contenu du certificat dans la spécification du cluster TKG et applique cette configuration pour déclencher une mise à jour continue de ce cluster.

Pour supprimer un certificat de la liste des certificats, supprimez-le et appliquez la spécification mise à jour, déclenchant ainsi une mise à jour continue.