Zertifizierungsstellen rotieren

Google Distributed Cloud verwendet Zertifikate und private Schlüssel, um Verbindungen zwischen Systemkomponenten in Clustern zu authentifizieren und zu verschlüsseln. Die Cluster-Zertifizierungsstelle (CA) verwaltet diese Zertifikate und Schlüssel. Wenn Sie den Befehl bmctl update credentials certificate-authorities rotate ausführen, führt Google Distributed Cloud die folgenden Aktionen aus:

  • Erstellt und lädt neue Clusterzertifizierungsstellen (Certificate Authorities, CA), die etcd-CA und die Front-Proxy-CA in den Nutzercluster-Namespace im Administratorcluster hoch.

  • Die Administratorcluster-Controller ersetzen die Zertifizierungsstellen des Nutzerclusters durch die neu generierten Zertifizierungsstellen.

  • Die Administratorcluster-Controller verteilen die neuen öffentlichen CA-Zertifikate und Blattzertifikat-Schlüsselpaare an Nutzercluster-Systemkomponenten.

Für eine sichere Clusterkommunikation sollten Sie die Zertifizierungsstelle Ihres Nutzerclusters regelmäßig und bei einem möglichen Sicherheitsverstoß rotieren.

Hinweise

Planen Sie vor dem Rotieren der Cluster-Zertifizierungsstelle entsprechend der folgenden Bedingungen und Auswirkungen:

  • Achten Sie darauf, dass die Administrator- und Nutzercluster mindestens Version 1.9.0 haben, bevor Sie die CA-Rotation starten.

  • Die Rotation von Cluster-CAs ist inkrementell, sodass Systemkomponenten während der Rotation kommunizieren können.

  • Durch die CA-Rotation werden der API-Server und die Prozesse der Steuerungsebene im nächsten Cluster neu gestartet.

  • Sie können davon ausgehen, dass Arbeitslasten während der CA-Rotation neu gestartet und neu geplant werden.

  • Bei Nicht-Hochverfügbarkeits-Clusterkonfigurationen sollten Sie kurze Zeiträume der Ausfallzeit der Steuerungsebene während der CA-Rotation erwarten.

  • Clusterverwaltungsvorgänge sind während der CA-Rotation nicht zulässig.

  • Die Dauer der CA-Rotation hängt von der Größe des Clusters ab. Beispielsweise kann die Rotation von Cluster-CAs für einen Nutzercluster mit einer einzigen Steuerungsebene und 50 Worker-Knoten fast zwei Stunden dauern.

Beschränkungen

Für die Funktion der CA-Rotation gelten die folgenden Einschränkungen:

  • Bei der CA-Rotation werden keine manuell von einem Administrator ausgestellten Zertifikate rotiert, auch dann nicht, wenn die Zertifizierungsstelle die Zertifikate signiert. Aktualisieren und verteilen Sie alle manuell ausgestellten Zertifikate nach Abschluss der Rotation der Cluster-CA

  • Nach dem Start kann die CA-Rotation nicht mehr angehalten und es kann kein Rollback durchgeführt werden.

Cluster-CA-Rotation starten

Verwenden Sie den folgenden Befehl, um den CA-Rotationsprozess zu starten:

bmctl update credentials certificate-authorities rotate --cluster CLUSTER_NAME \
    --kubeconfig KUBECONFIG

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: der Name des Clusters, für den Sie CAs rotieren möchten.
  • KUBECONFIG: der Pfad zur kubeconfig-Datei des Administratorclusters. Bei selbstverwalteten Clustern ist diese Datei die kubeconfig-Datei des Clusters.

Der Befehl bmctl wird beendet, nachdem die CA erfolgreich rotiert und eine neue kubeconfig-Datei generiert wurde. Der Standardpfad für die kubeconfig-Datei ist bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME-kubeconfig.

Fehler bei einer Cluster-CA-Rotation beheben

Der Befehl bmctl update credentials zeigt den Fortschritt der CA-Rotation des Clusters an. Die zugehörige Datei update-credentials.log wird im folgenden Verzeichnis mit Zeitstempel gespeichert:

bmctl-workspace/CLUSTER_NAME/log/update-credentials-TIMESTAMP