OCI Native Ingress Controller als Cluster-Add-on installieren

Erfahren Sie, wie Sie den nativen OCI-Ingress-Controller als Cluster-Add-on installieren.

Wenn Sie die Voraussetzungen erfüllt haben, können Sie den nativen OCI-Ingress-Controller als Cluster-Add-on bereitstellen. Siehe OCI Native Ingress Controller-Add-on bereitstellen.

Beachten Sie, dass Sie nach der Installation des nativen Ingress-Controller-Cluster-Add-ons für OCI auch die erforderlichen ingress-bezogenen Kubernetes-Ressourcen erstellen müssen, bevor Sie es verwenden können. Siehe IngressClassParameters-, IngressClass- und Ingress-Ressourcen erstellen

OCI Native Ingress Controller-Add-on bereitstellen

In den folgenden Schritten wird beschrieben, wie Sie den nativen OCI-Ingress-Controller als Cluster-Add-on (das "OCI-native Ingress-Controller-Add-on") bereitstellen, um die in einer Kubernetes-Ingress-Ressource definierten Regeln und Konfigurationsoptionen zu implementieren, um eingehenden Traffic zu laden und an Servicepods weiterzuleiten, die auf Worker-Knoten in einem Cluster ausgeführt werden:

Schritt 1: OCI-native Ingress-Controller-Add-on-Konfigurationsdatei erstellen

Hinweis

In diesen Anweisungen wird beschrieben, wie Sie eine Konfigurationsdatei für ein OCI-natives Ingress-Controller-Add-on erstellen, damit Sie das OCI-native Ingress-Controller-Add-on mit der CLI bereitstellen können. Die Konfigurationsdatei enthält genehmigte Konfigurationsargumente für Schlüssel/Wert-Paare. Sie müssen eine Konfigurationsdatei erstellen, wenn Sie das Add-on über die CLI (oder über die API) bereitstellen. Sie können auch die Konsole verwenden, um das native Ingress-Controller-Add-on für OCI bereitzustellen. In diesem Fall geben Sie Konfigurationsargumente in der UI an. Weitere Informationen zum Deployment des nativen OCI-Ingress-Controller-Add-ons mit der Konsole finden Sie unter Cluster-Add-on installieren.

  1. Erstellen Sie in einem geeigneten Editor eine JSON-Datei mit einem Namen Ihrer Wahl (bei diesen Anweisungen wird davon ausgegangen, dass die Datei native-ingress-controller-addon.json heißt), die Folgendes enthält:

    {
      "addonName": "NativeIngressController",
      "configurations": [
        {
          "key": "compartmentId",
          "value": "<compartment-ocid>"
        },
        {
          "key": "loadBalancerSubnetId",
          "value": "<load-balancer-subnet-ocid>"
        }    
      ]
    }

    Hierbei gilt:

    • <compartment-id> ist die OCID des Compartments, in dem der native OCI-Ingress-Controller den OCI-Load Balancer und das Zertifikat erstellen soll.
    • <load-balancer-subnet-ocid> ist die OCID des Subnetzes des Load Balancers.

    Beispiel:

    {
      "addonName": "NativeIngressController",
      "configurations": [
        {
          "key": "compartmentId",
          "value": "ocid1.compartment.oc1..aaaaaaaa______ddq"
        },
        {
          "key": "loadBalancerSubnetId",
          "value": "ocid1.subnet.oc1.iad.aaaaaaaa______dba"
        }    
      ]
    }
  2. Verwenden Sie in der gerade erstellten Datei native-ingress-controller-addon.json den Parameter authType, um anzugeben, wie Sie den nativen OCI-Ingress-Controller für den Zugriff auf OCI-Services und -Ressourcen eingerichtet haben:
    • Wenn Sie einen Instanz-Principal eingerichtet haben, damit der native OCI-Ingress-Controller auf OCI-Services und -Ressourcen zugreifen kann, setzen Sie den Parameter authType auf instance.
    • Wenn Sie einen Workload-Identitäts-Principal eingerichtet haben, damit der native OCI-Ingress-Controller auf OCI-Services und -Ressourcen zugreifen kann, setzen Sie den Parameter authType auf workloadIdentity.
    • Wenn Sie einen Benutzer-Principal eingerichtet haben, damit der native OCI-Ingress-Controller auf OCI-Services und -Ressourcen zugreifen kann, setzen Sie den Parameter authType auf user.

    Beispiel:

          "key": "authType",
          "value": "workloadIdentity"

    Beachten Sie, dass instance der Standardwert des Parameters authType ist. Wenn Sie also nicht explizit einen Wert für authType angeben, verwendet der native OCI-Ingress-Controller die Identität der Instanz, auf der er ausgeführt wird, um auf OCI-Services und -Ressourcen zuzugreifen. Weitere Informationen finden Sie unter Instanz-Principal, Benutzer-Principal oder Workload-Identitäts-Principal einrichten, um Zugriff auf OCI-Services und -Ressourcen zu ermöglichen.

  3. Geben Sie in der erstellten Datei native-ingress-controller-addon.json andere Parameter für den nativen OCI-Ingress-Controller an. Informationen zu den Parametern, die Sie festlegen können, finden Sie unter Add-on-Konfigurationsargumente für OCI Native Ingress Controller.

    Beispiel:

    {
      "addonName": "NativeIngressController",
      "configurations": [
        {
          "key": "compartmentId",
          "value": "ocid1.compartment.oc1..aaaaaaaa______ddq"
        },
        {
          "key": "loadBalancerSubnetId",
          "value": "ocid1.subnet.oc1.iad.aaaaaaaa______dba"
        },
        {
          "key": "authType",
          "value": "workloadIdentity"
        },
        {
          "key": "logVerbosity",
          "value": "2"
        }        
      ]
    }
  4. Speichern und schließen Sie die Datei native-ingress-controller-addon.json.

