Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar.

Erstellen Sie einen Cluster mit Fleet

Dieser Abschnitt führt Sie durch die Erstellung eines Clusters, das ClusterClass mit einem GitOps-Workflow unter Verwendung von Fleet nutzt.

Dieser Leitfaden verwendet das Beispiele-Repository.

Voraussetzungen

Konfigurieren Sie den Rancher Manager

Konfigurieren Sie Ihr Fleet-Repository

Um den Prozess der Clusterbereitstellung zu vereinfachen, verwenden wir eine Reihe von vorkonfigurierten Beispielen, die Sie im Repository https://github.com/rancher/turtles/tree/main/examples. finden können. Wenn Sie den Inhalt dieses Repositories inspizieren, werden Sie Folgendes finden:

  1. Einen Ordner für Anwendungen für zusätzliche Apps, die mit Fleet bereitgestellt werden können (CNI, CSI, CPI).

  2. Einen Ordner für Clusterklassen mit einer Reihe von ClusterClass-Beispielen.

  3. Einen Ordner clusters/docker/rke2 mit einem Beispiel für die Definition eines Docker-Clusters.

Wenn Sie möchten, können Sie Ihr eigenes Fleet-Repository mit derselben Grundstruktur erstellen.

Die Clusterdefinitionen werden in den Rancher Manager-Cluster importiert (der auch als Cluster-API-Management-Cluster fungiert) unter Verwendung der Continuous Delivery Funktion (die Fleet verwendet).

Es gibt 2 Optionen, um die Konfiguration bereitzustellen. Die erste besteht darin, die Rancher Manager-Benutzeroberfläche zu verwenden, und die zweite besteht darin, einige YAML auf Ihren Cluster anzuwenden. Beide werden im Folgenden behandelt.

Importieren von Cluster- und ClusterClass-Definitionen

  • Verwendung der Rancher Manager-Benutzeroberfläche

  • Manuell mit kubectl

  1. Gehen Sie zu Rancher Manager.

  2. Wählen Sie Continuous Delivery aus dem Menü: Seitenleiste

  3. Wählen Sie fleet-local als Namespace oben rechts aus. Namespace

  4. Wählen Sie Git Repos aus der Seitenleiste aus.

  5. Klicken Sie auf Repository hinzufügen.

  6. Geben Sie clusters als den Namen ein.

  7. Holen Sie sich die HTTPS Klon-URL aus Ihrem Git-Repo. git clone url

  8. Fügen Sie die URL in das Feld Repository-URL ein.

  9. Ändern Sie den Branch-Namen in main.

  10. Fügen Sie die folgenden Pfade hinzu, um anzugeben, welche Verzeichnisse bereitgestellt werden sollen:

    Fleet-Pfad-Konfiguration

    examples/clusterclasses/docker/rke2
    examples/applications/cni/calico
    examples/applications/lb/docker
    examples/clusters/docker/rke2
  11. Klicken Sie auf Weiter

  12. Klicken Sie auf Erstellen

  13. Klicken Sie auf den Namen clusters

  14. Beobachten Sie, wie die Ressourcen bereit werden

  15. Wählen Sie Cluster Management aus dem Menü aus

  16. Überprüfen Sie, ob Ihr Cluster importiert wurde

  1. Holen Sie sich die HTTPS Klon-URL aus Ihrem Git-Repo.

  2. Erstellen Sie eine neue Datei mit dem Namen repo.yaml.

  3. Fügen Sie die folgenden Inhalte in die neue Datei ein:

    apiVersion: fleet.cattle.io/v1alpha1
    kind: GitRepo
    metadata:
      name: clusters
      namespace: fleet-local
    spec:
      branch: main
      repo: https://github.com/rancher/turtles.git
      paths:
        - examples/clusterclasses/docker/rke2
        - examples/applications/cni/calico
        - examples/applications/lb/docker
        - examples/clusters/docker/rke2
      targets: []
  4. Wenden Sie die Datei auf den Rancher Manager-Cluster mit kubectl an:

    kubectl apply -f repo.yaml
  5. Gehen Sie zu Rancher Manager.

  6. Wählen Sie Continuous Delivery aus der Seitenleiste aus

  7. Wählen Sie fleet-local als den Namespace oben rechts aus.

  8. Wählen Sie Git Repos aus der Seitenleiste aus.

  9. Klicken Sie auf den Namen clusters.

  10. Beobachten Sie, wie die Ressourcen bereit werden.

  11. Wählen Sie Cluster Management aus dem Menü aus.

  12. Überprüfen Sie, ob Ihr Cluster importiert wurde.

Clusterdefinitionen importieren

Jetzt, da die Klassen importiert wurden, ist es möglich, sie mit Clusterdefinitionen zu verwenden.

  • Verwendung der Rancher Manager-Benutzeroberfläche

  • Manuell mit kubectl

  1. Gehen Sie zu Rancher Manager.

  2. Wählen Sie Continuous Delivery aus dem Menü aus.

  3. Wählen Sie fleet-local als den Namespace oben rechts aus.

  4. Wählen Sie Git Repos aus der Seitenleiste aus.

  5. Klicken Sie auf Repository hinzufügen.

  6. Geben Sie clusters als den Namen ein.

  7. Holen Sie sich die HTTPS Klon-URL aus Ihrem Git-Repo.

  8. Fügen Sie die URL in das Feld Repository-URL ein.

  9. Ändern Sie den Branch-Namen in clusterclass.

  10. Klicken Sie auf Pfad hinzufügen.

  11. Öffnen Sie die Datei /clusters.

  12. Klicken Sie auf Weiter.

  13. Klicken Sie auf Erstellen.

  14. Klicken Sie auf den Namen clusters.

  15. Beobachten Sie, wie die Ressourcen bereit werden.

  16. Wählen Sie Cluster Management aus dem Menü aus.

  17. Überprüfen Sie, ob Ihr Cluster importiert wurde.

  1. Holen Sie sich die HTTPS Klon-URL aus Ihrem Git-Repo.

  2. Erstellen Sie eine neue Datei mit dem Namen repo.yaml.

  3. Fügen Sie die folgenden Inhalte in die neue Datei ein:

    apiVersion: fleet.cattle.io/v1alpha1
    kind: GitRepo
    metadata:
      name: clusters
      namespace: fleet-local
    spec:
      branch: clusterclass
      repo: https://github.com/rancher-sandbox/rancher-turtles-fleet-example.git
      paths:
        - /clusters
      targets: []
  4. Wenden Sie die Datei auf den Rancher Manager-Cluster mit kubectl an:

    kubectl apply -f repo.yaml
  5. Gehen Sie zu Rancher Manager.

  6. Wählen Sie Continuous Delivery aus der Seitenleiste aus.

  7. Wählen Sie fleet-local als den Namespace oben rechts aus.

  8. Wählen Sie Git Repos aus der Seitenleiste aus.

  9. Klicken Sie auf den Namen classes.

  10. Beobachten Sie, wie die Ressourcen bereit werden.

  11. Wählen Sie Cluster Management aus dem Menü aus.

  12. Überprüfen Sie, ob Ihr Cluster importiert wurde.