Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Ten przykład pokazuje, jak korzystać z adaptera Apigee dla Envoy w Apigee Edge.
Wymagania wstępne
Zanim zaczniesz: |
---|
|
Omówienie
Ten przykład wyjaśnia, jak korzystać z adaptera Apigee dla Envoy w Apigee Edge w chmurze publicznej. Interfejs API wywołania serwera proxy przechodzą przez usługę Envoy jako natywną aplikację z interfejsem Edge API za pomocą usługi zdalnej Apigee dla Envoy.
Udostępnij Apigee Edge
W tym kroku użyjesz interfejsu wiersza poleceń usługi zdalnej, aby udostępnić adapter Apigee dla zasobów Envoy do Apigee Edge. Polecenie udostępniania wdraża serwer proxy interfejsu API w Apigee Edge, a także skonfiguruje certyfikat Apigee i generuje dane logowania, których usługa zdalna będzie używać do bezpiecznego połączyć Twój system z Apigee.
- Przejdź do katalogu
$CLI_HOME
:cd $CLI_HOME
- Utwórz podane niżej zmienne środowiskowe. Te zmienne będą używane jako:
parametry do skryptu obsługi administracyjnej:
export ORG=organization_name
export ENV=environment_name
export USER=your_apigee_username
export PASSWORD=your_apigee_password
Gdzie:
Zmienna Opis organization_name Nazwa Twojej organizacji Apigee. environment_name Nazwa środowiska w organizacji. your_apigee_username Twoja nazwa użytkownika konta Apigee. Zwykle jest to adres e-mail. your_apigee_password Twoje hasło do Apigee. - Aby udostępnić serwer proxy usługi zdalnej w Apigee Edge, wykonaj to polecenie:
Jeśli nie uaktualniasz, udostępnij Apigee za pomocą tego polecenia:
$CLI_HOME/apigee-remote-service-cli provision --legacy --mfa $MFA \ --username $USER --password $PASSWORD --organization $ORG --environment $ENV > config.yaml
Jeśli przeprowadzasz uaktualnienie, użyj tego polecenia z flagą
--force-proxy-install
, aby udostępnić Apigee:$CLI_HOME/apigee-remote-service-cli provision --legacy --force-proxy-install --mfa $MFA \ --username $USER --password $PASSWORD --organization $ORG --environment $ENV > config.yaml
- Sprawdź zawartość pliku
config.yaml
. Powinna wyglądać mniej więcej tak:# Configuration for apigee-remote-service-envoy (platform: SaaS) # generated by apigee-remote-service-cli provision on 2020-08-26 09:43:41 apiVersion: v1 kind: ConfigMap metadata: name: apigee-remote-service-envoy namespace: apigee data: config.yaml: | tenant: internal_api: https://istioservices.apigee.net/edgemicro remote_service_api: https://my-username-test.apigee.net/remote-service org_name: my-org env_name: my-env key: f7e09c32f827cab87b8ce43842ed8467ffd2c58e6f795241e38fe7b1aec7664 secret: 1cb5cca00dfb433cb80b32837451fce4bf694633cddbb73d704517e12b35e75 ...
Wartości klucza i obiektu tajnego służą do weryfikowania żądań wysyłanych przez Zdalnego serwera proxy usługi. do Apigee Edge.
Uruchamianie usługi zdalnej Apigee dla Envoy
Usługę zdalną możesz uruchomić jako natywny plik binarny lub Dockera.
Uruchamianie usługi natywnie
Uruchom plik binarny usługi z plikiem konfiguracyjnym wygenerowanym przez polecenie obsługi administracyjnej:
$REMOTE_SERVICE_HOME/apigee-remote-service-envoy -c config_file_path/config.yaml
Uruchamianie usługi w Dockerze
Obrazy Dockera są publikowane z tagami wersji. Aby ją zainstalować, użyj najnowszej wersji. OK możesz wybrać jedną z trzech wersji grafiki:
Różnorodność | Obraz |
---|---|
Usługi Google | google/apigee-envoy-adapter:v2.0.0 |
Ubuntu | google/apigee-envoy-adapter:v2.0.0-ubuntu |
Ubuntu z nudną kryptowalutą | google/apigee-envoy-adapter:v2.0.0-boring |
Aby na przykład uruchomić obraz tymczasowy za pomocą lokalnego pliku config.yaml
dostępnego jako /config.yaml
przez punkt montowania woluminu, użyj tego polecenia:
docker run -v ./config.yaml:/config.yaml google/apigee-envoy-adapter:v2.0.0
Tworzenie przykładowych plików konfiguracji
Wygeneruj plik konfiguracji Envoy za pomocą interfejsu wiersza poleceń:
- Upewnij się, że jesteś w katalogu
$ENVOY_HOME
. - Wyświetl dostępne szablony konfiguracji:
$CLI_HOME/apigee-remote-service-cli samples templates
Wykonaj polecenie „samples”. W przypadku TEMPLATE zastąp jeden z obsługiwanych szablonów Envoy:
$CLI_HOME/apigee-remote-service-cli samples create --template TEMPLATE -c ./config.yaml
To polecenie utworzy plik
./samples/envoy-config.yaml
.
Więcej informacji znajdziesz w artykule Polecenie Sample.
Zainstaluj i uruchom serwer proxy Envoy
Wykonaj te czynności, aby zainstalować i uruchomić serwer proxy Envoy:
- Pobierz plik binarny Envoy lub ją utworzyć, lub użyj Dockera.
- Uruchom Envoy przy użyciu przykładowego pliku konfiguracji wygenerowanego wcześniej dla usługi
httpbin.org
:envoy -c ./samples/envoy-config.yaml
Testowanie instalacji
- Skonfiguruj usługę API i uzyskaj klucz interfejsu API, jak wyjaśniliśmy w tym artykule: Jak uzyskać klucz interfejsu API
- Wywołaj usługę
httpbin
bez klucza interfejsu API:curl -i http://localhost:8080/headers -H "HOST:httpbin.org"
Usługa jest teraz zarządzana przez Apigee, a ponieważ nie podano klucza interfejsu API, wywołanie zwraca następujący błąd.
curl -i http://localhost:8080/headers -H "HOST:httpbin.org" HTTP/1.1 403 Forbidden date: Tue, 12 May 2020 17:51:36 GMT server: envoy content-length: 0 x-envoy-upstream-service-time: 11
- Wykonaj wywołanie interfejsu API przy użyciu klucza:
export APIKEY=YOUR_API_KEY
curl -i http://localhost:8080/headers \ -H "HOST:httpbin.org" -H "x-api-key: $APIKEY"
Wywołanie powinno się powieść: w odpowiedzi musi pojawić się stan 200, a lista nagłówków powinna być zwracana. Na przykład:
curl -i httpbin.default.svc.cluster.local/headers -H "x-api-key: kyOTalNNLMPfOSy6rnVeclmVSL6pA2zS" HTTP/1.1 200 OK server: envoy date: Tue, 12 May 2020 17:55:34 GMT content-type: application/json content-length: 828 access-control-allow-origin: * access-control-allow-credentials: true x-envoy-upstream-service-time: 301 { "headers": { "Accept": "*/*", "Content-Length": "0", "Host": "httpbin.default.svc.cluster.local", "User-Agent": "curl/7.70.0-DEV", "X-Api-Key": "kyOTalNNLMPfOSy6rneclmVSL6pA2zS", "X-Apigee-Accesstoken": "", "X-Apigee-Api": "httpbin.default.svc.cluster.local", "X-Apigee-Apiproducts": "httpbin", "X-Apigee-Application": "httpbin", "X-Apigee-Authorized": "true", "X-Apigee-Clientid": "kyOTalNNLMPfOSy6rVeclmVSL6pA2zS", "X-Apigee-Developeremail": "user@example.com", "X-Apigee-Environment": "test", "X-Apigee-Organization": "my-org", "X-Apigee-Scope": "", "X-B3-Parentspanid": "1476f9a2329bbdfa", "X-B3-Sampled": "0", "X-B3-Spanid": "1ad5c19bfb4bc96f", "X-B3-Traceid": "6f329a34e8ca07811476f9a2329bbdfa" } }
Dalsze kroki
Ruchem interfejsu API do usługi httpbin
zarządzany jest teraz Apigee. Oto
kilka funkcji, które możesz wypróbować i wypróbować:
- Jeśli usługa API została skonfigurowana w sposób opisany w
Jak uzyskać klucz interfejsu API
limit został ustawiony na 5 żądań na minutę. Spróbuj zadzwonić do usługi
httpbin
jeszcze kilka razy, aby aktywować limit. Po wyczerpaniu limitu pojawia się błąd HTTP 403 . - Uzyskaj dostęp do Apigee Analytics w interfejsie Edge. Przejdź do Analiza > Wskaźniki interfejsu API > Interfejs API Proxy Performance (Wydajność serwera proxy).
- Utwórz tokeny JWT i używaj ich do uwierzytelniania wywołań interfejsu API.
- Interfejs wiersza poleceń pozwala tworzyć tokeny, zarządzać powiązaniami i kontrolować powiązania. Szczegóły interfejsu wiersza poleceń znajdziesz w dokumentacji.