Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Wycofywanie wdrożenia serwera proxy hostowanych celów
Gdy wycofasz wdrożenie serwera proxy Edge, który obejmuje aplikację z hostowanymi miejscami docelowymi, powiązane Aplikacja hostowanych celów nie została wdrożona, ale bazowy obraz aplikacji nie został usunięty. Jeśli ponowne wdrożenie serwera proxy, aplikacja Hosted Targets zostanie wdrożona.
Usuwanie serwera proxy hostowanych celów
Gdy usuniesz serwer proxy hostowanych celów, bazowe instancje środowiska wykonawczego przestaną działać z jakiegoś powodu. Kod aplikacji zostanie jednak zachowany.
Dostęp do plików dziennika
Pliki dzienników przydają się podczas debugowania i rozwiązywania problemów. Możesz wyświetlać 2 typy plików dziennika dla: wdrożenie hostowanych celów:
- Dziennik kompilacji – zawiera dane wyjściowe związane z wdrażaniem i tworzeniem aplikacji hostowanych docelowych.
- Dziennik środowiska wykonawczego – pokazuje dane wyjściowe związane z uruchomioną aplikacją hostowanych celów. Logi środowiska wykonawczego są ograniczone do środowiska i wyświetlają informacje z dziennika dla aktualnie wdrożonej wersji serwera proxy.
Uzyskiwanie dostępu do logów z interfejsu Edge
- Otwórz stronę apigee.com/edge
- Wpisz swoje dane logowania i kliknij Zaloguj się.
- Kliknij Programowanie > Proxy interfejsów API w bocznym menu nawigacyjnym.
- Wybierz serwer proxy, dla którego chcesz wyświetlać logi.
- Kliknij kartę Develop.
- Aby wyświetlić log kompilacji, kliknij Logi kompilacji. .
- Aby wyświetlić dziennik środowiska wykonawczego, kliknij Logi środowiska wykonawczego.
Uzyskiwanie dostępu do logów przy użyciu interfejsu API
Logi hostowanych celów możesz też pobierać za pomocą interfejsu Edge API. Więcej informacji: Pobierz logi Node.js z pamięci podręcznej.
Używanie prywatnego repozytorium npm
Z tej sekcji dowiesz się, jak wdrożyć serwer proxy Node.js w hostowanych celach w przypadku, gdy użyj prywatnego repozytorium NPM w w środowisku programistycznym.
Co musisz wiedzieć o korzystaniu z repozytorium prywatnego
Gdy wdrażasz aplikację Node.js w Edge, wszystkie zależności projektu są automatycznie importowane
w ramach procesu wdrażania.
Zasadniczo hostowane miejsca docelowe uruchamiają w kodzie npm install
po jego wdrożeniu.
Jeśli jednak w środowisku programistycznym używasz prywatnego repozytorium NPM, prywatne repozytorium
nie można rozwiązać w chmurze zależności. W
w tym przypadku rozwiązaniem jest użycie opcji --bundled-dependencies
, gdy używasz
narzędzie do wdrażania apigeetool. Zobacz też
Wdróż Node.js ze swojego systemu w Edge.
Jeśli użyjesz flagi --bundled-dependencies
na stronie apigeetool
,
Aplikacja Node.js zostanie przesłana do hostowanych celów oraz wszystkich plików lokalnych/prywatnych, które są wymienione na liście
w tablicy bundledDependencies
w języku package.json
są skompresowane i przesyłane razem z pakietem.
Nie jest to typowa sytuacja, ale pamiętaj, że jeśli wewnętrznie zduplikujesz publiczne repozytorium NPM, wdrożenie się nie uda.
jeśli Twój pakiet wdrożeniowy zawiera plik .npmrc
lub package-lock.json
wskazujący
do swojego prywatnego lustra. W takim przypadku pomiń parametr .npmrc
lub package-lock.json
.
z pakietu proxy, który chcesz wdrożyć.
Wdrażanie z użyciem prywatnego repozytorium NPM
Aby używać modułów udostępnionych z prywatnego repozytorium NPM, wykonaj te czynności:
- Zaloguj się w npm:
npm login
- Uzyskaj token uwierzytelniania npm:
- Znajdź plik .npmrc (powinien być w ~/.npmrc).
- W pliku .npmrc zwróć uwagę na token na końcu wiersza, który wygląda tak:
//registry.npmjs.org/:_authToken=****
- Możesz też użyć poleceń
npm token <list | create | revoke>
, aby wyświetlić listę: utworzyć lub unieważnić token uwierzytelniania. Zobacz npm-token dokumentacji. - Otwórz stronę konfiguracji map klucz-wartość w sposób opisany poniżej.
Edge
Aby uzyskać dostęp do strony konfiguracji map klucz-wartość za pomocą interfejsu Edge:
- Zaloguj się na stronie apigee.com/edge.
- Wybierz Administracja > Środowiska > Mapy klucz-wartość na lewym pasku nawigacyjnym.
Classic Edge (Private Cloud)
Aby uzyskać dostęp do strony konfiguracji map klucz-wartość w interfejsie Classic Edge:
- Zaloguj się w aplikacji
http://ms-ip:9000
, gdzie ms-ip to adres Adres IP lub nazwa DNS węzła serwera zarządzania. - Wybierz Interfejsy API > Konfiguracja środowiska > Mapy klucz-wartość na górnym pasku nawigacyjnym.
- Kliknij + Mapa par klucz-wartość.
- W oknie Nowe mapowanie wartości kluczy wpisz nazwę i wybierz Zaszyfrowane.
- Kliknij Dodaj.
- Dodaj token uwierzytelniania, który został wcześniej znaleziony lub utworzony jako nowy wpis w każdej z maszyn wirtualnych. który właśnie utworzyłaś.
- W pliku app.yaml dodaj wpis odwołujący się do KVM i klucza. powiązane z tokenem uwierzytelniania npm. Powinna wyglądać mniej więcej tak:
- Atrybut name najwyższego poziomu odpowiada nazwie środowiska. która zostanie utworzona.
- Wartość name w polu valueRef odpowiada maszynie wirtualnej użytej przez Ciebie utworzone wcześniej.
- Atrybut key odpowiada kluczowi mapowanemu na token npm, który masz dodano do KVM.
- Utwórz plik .npmrc w tym samym katalogu, w którym znajduje się plik package.json. Ten
powinien wyglądać podobnie do tego:
a jeśli nie używasz//registry.npmjs.org/:_authToken=${NPM_TOKEN}
registry.npmjs.org
, możesz ustawić zakres w pliku .npmrc przez dodanie wiersza podobnego do tego:@myscope:registry=https://mycustomregistry.example.org
Zobacz też dokumentację npmrc. - Prześlij lub zaktualizuj serwer proxy Node.js przy użyciu plików .npmrc i app.yaml.
- Sprawdź, czy nowy lub zaktualizowany serwer proxy został wdrożony i współpracuje z żądanym repozytorium prywatnym .
- Jeśli serwer proxy nie zostanie wdrożony, sprawdź logi kompilacji, aby zobaczyć, czy podczas instalacji prywatnego modułu npm. Jeśli tak:
- Na karcie Programowanie sprawdź, czy plik .npmrc jest obecny.
- Sprawdź, czy token jest prawidłowy (spróbuj zainstalować moduł lokalnie przy użyciu tokena) w kvm).
- Jeśli korzystasz z zakresu niestandardowego, sprawdź, czy jest on ustawiony.
env:
- name: NPM_TOKEN
valueRef:
name: npm_store
key: private_token
Gdzie:
Określanie wersji NPM na potrzeby zależności w pakiecie
Domyślnie do instalowania pakietów zależności w środowisku hostowanych wartości docelowych używana jest NPM w wersji 4.
Jeśli jednak chcesz używać innej wersji NPM, możesz ją określić w NPM_VERSION
zmiennej środowiskowej. Tę zmienną można ustawić w pliku manifestu aplikacji. Szczegółowe informacje znajdziesz w sekcji Elementy pliku manifestu.
Jeśli korzystasz z zależności w pakiecie, a nie określisz NPM_VERSION
, hostowane cele
domyślnie używa NPM w wersji 4. Jeśli nie używasz zależności w pakiecie, dołączona jest wersja NPM.
w określonym środowisku wykonawczym Node.js.
Przykład zależności w pakiecie
Przykład prezentujący funkcję zależności połączonych z hostowanymi elementami docelowymi: Jak utworzyć aplikację Node.js z funkcjami hostowanymi za pomocą modułów niestandardowych.Dodaj punkt końcowy kontroli stanu
Możesz wdrożyć punkt końcowy kontroli stanu dla aplikacji Node.js. Apigee używa tego punktu końcowego, gdy Aplikacja Node.js zaczyna sprawdzać, czy działa w kontenerze.
Domyślnie punkt końcowy, którego oczekuje Apigee, to /health
. Możesz zmienić domyślną wartość
punktu końcowego, określając go w zmiennej środowiskowej o nazwie
HOSTED_TARGET_HEALTH_CHECK_PATH
Możesz ustawić tę zmienną w pliku manifestu aplikacji
. Szczegółowe informacje znajdziesz w sekcji Elementy pliku manifestu.
Wdrażanie punktu końcowego kontroli stanu nie jest wymagane. Jeśli jednak wdrożysz kontrolę stanu punktu końcowego, pamiętaj o tych kwestiach:
- Jeśli Twoja aplikacja zostanie zamknięta, gdy Apigee dotrze do punktu końcowego, nie uruchomi się zgodnie z oczekiwaniami.
- Jeśli punkt końcowy zwraca stan HTTP 404 Nie znaleziono, wszystko jest w porządku.
/health
lubHOSTED_TARGET_HEALTH_CHECK_PATH
służy tylko do sprawdzania, czy aplikacja jest uruchomiona. Rzeczywista odpowiedź zostanie zignorowana.
Zmień lokalizację pamięci podręcznej NPM
Nowsze wersje Node.js korzystają z wersji NPM, która używa funkcji /root/.npm
na potrzeby pamięci podręcznej NPM.
Ta lokalizacja powoduje problem w przypadku hostowanych celów, ponieważ lokalizacja katalogu jest tylko do odczytu
ponieważ środowisko wykonawcze hostowanego miejsca docelowego używa systemu plików tmpfs, w którym tylko /tmp
może zapisywać dane.
Aby obejść ten problem, możesz ustawić zmienną środowiskową npm_config_cache
w:
do Twojej aplikacji
app.yaml
file (plik manifestu)
do katalogu w domenie /tmp
. Na przykład:
runtime: node application: my-express-app env: - name: npm_config_cache value: /tmp/.npm - name: NODE_ENV value: production - name: LOG_LEVEL value: 3
Uruchamianie aplikacji bez funkcji NPM
Domyślnie hostowane cele korzystają z npm start
do uruchamiania Twojej aplikacji hostowanej. Ale
w poprzednim zadaniu omówiliśmy problem z używaniem NPM, ponieważ nowsze wersje będą próbowały używać
/root/.npm
dla pamięci podręcznej NPM, której nie można zapisać, co skutkuje hostowanym celem
nie można uruchomić. Poprzednie zadanie rozwiązuje ten problem, ale inną opcją jest
uruchamianie aplikacji bez funkcji NPM. Możesz to zrobić za pomocą instrukcji command
oraz
args
wartości w pliku danych aplikacji
app.yaml
file (plik manifestu)
aby uruchomić hostowany cel bezpośrednio przy użyciu node index.js
. Na przykład:
runtime: node application: my-express-app command: node args: - index.js env: - name: NODE_ENV value: production - name: LOG_LEVEL value: 3
node index.js
to tylko
przykład.