In diesem Beispiel finden Sie Informationen zur Bereitstellung eines v1beta1-Clusters mit mindestens einem zusätzlichen vertrauenswürdigen CA-Zertifikat.

v1beta1-Beispiel: Cluster mit zusätzlichen vertrauenswürdigen CA-Zertifikaten

Die Cluster-API v1beta1 stellt die trust-Variable für die Bereitstellung eines Clusters mit mindestens einem zusätzlichen vertrauenswürdigen CA-Zertifikat bereit.
Tabelle 1. Vertrauenswürdige v1beta1-API-Variable
Bereich Beschreibung
trust Abschnittsmarkierung. Akzeptiert keine Daten.
additionalTrustedCAs Abschnittsmarkierung. Enthält ein Array von Zertifikaten mit name für jedes Zertifikat.
name Der benutzerdefinierte Name für das Zuordnungsfeld data im geheimen Kubernetes-Schlüssel, der das doppelt Base64-codierte CA-Zertifikat im PEM-Format enthält.
Hinweis: Doppelte Base64-Codierung ist erforderlich. Wenn der Inhalt nicht doppelt Base64-codiert ist, kann die resultierende PEM-Datei nicht verarbeitet werden.
In folgendem Beispiel wird das Hinzufügen des geheimen Kubernetes-Schlüssels mit einem CA-Zertifikat zu einer v1beta1-API-Clusterspezifikation veranschaulicht.
#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
In folgendem Beispiel wird der geheime Kubernetes-Schlüssel erläutert, der ein zusätzliches vertrauenswürdiges CA-Zertifikat enthält.
#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
Dabei gilt:
  • Der Wert der data-Zuordnung des geheimen Schlüssels stellt eine benutzerdefinierte Zeichenfolge dar, die als Name des CA-Zertifikats fungiert (in diesem Beispiel additional-ca-1), dessen Wert das doppelt Base64-codierte CA-Zertifikat im PEM-Format ist.
  • Versehen Sie den geheimen Schlüssel im Abschnitt metadata mit dem Namen CLUSTER-NAME-user-trusted-ca-secret, wobei CLUSTER-NAME als Name des Clusters fungiert. Dieser geheime Schlüssel muss im selben vSphere-Namespace wie der Cluster erstellt werden.
So versehen Sie den Inhalt des CA-Zertifikats mit einer doppelten base64-Codierung.

Verfahren: Neuer Cluster

Führen Sie folgendes Verfahren aus, um mindestens ein zusätzliches vertrauenswürdiges CA-Zertifikat in einen neuen TKGS-Cluster aufzunehmen.
  1. Verwenden Sie für den Inhalt eines CA-Zertifikats eine doppelte Base64-Codierung.
  2. Erstellen Sie einen geheimen Kubernetes-Schlüssel mit dem Datenzuordnungsnamen, dessen Wert ein doppelt Base64-codiertes CA-Zertifikat im PEM-Format darstellt.
  3. Befüllen Sie in der Clusterspezifikation die Variable trust.additionalTrustedCAs mit dem Namen der Datenzuordnung.
  4. Stellen Sie den Cluster wie gewohnt bereit.

    Weitere Informationen hierzu finden Sie unter Workflow zum Bereitstellen von TKG-Clustern auf mithilfe von Kubectl.

  5. Nach der erfolgreichen Bereitstellung des Clusters wird das von Ihnen hinzugefügte CA-Zertifikat vom Cluster als vertrauenswürdig eingestuft.

Verfahren: Vorhandener Cluster

Führen Sie das folgende Verfahren aus, um einem vorhandenen Cluster mindestens ein zusätzliches vertrauenswürdiges CA-Zertifikat hinzuzufügen.
  1. Verwenden Sie für den Inhalt eines CA-Zertifikats eine doppelte Base64-Codierung.
  2. Erstellen Sie einen geheimen Kubernetes-Schlüssel mit dem Datenzuordnungsnamen, dessen Wert ein doppelt Base64-codiertes CA-Zertifikat im PEM-Format darstellt.
  3. Stellen Sie sicher, dass Sie die kubectl-Bearbeitung konfiguriert haben.

    Weitere Informationen hierzu finden Sie unter Konfigurieren eines Texteditors für Kubectl.

  4. Bearbeiten Sie die Clusterspezifikation.
    kubectl edit tanzukubernetescluster/tkgs-cluster-name
  5. Fügen Sie den Abschnitt trust.additionalTrustedCAs zur Spezifikation hinzu.
  6. Befüllen Sie das Feld additionalTrustedCAs mit dem Namen der Datenzuordnung im geheimen Schlüssel, der das doppelt Base64-codierte CA-Zertifikat im PEM-Format enthält.
  7. Speichern Sie die Änderungen im Texteditor und stellen Sie sicher, dass die Änderungen von kubectl registriert wurden.
    kubectl edit cluster/tkgs-cluster-name
    cluster.run.tanzu.vmware.com/tkgs-cluster-name edited
  8. Wenn ein paralleles Update für den Cluster initiiert wird, werden die zusätzlichen vertrauenswürdigen CA-Zertifikate hinzugefügt.

    Weitere Informationen hierzu finden Sie unter Grundlegendes zum Modell für parallele Updates für TKG-Dienstcluster.

Überprüfen zusätzlicher vertrauenswürdiger CA-Zertifikate

Die zusätzlichen vertrauenswürdigen CA-Zertifikate, die dem Cluster hinzugefügt wurden, sind in der Kubeconfig-Datei für den Cluster enthalten.

Rotieren des Zertifikats

Erstellen Sie zum Rotieren eines Zertifikats einen neuen geheimen Schlüssel und bearbeiten Sie die Clusterspezifikation mit dem entsprechenden Wert. Auf diese Weise wird ein paralleles Update des Clusters ausgelöst.
Hinweis: Änderungen am CLUSTER-NAME-user-trusted-ca-secret werden vom System nicht überwacht. Änderungen am Wert der data-Zuordnung spiegeln sich nicht im Cluster wider. Sie müssen einen neuen geheimen Schlüssel erstellen, dessen Angaben eine Zuordnung von name zu trust.additionalTrustCAs beschreiben.

Fehlerbehebung bei zusätzlichen vertrauenswürdigen CA-Zertifikaten

Weitere Informationen hierzu finden Sie unter Fehlerbehebung bei zusätzlichen vertrauenswürdigen Zertifizierungsstellen.

Anwendungsbeispiele

Der häufigste Anwendungsfall besteht im Hinzufügen einer zusätzlichen vertrauenswürdigen Zertifizierungsstelle zum Herstellen einer Verbindung mit einer Containerregistrierung. Weitere Informationen hierzu finden Sie unter Integrieren von TKG-Dienst-Clustern in eine private Containerregistrierung.