<ph type="x-smartling-placeholder"></ph>
Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur
Apigee X-Dokumentation. Weitere Informationen
Einführung
In diesem Thema wird erläutert, wie Sie Edge Microgateway in einem Kubernetes-Cluster als einen eigenständigen Dienst
Weitere Informationen finden Sie unter Edge Microgateway in Kubernetes einbinden.
Hinweis
Führen Sie die unter Voraussetzungen beschriebenen Schritte aus.
Edge Microgateway konfigurieren
Mit dem folgenden Befehl wird Edge Microgateway für Ihre Apigee-Organisation konfiguriert
und stellt den Proxy edgemicro-auth
bereit.
Führen Sie folgenden Befehl aus:
edgemicro configure -o [org] -e [env] -u [username]
Wobei:
org
: Name Ihrer Edge-Organisation (Sie müssen Organisationsadministrator sein).env
: Eine Umgebung in Ihrer Organisation (z. B. test oder prod).username
: Die mit Ihrem Apigee-Konto verknüpfte E-Mail-Adresse.
Beispiel
edgemicro configure -o docs -e test -u jdoe@example.com
Die Ausgabe (siehe Beispiel unten) wird in der Datei gespeichert:
.$HOME/.edgemicro/org_name-env_name-config.yaml
current nodejs version is v6.9.1 current edgemicro version is 2.5.25 password: file doesn't exist, setting up Give me a minute or two... this can take a while... App edgemicro-auth deployed. checking org for existing KVM KVM already exists in your org configuring host edgemicroservices.apigee.net for region us-west1 saving configuration information to: /Users/jdoe/.edgemicro/myorg-test-config.yaml vault info: -----BEGIN CERTIFICATE----- MIICpDCCAYwCCQCV9eBcO9a5WzANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDDAls b2NhbGhvc3QwHhcNMagwODA5MDAzMDEzWhcNMTgwODEwMDAzMDEzWjAUMRIwEAYD VQQDDBlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDh nAHT7JHX/WvWHRFb8FLm53SPIDld5LyPOUfINdEyhSIEeXoOUKg4EPweJPVSC9Vm Hw4ZMtEqWJM/XsQWvLe8ylRJa5wgmzmFCqAsuzs9+rmc9KvJqjpOh2uRTUf7KKfT iXL2UEseprcI5g8zNyqKyEf/ecWIwz3AkkPAZebVTsrdDfIDHvkyhhvlAHZAB9kn GtqP3N8kOlv4KQto9Gr7GYUGUIDugt7gM1F611+RBS+fYRi32GUAq/UQDkhYL8cp oIJiF7UYkk2+9t9CdOCDuIUCvJioHJQd0xvDpkC9f6LvwjwnCwku+4F2Q63+av5I mJoZJQPvW5aP53Qkk+kHAgMBAAEwDKYJKoZIhvcNAQELBQADggEBALyUBolXUFN8 1bf268nR+gS8MOFDTxO1bUz+bKuT/g3K1PuNUJTueT+0L1H2OiZUzazAqwn2sqzN lQuvLg6LjxjlNkqTJGiJvGDcYVq45dv7UyxAZxhqxTxhlQ+Yu5R9pbQnzujezHpH 6gtCoCkSt/QqiJ3YsmsVu5is+HpIJepMt0CyMh5tK9j87hl46QhHklaVfQ3ycMVm /wNPR/pjizg1FDUeq4nj/7DBVbMf9net/BDaZLeSW1HJ1vcsCXIcSZfQd4QymGFn 8ADrND7ydVjwO/s23soPDTy0g4yLIZvky2tpT8d7YahNqSv2n7sXsLxruzcyCoQ4 w+e3Z3F7IKI= -----END CERTIFICATE----- The following credentials are required to start edge micro key: 1a3b2754c7f20614817b86e09895825ecc252d34df6c4be21ae24356f09e6eb4 secret: 16ad2431de73f07f57a6d44048f08d93b63f783bf1f2ac4221182aa7289c7cef edgemicro configuration complete!
Edge Microgateway als Dienst bereitstellen
Führen Sie den folgenden Befehl aus, um das Edge Microgateway als Dienst in Ihrem Kubernetes-Cluster:
kubectl apply -f <(edgemicroctl -org=org -env=env -key=edgemicro-key -sec=edgemicro-secret -conf=file path of org-env-config.yaml)
Dabei gilt:
org
: Die Apigee-Organisation, die Sie im Befehledgemicro configure
angegeben haben.env
: Die Umgebung, die Sie im Befehledgemicro configure
angegeben haben.edgemicro-key
: Der vom Befehledgemicro configure
zurückgegebene Schlüssel.edgemicro-secret
: Das vom Befehledgemicro configure
zurückgegebene Secret.file path of org-env-config.yaml
: Der Pfad zur Edge Micro-Konfigurationsdatei, die vom Befehledgemicro configure
zurückgegeben wurde.
Beispiel:
kubectl apply -f <(edgemicroctl -org=jdoe -env=test -key=989cce9d41cac94e72626d906562a1d76a19445f8901b3508858bb064988eccb -sec=ec92b793178de7b7e88e346f55a951e3fdae05e700e3ddea7d63977826379784 -conf=/Users/jdoe/.edgemicro/jdoe-test-config.yaml)
Beispielausgabe:
config/myorg-test-config.yaml) service "edge-microgateway" created deployment "edge-microgateway" created secret "mgwsecret" created
Kopieren Sie den folgenden Code und fügen Sie ihn in Ihr Terminal ein. Mit dem Code wird der Ingress-Controller so eingerichtet, externer Zugriff auf den Dienst
edge-microgateway
. Möglicherweise müssen Sie die Eingabetaste drücken. nachdem Sie den Befehl in Ihr Terminal eingefügt haben:cat <<EOF | kubectl apply -f - apiVersion: extensions/v1beta1 kind: Ingress metadata: name: edge-microgateway-ingress annotations: kubernetes.io/ingress.class: "nginx" spec: rules: - http: paths: - path: / backend: serviceName: edge-microgateway servicePort: 8000 EOF
Bei Erfolg wird die folgende Ausgabe angezeigt:
ingress "edge-microgateway-ingress" created
Der Ingress-Controller ist jetzt so konfiguriert, dass der externe Zugriff auf den
edge-microgateway
-Dienst.
Testdienst bereitstellen
Mit den folgenden Schritten wird ein einfacher Testdienst in Ihrem Cluster bereitgestellt. Die
Der Ingress-Controller lässt nicht zu, dass der Dienst von außerhalb des Clusters aufgerufen wird.
Später konfigurieren Sie Edge Microgateway so, dass der Dienst als Ziel aufgerufen wird.
Der Ingress-Controller lässt externen Zugriff auf den Dienst edge-microgateway
zu.
Stellen Sie den
helloworld
-Beispieldienst bereit. Da der Ingress die Daten nicht kann der Dienst nicht von außerhalb des Clusters aufgerufen werden.kubectl apply -f samples/helloworld/helloworld-service.yaml
Beispielausgabe:
service "helloworld" created deployment "helloworld" created
Prüfen Sie, ob die Bereitstellung erfolgreich war. Es gibt keine externe IP-Adresse für
helloworld
. In den folgenden Schritten konfigurieren Sie Edge Microgateway verwendet, um auf die interne IP-Adresse des Dienstes zuzugreifen.kubectl get services -n default
Beispielausgabe:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE edge-microgateway NodePort 10.35.247.222 <none> 8000:32000/TCP 12m helloworld NodePort 10.35.245.103 <none> 8081:30294/TCP 47s kubernetes ClusterIP 10.35.240.1 <none> 443/TCP 47m
Edge Microgateway als Proxy für den Dienst konfigurieren
Rufen Sie die interne IP-Adresse für den Dienst helloworld
ab und fügen Sie sie als Ziel hinzu
eines „microgateway-sensitive“ Proxy. "Microgateway-aware" erstellen Proxy ist ein
Edge Microgateway-Standardanforderung.
Siehe auch Was Sie über Microgateway-aware wissen müssen Proxys.
Interne IP-Adresse für den Testdienst abrufen
Rufen Sie die interne Cluster-IP-Adresse und den internen Port für den Dienst
helloworld
ab:kubectl get services helloworld
Beispielausgabe:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE helloworld NodePort 10.55.254.255 <none> 8081:30329/TCP 3m
Kopieren Sie die Werte von
CLUSTER-IP
undPORT
. In dem Beispiel sind diese Werte10.55.254.255
und8081
. Die Werte für Ihre unterscheiden wird.
Microgateway-fähigen Proxy in Edge erstellen
- Melden Sie sich bei der Edge-Benutzeroberfläche an.
- Wählen Sie die Organisation aus, die Sie bei der Konfiguration angegeben haben. Edge Microgateway.
- Wählen Sie Entwickeln > API-Proxys.
- Klicken Sie auf + Proxy. Der Assistent zum Erstellen eines Proxys wird geöffnet.
- Wählen Sie auf der ersten Seite des Assistenten Reverse-Proxy (am häufigsten) aus.
- Klicken Sie auf Weiter.
Konfigurieren Sie die Konfiguration auf der Seite „Details“ des Assistenten wie folgt. Vergessen Sie nicht, genau wie hier gezeigt. Der Proxy-Name muss das Präfix
edgemicro_
- Proxy-Name: edgemicro_hello
Proxy-Basispfad: /hello
Vorhandene API:
http://<cluster_ip>:<port>
Beispiel: http://10.55.254.255:8081
Klicken Sie auf Weiter.
Wählen Sie auf der Seite „Sicherheit“ des Assistenten Pass through (none) aus.
Klicken Sie auf Weiter.
Übernehmen Sie auf der Seite Virtual Hosts (Virtuelle Hosts) des Assistenten die Standardeinstellungen.
Klicken Sie auf Weiter.
Überprüfen Sie auf der Build-Seite des Assistenten Ihre Proxy-Einstellungen. Achten Sie darauf, dass die test ausgewählt ist.
Klicken Sie auf Build and Deploy (Erstellen und bereitstellen).
Entwickler erstellen
Sie können einen vorhandenen Entwickler zum Testen verwenden oder einen neuen Entwickler erstellen:
- Klicken Sie im seitlichen Navigationsmenü auf Veröffentlichen > Entwickler.
- Klicken Sie auf + Entwickler.
- Füllen Sie das Dialogfeld aus, um einen neuen Entwickler zu erstellen. Sie können einen beliebigen Entwickler Ihren Namen bzw. Ihre E-Mail-Adresse.
API-Produkt erstellen
Erstellen Sie ein API-Produkt wie unten beschrieben. Sie fügen zwei Proxys zur Produkt: edgemicro-auth und edgemicro_hello.
Weitere Informationen Produktkonfigurationsoptionen unter Was Sie über das API-Produkt wissen sollten Konfiguration.
- Wählen Sie im seitlichen Navigationsmenü Veröffentlichen > API-Produkte aus.
- Klicken Sie auf + API Product. Die Seite „Produktdetails“ wird angezeigt.
Füllen Sie die Seite mit den Produktdetails wie folgt aus. Klicken Sie erst auf Speichern , die dazu aufgefordert werden.
Name hello-world-product
Display Name Edge Micro hello product
Umgebung test
Access Public
Schlüsselgenehmigungstyp Automatic
Klicken Sie in der unteren Hälfte der Seite auf + Benutzerdefinierte Ressource.
Setzen Sie die Ressource auf
/
(einen einzelnen Schrägstrich).Wählen Sie noch einmal + Benutzerdefinierte Ressource aus und fügen Sie den Pfad
/**
hinzu.Klicken Sie unten auf der Seite auf + API-Proxy.
Wählen Sie den Proxy edgemicro-auth aus.
Klicken Sie noch einmal auf + API-Proxy.
Wählen Sie den Microgateway-fähigen Proxy mit dem Namen edgemicro_hello aus.
Klicken Sie auf Speichern.
Entwickler-App erstellen
- Klicken Sie im seitlichen Navigationsmenü auf Veröffentlichen > Apps.
- Klicken Sie auf + App. Die Seite „Entwickler-App-Details“ wird angezeigt.
Füllen Sie die Seite „Entwickler-App“ wie unten beschrieben aus. Speichern Sie die Daten erst, wenn Sie dazu aufgefordert werden: tun Sie dies.
Name hello-world-app
Display Name Edge Micro hello app
Developer Wählen Sie den Testentwickler aus, den Sie erstellt haben. Andernfalls wird ein beliebiger Entwickler in Ordnung sein. Klicken Sie im Bereich „Anmeldedaten“ auf + Produkt und wählen Sie das Produkt aus, Erstellt:
hello-world-product.
Klicken Sie auf Speichern.
Sie befinden sich jetzt wieder auf der Seite, auf der alle Entwickler-Apps aufgeführt sind.
Wählen Sie die App
hello-world-app
aus, die Sie gerade erstellt haben.Klicken Sie neben dem Consumer Key (Consumer-Key) auf Anzeigen.
Kopieren Sie den Wert des Consumer-Schlüssels. Dieser Wert ist der API-Schlüssel für sichere API-Aufrufe an
/hello
Warten Sie ein paar Minuten. Die Änderungen, die Sie in Apigee vorgenommen haben, können einige Minuten dauern Edge zum Synchronisieren mit der Instanz von Edge Microgateway, die im Cluster.
Proxy testen
Ingress-IP-Adresse abrufen
Mit der externen IP-Adresse für den Ingress können Sie den Edge Microgateway-Dienst aufrufen. von außerhalb des Clusters.
Rufen Sie die external-IP-Adresse des Ingress-Controllers ab:
kubectl get ing -o wide
Beispielausgabe:
NAME HOSTS ADDRESS PORTS AGE edge-microgateway-ingress * 35.238.249.62 80 37m
Kopieren Sie den
ADDRESS
-Wert für den Ingress und exportieren Sie ihn in eine Variable. Ich können Sie die Variable manuell festlegen:export GATEWAY_IP=external_ip
Beispiel:
export GATEWAY_IP=35.238.249.62
Oder verwenden Sie diesen Befehl, um sie für Sie festzulegen:
export GATEWAY_IP=$(kubectl describe ing edge-microgateway --namespace default | grep "Address" | cut -d ':' -f2 | tr -d "[:space:]")
Prüfen Sie, ob die Variable exportiert wurde. Beispiel:
echo $GATEWAY_IP
Beispielausgabe:
35.238.249.62
API aufrufen
Nachdem die Konfigurationsänderungen in das Microgateway geladen wurden, können Sie
versuchen Sie, die API aufzurufen. Sie verwenden die IP-Adresse des Ingress-Controllers, die Sie in der Variablen GATEWAY_IP
gespeichert haben.
um die API aufzurufen, da Sie mit dieser IP-Adresse den Proxy von außerhalb des Kubernetes-Clusters aufrufen können. Die
Die Zuordnung vom Ingress zu Edge Microgateway wurde bei der Bereitstellung von Edge Microgateway erstellt.
an den Cluster senden.
Rufen Sie die API ohne API-Schlüssel auf. Es wird eine Fehlermeldung angezeigt, unten:
curl $GATEWAY_IP:80/hello/
Erwartete Ausgabe:
{"error":"missing_authorization","error_description":"Missing Authorization header"}
Wenn diese Meldung angezeigt wird, müssen Sie möglicherweise etwas länger warten, bis die Synchronisierung abgeschlossen ist:
{"message":"no match found for /hello/","status":404}
Für erfolgreiche API-Aufrufe benötigen Sie den API-Schlüssel.
Rufen Sie den Consumer-Key aus der von Ihnen erstellten Entwickler-App ab. Dieser Wert ist der API-Schlüssel, den Sie zum Aufrufen des Testproxys benötigen:
curl -H 'x-api-key:your-edge-api-key' $GATEWAY_IP:80/hello/
Beispiel:
curl -H "x-api-key:DeX2eEesYAdRJ5Gdbo77nT9uUfJZql19" $GATEWAY_IP:80/hello/
Ausgabe:
Hello world
Wenn Sie die Nachricht „Hello World“ sehen ist die Konfiguration erfolgreich Edge Microgateway zum Aufrufen des Diensts helloworld innerhalb der Kubernetes-Umgebung Cluster.
Nächste Schritte
Weitere Informationen finden Sie im Abschnitt Aufgaben. zum Hinzufügen benutzerdefinierter Plug-ins, Skalieren der Bereitstellung, Vornehmen von Konfigurationsänderungen andere Aufgaben, die Sie ausführen möchten.