Jak skonfigurować Edge

Edge dla chmury prywatnej w wersji 4.16.05

Aby skonfigurować Edge po instalacji, użyj kombinacji plików .properties i narzędzi Edge. Na przykład aby skonfigurować TLS/SSL w interfejsie Edge, zmodyfikuj pliki .properties, aby ustawić niezbędne właściwości. Aby zmiany w plikach .properties zostały wprowadzone, musisz ponownie uruchomić dany komponent Edge.

Apigee określa technikę edytowania plików .properties jako kod z konfiguracją. Zasadniczo kod z konfiguracją to narzędzie do wyszukiwania kluczy/wartości na podstawie ustawień w plikach .properties. W kodzie z konfiguracją klucze są nazywane tokenami. Dlatego, aby skonfigurować Edge, ustawiasz tokeny w plikach .properties.

Kod z konfiguracją umożliwia komponentom Edge ustawianie wartości domyślnych dostarczanych z usługą, pozwala zespołowi instalacyjnemu zastępować te ustawienia na podstawie topologii instalacji, a następnie umożliwia klientom zastępowanie wybranych właściwości.

Jeśli wyobrazisz sobie hierarchię, ustawienia są uporządkowane w następujący sposób, przy czym ustawienia klienta mają najwyższy priorytet i zastępują wszelkie ustawienia zespołu instalatorów lub Apigee:

  1. Klient
  2. Instalator
  3. Apigee

Jak używać plików .properties

Jako klient możesz modyfikować tylko pliki .properties w katalogu /<inst_root>/apigee/customer/application. Każdy komponent ma w tym katalogu własny plik .properties. Na przykład router.properties i management-server.properties.

  1. Utwórz plik w edytorze jako dowolny użytkownik.
  2. Zmień właściciela pliku na apigee:apigee lub, jeśli użytkownik, który uruchamia usługę Edge, został zmieniony z użytkownika apigee, zmień właściciela pliku na użytkownika, który uruchamia usługę Edge.

Aby ustawić właściwość komponentu, zmodyfikuj odpowiedni plik .properties, aby ustawić token, a następnie uruchom ponownie komponent:

> /<inst_root>/apigee/apigee-service/bin/apigee-service component restart

Na przykład po zmodyfikowaniu pliku router.properties uruchom ponownie router:

> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart

Podczas uaktualniania Edge odczytywane są pliki .properties w katalogu /<inst_root>/apigee/customer/application. Oznacza to, że uaktualnienie zachowa wszystkie właściwości ustawione w komponencie.

Lokalizacja plików .properties

Istnieją 3 katalogi najwyższego poziomu dla plików .properties komponentów Edge: właściciel instalacji i klienci. Domyślne lokalizacje są podane w tej tabeli:

Ostrzeżenie: klienci Edge mogą modyfikować tylko pliki .properties w katalogu /<inst_root>/apigee/customer. Możesz wyświetlać pliki w katalogach komponentów i instalacji, ale nie modyfikuj żadnych plików.

Właściciel

Domyślny katalog główny tokena

Komponent

<inst_root>/apigee/<prefix>-<component>/conf

gdzie /<prefix>-<component> identyfikuje komponent, np. edge-router lub apigee-cassandra.

Instalacja

<inst_root>/apigee/token

Klient

<inst_root>/apigee/customer

Określanie bieżącej wartości tokena

Zanim ustawisz token w pliku .properties komponentu, możesz najpierw określić jego bieżącą wartość za pomocą tego polecenia:

> /<inst_dir>/apigee/apigee-service/bin/apigee-service comp configure -search token

gdzie comp to nazwa komponentu, a token to token, który chcesz sprawdzić.

To polecenie przeszukuje hierarchię plików .properties, aby określić bieżącą wartość tokena.

Aby na przykład sprawdzić bieżącą wartość tokena conf_router_HTTP.request.line.limit dla routera:

> /<inst_dir>/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_router_HTTP.request.line.limit

Powinny pojawić się dane wyjściowe w takiej postaci:

Found key conf_router_HTTP.request.line.limit, with value, 4k, in /opt/apigee/edge-router/token/default.properties

Ustawianie tokenów w plikach .properties

Aby zastąpić wartość tokena:

  1. Edytuj plik .properties komponentu, aby ustawić wartość tokena. Jeśli plik nie istnieje, utwórz go.
  2. Uruchom ponownie komponent.
  3. Sprawdź wartość tokena.

