Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Wprowadzenie
W tym artykule wyjaśniamy, jak uruchomić Edge Microgateway w klastrze Kubernetes jako w ramach samodzielnej usługi.
Więcej informacji znajdziesz w artykule o integrowaniu Edge Microgateway z Kubernetes.
Zanim zaczniesz
Wykonaj czynności opisane w sekcji Wymagania wstępne.
Konfigurowanie Edge Microgateway
Poniższe polecenie konfiguruje Edge Microgateway dla Twojej organizacji Apigee
i wdraża serwer proxy edgemicro-auth
.
Uruchom to polecenie:
edgemicro configure -o [org] -e [env] -u [username]
Gdzie:
org
: nazwa Twojej organizacji Edge (musisz być administratorem organizacji).env
: środowisko w Twojej organizacji (np. testowe lub produkcyjne).username
: adres e-mail powiązany z Twoim kontem Apigee.
Przykład
edgemicro configure -o docs -e test -u jdoe@example.com
Dane wyjściowe (przykład poniżej) są zapisywane w pliku:
.$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!
Wdrażanie Edge Microgateway jako usługę
Wykonaj następujące polecenie, aby wdrożyć Edge Microgateway jako usługę w Klaster Kubernetes:
kubectl apply -f <(edgemicroctl -org=org -env=env -key=edgemicro-key -sec=edgemicro-secret -conf=file path of org-env-config.yaml)
gdzie:
org
– organizacja Apigee określona w poleceniuedgemicro configure
.env
– środowisko podane w poleceniuedgemicro configure
.edgemicro-key
– klucz zwrócony z poleceniaedgemicro configure
.edgemicro-secret
– obiekt tajny zwrócony z poleceniaedgemicro configure
.file path of org-env-config.yaml
– ścieżka do pliku konfiguracji Edge Micro zwrócona z poleceniaedgemicro configure
.
Na przykład:
kubectl apply -f <(edgemicroctl -org=jdoe -env=test -key=989cce9d41cac94e72626d906562a1d76a19445f8901b3508858bb064988eccb -sec=ec92b793178de7b7e88e346f55a951e3fdae05e700e3ddea7d63977826379784 -conf=/Users/jdoe/.edgemicro/jdoe-test-config.yaml)
Przykładowe dane wyjściowe:
config/myorg-test-config.yaml) service "edge-microgateway" created deployment "edge-microgateway" created secret "mgwsecret" created
Skopiuj ten kod i wklej go w terminalu. Kod konfiguruje kontroler ruchu przychodzącego, zewnętrzny dostęp do usługi
edge-microgateway
. Być może trzeba będzie nacisnąć Enter po wklejeniu polecenia w terminalu: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
Jeśli operacja się uda, wyświetli się następujący wynik:
ingress "edge-microgateway-ingress" created
Kontroler ruchu przychodzącego jest teraz skonfigurowany tak, aby umożliwić dostęp z zewnątrz
edge-microgateway
.
Wdrażanie usługi testowej
Podane niżej kroki pozwolą Ci wdrożyć w klastrze prostą usługę testową.
Kontroler ruchu przychodzącego nie zezwala na wywoływanie usługi spoza klastra.
Później skonfigurujesz Edge Microgateway, aby wywoływał tę usługę jako docelową.
Kontroler ruchu przychodzącego pozwala na dostęp z zewnątrz do usługi edge-microgateway
.
wdrożyć przykładową usługę
helloworld
, Obiekt Ingress nie wie, dotyczące tej usługi, nie można jej wywołać spoza klastra.kubectl apply -f samples/helloworld/helloworld-service.yaml
Przykładowe dane wyjściowe:
service "helloworld" created deployment "helloworld" created
Sprawdź, czy wdrożenie się udało. Zwróć uwagę, że nie ma zewnętrznego adresu IP instancji usługę
helloworld
. W kolejnych krokach skonfigurujesz Edge Microgateway, aby uzyskać dostęp do wewnętrznego adresu IP usługi.kubectl get services -n default
Przykładowe dane wyjściowe:
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
Skonfiguruj serwer Edge Microgateway na serwer proxy dla usługi
Uzyskaj wewnętrzny adres IP usługi helloworld
i dodaj go jako adres docelowy
takiego, który jest świadomy
mikrobramy, serwera proxy. Tworzenie obiektu „mikrogateway” serwer proxy to
standardem Edge Microgateway.
Zobacz też Co trzeba wiedzieć o obsłudze standardu Microgateway serwerów proxy.
Uzyskiwanie wewnętrznego adresu IP usługi testowej
Uzyskaj wewnętrzny adres IP i port klastra dla usługi
helloworld
:kubectl get services helloworld
Przykładowe dane wyjściowe:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE helloworld NodePort 10.55.254.255 <none> 8081:30329/TCP 3m
Skopiuj wartości z kolumn
CLUSTER-IP
iPORT
. Na przykład: powyżej te wartości to:10.55.254.255
i8081
. Wartości parametru będzie inny.
Tworzenie serwera proxy uwzględniającego mikrobramy w Edge
- Zaloguj się w interfejsie Edge.
- Wybierz tę samą organizację, która została określona wcześniej podczas konfiguracji. Edge Microgateway.
- Kliknij Programowanie > Proxy interfejsów API w bocznym menu nawigacyjnym.
- Kliknij + Serwer proxy. Otworzy się kreator tworzenia serwera proxy.
- Na pierwszej stronie kreatora wybierz Odwrotny serwer proxy (najczęstszy).
- Kliknij Dalej.
Na stronie Szczegóły w kreatorze skonfiguruj ustawienia w następujący sposób. Wypełnij z kreatorem dokładnie w takiej formie. Sprawdź, czy nazwa serwera proxy ma prefiks
edgemicro_
- Nazwa serwera proxy: edgemicro_hello
Ścieżka podstawowa serwera proxy: /hello
Istniejący interfejs API:
http://<cluster_ip>:<port>
Przykład: http://10.55.254.255:8081
Kliknij Dalej.
Na stronie Zabezpieczenia w kreatorze wybierz Przekaż (brak).
Kliknij Dalej.
Na stronie Hosty wirtualne w kreatorze zaakceptuj wartości domyślne.
Kliknij Dalej.
Na stronie Build w kreatorze sprawdź ustawienia serwera proxy. Upewnij się, że parametr wybrano środowisko testowe.
Kliknij Build and Deploy (Utwórz i wdróż).
Tworzenie programisty
Do testowania możesz użyć dotychczasowego programisty lub utworzyć nowy:
- Kliknij Opublikuj > Programistów w bocznym menu nawigacyjnym.
- Kliknij + Deweloper.
- Wypełnij informacje w oknie, aby utworzyć nowego dewelopera. Możesz użyć usługi dowolnego programisty nazwę/adres e-mail.
Tworzenie usługi API
Utwórz usługę API w sposób opisany poniżej. Musisz dodać dwa serwery proxy do Usługa: edgemicro-auth i edgemicro_hello.
Więcej informacji znajdziesz Opcje konfiguracji usługi w artykule Co trzeba wiedzieć o usłudze API
- Kliknij Opublikuj > Usługi API w bocznym menu nawigacyjnym.
- Kliknij + Usługa API. Pojawi się strona Szczegóły produktu.
Wypełnij stronę z informacjami o produkcie w następujący sposób. Nie klikaj „Zapisz” do o takie polecenie.
Nazwa hello-world-product
Wyświetlana nazwa Edge Micro hello product
Środowisko test
Dostęp Public
Typ zatwierdzenia klucza Automatic
W dolnej połowie strony kliknij + Zasób niestandardowy.
Ustaw zasób na
/
(pojedynczy ukośnik).Ponownie kliknij + Zasób niestandardowy i dodaj ścieżkę
/**
.W dolnej części strony kliknij + Serwer proxy interfejsu API.
Wybierz serwer proxy o nazwie edgemicro-auth.
Ponownie kliknij + Serwer proxy interfejsu API.
Wybierz serwer proxy rozpoznający mikrobramę o nazwie edgemicro_hello.
Kliknij Zapisz.
Tworzenie aplikacji związanej z programistą
- Kliknij Opublikuj > Aplikacje w bocznym menu nawigacyjnym.
- Kliknij + Aplikacja. Pojawi się strona Szczegóły aplikacji dewelopera.
Wypełnij informacje na stronie dewelopera aplikacji w następujący sposób. Nie zapisuj, dopóki nie pojawi się polecenie to zrobić.
Nazwa hello-world-app
Wyświetlana nazwa Edge Micro hello app
Deweloper Wybierz utworzony przez siebie programistę testów. W przeciwnym razie wszystko będzie w porządku. W sekcji Dane logowania kliknij + Usługa i wybierz usługę, której utworzono:
hello-world-product.
Kliknij Zapisz.
Jesteś z powrotem na stronie z listą wszystkich aplikacji dewelopera.
Wybierz nowo utworzoną aplikację
hello-world-app
.Kliknij Pokaż obok Klucz klienta.
Skopiuj wartość klucza klienta. Ta wartość jest parametrem Klucz interfejsu API, którego będziesz używać do bezpiecznych wywołań interfejsu API
/hello
Odczekaj kilka minut. Zmiany wprowadzone w Apigee mogą pojawić się w ciągu kilku minut Krawędź do synchronizacji z instancją Edge Microgateway wdrożoną w klastra.
Testowanie serwera proxy
Uzyskiwanie adresu IP obiektu Ingress
Korzystając z zewnętrznego adresu IP obiektu Ingress, możesz wywołać usługę Edge Microgateway spoza klastra.
Uzyskaj zewnętrzny adres IP kontrolera ruchu przychodzącego:
kubectl get ing -o wide
Przykładowe dane wyjściowe:
NAME HOSTS ADDRESS PORTS AGE edge-microgateway-ingress * 35.238.249.62 80 37m
Skopiuj wartość
ADDRESS
obiektu Ingress i wyeksportuj ją do zmiennej. Ty możesz ręcznie ustawić zmienną:export GATEWAY_IP=external_ip
Na przykład:
export GATEWAY_IP=35.238.249.62
Możesz też użyć tego polecenia, aby ustawić je automatycznie:
export GATEWAY_IP=$(kubectl describe ing edge-microgateway --namespace default | grep "Address" | cut -d ':' -f2 | tr -d "[:space:]")
Sprawdź, czy zmienna została wyeksportowana. Na przykład:
echo $GATEWAY_IP
Przykładowe dane wyjściowe:
35.238.249.62
Wywoływanie interfejsu API
Po przeniesieniu zmian konfiguracji do mikrobramy możesz
spróbuj wywołać ten interfejs API. używasz adresu IP kontrolera ruchu przychodzącego (zapisanego w zmiennej GATEWAY_IP
),
do wywołania interfejsu API, ponieważ ten adres IP pozwala wywoływać serwer proxy spoza klastra Kubernetes.
mapowanie z Ingress na Edge Microgateway zostało utworzone podczas wdrożenia Edge Microgateway;
do klastra.
Wywoływanie interfejsu API bez klucza interfejsu API. Pojawi się następujący komunikat o błędzie poniżej:
curl $GATEWAY_IP:80/hello/
Oczekiwane dane wyjściowe:
{"error":"missing_authorization","error_description":"Missing Authorization header"}
Jeśli widzisz ten komunikat, być może trzeba będzie poczekać na synchronizację zakończono:
{"message":"no match found for /hello/","status":404}
Aby wykonywać udane wywołania interfejsu API, potrzebujesz klucza interfejsu API.
Uzyskaj klucz klienta z utworzonej aplikacji dewelopera. Ta wartość jest parametrem Klucz interfejsu API potrzebny do wywołania testowego serwera proxy:
curl -H 'x-api-key:your-edge-api-key' $GATEWAY_IP:80/hello/
Na przykład:
curl -H "x-api-key:DeX2eEesYAdRJ5Gdbo77nT9uUfJZql19" $GATEWAY_IP:80/hello/
Dane wyjściowe:
Hello world
Jeśli zobaczysz komunikat „Hello world” oznacza to, że udało Ci się Edge Microgateway do wywoływania usługi helloworld w Kubernetes klastra.
Co dalej?
Więcej informacji znajdziesz w sekcji Lista zadań dodawania niestandardowych wtyczek, skalowania wdrożenia, wprowadzania zmian w konfiguracji inne zadania, które warto wykonać.