Reportez-vous à cet exemple pour provisionner un cluster v1beta1 avec un ou plusieurs certificats d'autorité de certification approuvés supplémentaires.

Exemple v1beta1 : cluster avec certificats d'autorité de certification approuvés supplémentaires

L' API de cluster v1beta1 fournit la variable trust pour provisionner un cluster avec un ou plusieurs certificats d'autorité de certification approuvés supplémentaires.
Tableau 1. Variable d'approbation de l'API v1beta1
Champ Description
trust Marqueur de section. N'accepte aucune donnée.
additionalTrustedCAs Marqueur de section. Inclut un tableau de certificats contenant le name de chacun d'entre eux.
name Le nom défini par l'utilisateur pour le champ de mappage data dans le secret Kubernetes qui contient le certificat d'autorité de certification au format PEM codé en base64 double.
Note : Un double codage base64 est requis. Si le contenu n'est pas codé en base6 double, le fichier PEM résultant ne peut pas être traité.
L'exemple suivant montre comment ajouter le secret Kubernetes contenant un certificat d'autorité de certification à une spécification de cluster d'API v1beta1.
#cluster-with-trusted-private-reg-cert.yaml
apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
metadata:
  name: cluster01
  namespace: tkgs-cluster-ns
spec:
  clusterNetwork:
    services:
      cidrBlocks: ["198.52.100.0/12"]
    pods:
      cidrBlocks: ["192.101.2.0/16"]
    serviceDomain: "cluster.local"
  topology:
    class: tanzukubernetescluster
    version: v1.26.5+vmware.2-fips.1-tkg.1
    controlPlane:
      replicas: 3
    workers:
      machineDeployments:
        - class: node-pool
          name: node-pool-01
          replicas: 3
    variables:
      - name: vmClass
        value: guaranteed-medium
      - name: storageClass
        value: tkgs-storage-profile
      - name: defaultStorageClass
        value: tkgs-storage-profile
      - name: trust
        value:
          additionalTrustedCAs:
          - name: additional-ca-1
L'exemple suivant illustre le secret Kubernetes qui inclut un certificat d'autorité de certification approuvé supplémentaire.
#additional-ca-1.yaml
apiVersion: v1
data:
  additional-ca-1: TFMwdExTMUNSGlSzZ3Jaa...VVNVWkpRMEMwdExTMHRDZz09
kind: Secret
metadata:
  name: cluster01-user-trusted-ca-secret
  namespace: tkgs-cluster-ns
type: Opaque
Où :
  • La valeur de la carte de data du secret est une chaîne définie par l'utilisateur qui est le nom du certificat d'autorité de certification (additional-ca-1 dans cet exemple) dont la valeur est le certificat d'autorité de certification au format PEM codé en base64 double.
  • Dans la section metadata, le secret doit être nommé CLUSTER-NAME-user-trusted-ca-secret, où CLUSTER-NAME est le nom du cluster. Ce secret doit être créé dans le même Espace de noms vSphere que le cluster.
Pour coder en base64 double le contenu du certificat d'autorité de certification.

Procédure : Nouveau cluster

Effectuez la procédure suivante pour inclure un ou plusieurs certificats d'autorité de certification approuvés supplémentaires dans un nouveau cluster TKGS.
  1. Codez en base64 double le contenu d'un certificat d'autorité de certification.
  2. Créez un secret Kubernetes contenant le nom de la carte de données dont la valeur est un certificat d'autorité de certification au format PEM codé en base64 double.
  3. Dans la spécification du cluster, renseignez la variable trust.additionalTrustedCAs avec le nom de la carte de données.
  4. Provisionnez le cluster comme vous le feriez normalement.

    Reportez-vous à la section Workflow de provisionnement de clusters TKG à l'aide de Kubectl.

  5. Lorsque le cluster est provisionné, le certificat d'autorité de certification que vous avez ajouté est approuvé par le cluster.

Procédure : Cluster existant

Effectuez la procédure suivante pour ajouter un ou plusieurs certificats d'autorité de certification approuvés supplémentaires à un cluster existant.
  1. Codez en base64 double le contenu d'un certificat d'autorité de certification.
  2. Créez un secret Kubernetes contenant le nom de la carte de données dont la valeur est un certificat d'autorité de certification au format PEM codé en base64 double.
  3. Vérifiez que vous avez configuré la modification kubectl.

    Reportez-vous à la section Configurer un éditeur de texte pour Kubectl.

  4. Modifiez la spécification du cluster.
    kubectl edit tanzukubernetescluster/tkgs-cluster-name
  5. Ajoutez la section trust.additionalTrustedCAs à la spécification.
  6. Remplissez le champ additionalTrustedCAs avec le nom de la carte de données dans le secret qui contient le certificat d'autorité de certification au format PEM codé en base64 double
  7. Enregistrez les modifications dans l'éditeur de texte et vérifiez que kubectl a enregistré les modifications.
    kubectl edit cluster/tkgs-cluster-name
    cluster.run.tanzu.vmware.com/tkgs-cluster-name edited
  8. Lorsqu'une mise à jour continue est lancée pour le cluster, les certificats d'autorité de certification approuvés supplémentaires sont ajoutés.

    Reportez-vous à la section Présentation du modèle de mise à jour continue pour les clusters Service TKG.

Vérifier les certificats d'autorité de certification approuvés supplémentaires

Les certificats d'autorité de certification approuvés supplémentaires ajoutés au cluster sont inclus dans le fichier kubeconfig du cluster.

Faire pivoter le certificat

Pour effectuer la rotation d'un certificat, créez un secret et modifiez la spécification du cluster avec la valeur appropriée. Cela déclenchera une mise à jour continue du cluster.
Note : Le système ne surveille pas les modifications apportées au CLUSTER-NAME -user-trusted-ca-secret. Si sa valeur de carte de data change, ces modifications ne seront pas reflétées dans le cluster. Vous devez créer un secret et sa carte de données name dans trust.additionalTrustCAs.

Dépanner les certificats d'autorité de certification approuvés supplémentaires

Reportez-vous à la section Résoudre d'autres erreurs d'autorité de certification approuvée.

Cas d'utilisation

Le cas d'utilisation le plus courant consiste à ajouter une autorité de certification approuvée supplémentaire pour la connexion à un registre de conteneur. Reportez-vous à la section Intégrer des clusters de Service TKG avec un registre de conteneur privé.