Aby na przykład ustawić limit wiersza żądania dla routera Edge:

  1. Zmodyfikuj plik /<inst_root>/apigee/customer/application/router.properties, aby ustawić token conf_router_HTTP.request.line.limit:

    conf_router_HTTP.request.line.limit=8k
  2. Uruchom ponownie router brzegowy:

    > /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
  3. Sprawdź wartość tokena:

    > /<inst_dir>/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_router_HTTP.request.line.limit

Ustawianie tokena, który przyjmuje wiele wartości

Niektóre tokeny przyjmują listę wartości rozdzielonych przecinkami. Na przykład token conf_security_rbac.restricted.resources zawiera listę identyfikatorów URI, które są ograniczone, dzięki czemu tylko administrator systemu może je wywoływać. Aby zobaczyć wartość conf_security_rbac.restricted.resources:

> cd /<inst_root>/apigee/edge-management-server
> grep -ri "conf_security_rbac.restricted.resources" *

Dane wyjściowe zawierają te informacje:

token/default.properties:conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status

Aby ustawić token, który przyjmuje listę wartości, dołącz nowe wartości do bieżącej wartości tokena w pliku .properties. Dlatego, aby dodać identyfikator URI /myuri/* do conf_security_rbac.restricted.resources, zmodyfikuj plik /<inst_root>/apigee/customer/application/management-server.properties w sposób pokazany poniżej:

conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status,/myuri/*

Znajdowanie tokena

W większości przypadków tokeny, które musisz ustawić, są określone w tym przewodniku. Jeśli jednak chcesz określić token używany do zastąpienia właściwości, wykonaj polecenie grep w folderze source komponentu.

Jeśli na przykład wiesz, że w poprzedniej wersji Edge została ustawiona właściwość session.maxAge i chcesz poznać wartość tokena użytą do jej ustawienia, użyj polecenia grep, aby wyszukać tę właściwość w katalogu /<inst_root>/apigee/edge-ui/source:

> grep -ri "session.maxAge" /<inst_root>/apigee/edge-ui/source

Powinien pojawić się wynik w takiej postaci:

/<inst_root>/apigee/edge-ui/source/conf/application.conf:session.maxAge={T}conf_application_session.maxage{/T}

Ciąg znaków między tagami {T}{/T} to token ustawiony w pliku .properties.

Ustawianie tokena, który jest obecnie zmieniony w komentarz

Niektóre tokeny są zmienione w komentarz w plikach konfiguracji Edge. Jeśli spróbujesz ustawić token, który jest zmieniony w komentarz, ustawienie zostanie zignorowane.

Aby ustawić token, który jest zmieniony w komentarz, użyj specjalnej składni w formacie:

conf/file.extension+propertyName=propertyValue

Załóżmy na przykład, że chcesz ustawić właściwość o nazwie HTTPClient.proxy.host w procesorze komunikatów. Następnie użyj polecenia grep, aby znaleźć właściwość i określić jej token:

> cd /opt/apigee/edge-message-processor
> grep -ri "HTTPClient.proxy.host" *

Polecenie grep zwraca wyniki w postaci zawierającej wartość tokena. Zwróć uwagę, że nazwa właściwości jest zmieniona w komentarz, co wskazuje prefiks #:

source/conf/http.properties:#HTTPClient.proxy.host={T}conf_http_HTTPClient.proxy.host{/T}
token/default.properties:conf_http_HTTPClient.proxy.host=
conf/http.properties:#HTTPClient.proxy.host=

Aby ustawić właściwość, zmodyfikuj plik /opt/apigee/customer/application/message-processor.properties i ustaw właściwość w ten sposób:

conf/http.properties+HTTPClient.proxy.host=myhost.name.com

Zwróć uwagę, że nazwa właściwości jest poprzedzona prefiksem conf/http.properties+, czyli lokalizacją i nazwą pliku konfiguracji zawierającego właściwość, po których następuje znak „+”.

Po ponownym uruchomieniu procesora komunikatów sprawdź plik /opt/apigee/edge-message-processor/conf/http.properties:

> cat /opt/apigee/edge-message-processor/conf/http.properties

Na końcu pliku zobaczysz zestaw właściwości w formie:

conf/http.properties:HTTPClient.proxy.host=yhost.name.com