Schritt 2: OCI-natives Ingress-Controller-Add-on im Cluster bereitstellen und erfolgreiches Deployment bestätigen

Hinweis

In diesen Anweisungen wird beschrieben, wie Sie das OCI-Add-on für den nativen Ingress-Controller mit der CLI und einer Konfigurationsdatei bereitstellen. Sie können das Add-on auch über die Konsole und die API bereitstellen. Weitere Informationen finden Sie unter Cluster-Add-on installieren.

  1. Falls noch nicht geschehen, führen Sie die Schritte zum Einrichten der kubeconfig-Konfigurationsdatei des Clusters aus, und legen Sie (gegebenenfalls) die Umgebungsvariable KUBECONFIG so fest, dass sie auf die Datei verweist. Beachten Sie, dass Sie Ihre eigene kubeconfig-Datei einrichten müssen. Sie können nicht mit einer kubeconfig-Datei, die von einem anderen Benutzer eingerichtet wurde, auf ein Cluster zugreifen. Siehe Clusterzugriff einrichten.
  2. Stellen Sie sicher, dass das native OCI-Ingress-Controller-Add-on noch nicht im Cluster installiert wurde, indem Sie Folgendes eingeben:
    oci ce cluster list-addons --cluster-id <cluster-ocid>

    Dabei ist <cluster-ocid> die OCID des Clusters, auf dem Sie das native Ingress-Controller-Add-on für OCI bereitstellen möchten.

  3. Stellen Sie das native Ingress-Controller-Add-on für OCI im Cluster bereit, indem Sie Folgendes eingeben:

    oci ce cluster install-addon --addon-name NativeIngressController --cluster-id <cluster-ocid> --from-json file://./<path-to-config-file>

    Hierbei gilt:

    • --cluster-id <cluster-ocid> ist die OCID des Clusters, in dem Sie das native Ingress-Controller-Add-on für OCI bereitstellen möchten.
    • --from-json file://<path-to-config-file> gibt den Speicherort der zuvor erstellten Konfigurationsdatei für das OCI-native Ingress-Controller-Add-on an. Beispiel: --from-json file://./native-ingress-controller-addon.json

    Beispiel:

    oci ce cluster install-addon --addon-name NativeIngressController --from-json file://./native-ingress-controller-addon.json --cluster-id ocid1.cluster.oc1.iad.aaaaaaaam______dfr

    Eine Arbeitsanforderung wird erstellt, um das OCI-Add-on für den nativen Ingress-Controller bereitzustellen.

  4. Bestätigen Sie das erfolgreiche Deployment des OCI-Add-ons für den nativen Ingress-Controller, indem Sie Folgendes eingeben:

    oci ce cluster list-addons --cluster-id <cluster-ocid>

    Bei einer erfolgreichen Bereitstellung zeigt die Ausgabe das native OCI-Ingress-Controller-Add-on mit dem Lebenszyklusstatus ACTIVE an. Beispiel:

    {
      "data": [
        {
          "addon-error": null,
          "current-installed-version": "v1.19.0",
          "lifecycle-state": "ACTIVE",
          "name": "NativeIngressController",
          "time-created": "2023-11-06T11:21:11+00:00",
          "version": null
        }
      ]
    }

OCI Native Ingress Controller-Add-on aktualisieren

Hinweis

In diesen Anweisungen wird beschrieben, wie Sie das OCI-Add-on für den nativen Ingress-Controller mit der CLI und einer Konfigurationsdatei aktualisieren. Sie können das Add-on auch über die Konsole und die API aktualisieren. Weitere Informationen finden Sie unter Cluster-Add-on aktualisieren.

  1. Öffnen Sie die Konfigurationsdatei des OCI-nativen Ingress-Controllers in einem geeigneten Editor.

  2. Fügen Sie Konfigurationsargumente in der Konfigurationsdatei nach Bedarf hinzu, entfernen oder ändern Sie sie. Informationen zu den Argumenten, die Sie festlegen können, finden Sie unter Add-on-Konfigurationsargumente für OCI Native Ingress Controller.

  3. Aktualisieren Sie das OCI-Add-on für den nativen Ingress-Controller mit dem Befehl OCI ce cluster update-addon, indem Sie Folgendes eingeben:
    oci ce cluster update-addon --addon-name NativeIngressController --from-json file://<path-to-config-file> --cluster-id <cluster-ocid>

    Hierbei gilt:

    • --cluster-id <cluster-ocid> ist die OCID des Clusters, in dem Sie das OCI-native Ingress-Controller-Add-on aktualisieren möchten.
    • --from-json file://<path-to-config-file> gibt den Speicherort der Konfigurationsdatei für das OCI-native Ingress-Controller-Add-on an, die beim Aktualisieren des Add-ons verwendet werden soll. Beispiel: --from-json file://./native-ingress-controller-addon.json

    Beispiel:

    oci ce cluster update-addon --addon-name NativeIngressController --from-json file://./native-ingress-controller-addon.json --cluster-id ocid1.cluster.oc1.iad.aaaaaaaam______dfr

    Eine Arbeitsanforderung wird erstellt, um das OCI-Add-on für den nativen Ingress-Controller zu aktualisieren.

OCI Native Ingress Controller-Add-on deaktivieren (und entfernen)

Hinweis

In diesen Anweisungen wird beschrieben, wie Sie das native OCI-Ingress-Controller-Add-on mit der CLI und einer Konfigurationsdatei deaktivieren und entfernen. Sie können das Add-on auch über die Konsole und die API aktualisieren. Weitere Informationen finden Sie unter Cluster-Add-on deaktivieren (und entfernen).

  1. Deaktivieren (und optional entfernen) Sie das native OCI-Ingress-Controller-Add-on mit dem Befehl OCI ce cluster disable-addon, indem Sie Folgendes eingeben:

    oci ce cluster disable-addon --addon-name NativeIngressController --cluster-id <cluster-ocid> --is-remove-existing-add-on <true|false>

    Hierbei gilt:

    • --cluster-id <cluster-ocid> ist die OCID des Clusters, in dem Sie das native Ingress-Controller-Add-on für OCI deaktivieren (und optional entfernen) möchten.
    • --is-remove-existing-add-on <true|false> gibt an, ob das Add-on für den nativen OCI-Ingress-Controller vollständig entfernt werden soll (wenn es auf true gesetzt ist), oder ob das Add-on nicht entfernt, sondern einfach deaktiviert und nicht verwendet werden soll (wenn es auf false gesetzt ist). Wenn Sie das Add-on deaktivieren, aktualisiert Oracle es nicht mehr automatisch, wenn neue Versionen verfügbar werden.

    Beispiel:

    oci ce cluster disable-addon --addon-name NativeIngressController --cluster-id ocid1.cluster.oc1.iad.aaaaaaaam______dfr --is-remove-existing-add-on true

    Eine Arbeitsanforderung wird erstellt, um das OCI-Add-on für den nativen Ingress-Controller zu deaktivieren (und optional zu entfernen).

  2. (Optional) Entfernen Sie Kubernetes-Ingress-bezogene Ressourcen (wie die IngressClassParameters-, IngressClass- und Ingress-Ressourcen), die nicht vom nativen Ingress-Controller-Add-on für OCI verwaltet werden, mit dem Befehl kubectl delete.