Proces automatycznej obsługi administracyjnej może za pomocą kilku kliknięć wdrożyć serwer tagowania w Cloud Run. Jeśli chcesz udostępnić serwer tagowania w innych środowiskach, możesz to zrobić ręcznie. Serwer tagowania to serwer Node.js w obrazie Dockera.
Ręczna obsługa administracyjna serwera tagowania wymaga oddzielnego udostępnienia klastra tagowania po stronie serwera (SST) i serwera podglądu. Klaster SST jest punktem wejścia dla wszystkich żądań wysyłanych do serwera tagowania i będzie obsługiwać żądania zgodnie z opisem we wprowadzeniu do tagowania po stronie serwera. Serwer podglądu jest potrzebny do wyświetlania podglądu kontenera.
Na ilustracji 1 przedstawiono interakcję danych między serwerami tagowania a serwerem podglądu.
Rysunek 1.Schemat serwerów tagowania i podglądu przepływu danych serwera
Z tego przewodnika dowiesz się, jak:
- Wyświetla wszystkie dostępne ustawienia obrazu Dockera.
- (Opcjonalnie) Dołącz dane logowania do BigQuery
- Ręcznie udostępnij serwer podglądu za pomocą obrazu Dockera SST.
- Ręcznie udostępnij klaster SST za pomocą obrazu Dockera SST.
- Sprawdź, czy serwer podglądu i klaster SST są prawidłowo skonfigurowane.
- Po udostępnieniu serwera zaktualizuj wersję serwera tagowania.
Aby uruchamiać polecenia Dockera z tego przewodnika, musisz najpierw zainstalować na komputerze Docker.
Wyświetl wszystkie dostępne ustawienia obrazu Dockera
Obraz Dockera serwera tagowania znajduje się pod tym adresem URL:
gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
Serwer tagowania i serwer podglądu używają tego samego obrazu Dockera z różnymi flagami. W tej sekcji pokażemy, jak wyszukać wszystkie dostępne ustawienia, których można używać z obrazem Dockera.
Aby wyświetlić wszystkie dostępne ustawienia, uruchom następujące polecenie za pomocą narzędzia wiersza poleceń Dockera:
docker run gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable server_bin.js --help
(Opcjonalnie) Dołącz dane logowania do Google Cloud
Aby używać interfejsu API BigQuery
lub Firestore
poza Google Cloud, musisz podać dane logowania do konta usługi, które mają uprawnienia dostępu do tych zasobów.
- Z tego przewodnika dowiesz się, jak utworzyć konto usługi z rolą Edytujący dane BigQuery z uprawnieniami dostępu
BigQuery
lub z rolą Użytkownik Cloud Datastore dającą dostępFirestore
i wyeksportować dane logowania JSON z nazwą plikulocal_service_account_key.json
. - Podłącz dane logowania JSON w woluminie dostępnym dla obrazu. Korzystając z
docker run
, możesz określić-v local_service_account_key.json:/app/service_account_key.json
, aby podłączyć dane logowania w obrazie. - Wskaż zmienną środowiskową
GOOGLE_APPLICATION_CREDENTIALS
na dane logowania. - Opcjonalnie podaj identyfikator projektu Google Cloud w zmiennej środowiskowej
GOOGLE_CLOUD_PROJECT
, aby umożliwić serwerowi tagowania wybór projektu. Uruchom serwer. To polecenie uruchamia serwer tagowania z uwzględnieniem danych logowania:
docker run -v local_service_account_key.json:/app/service_account_key.json \ -p 8080:8080 \ -e GOOGLE_APPLICATION_CREDENTIALS='/app/service_account_key.json' \ -e GOOGLE_CLOUD_PROJECT='<your project id>' \ -e CONTAINER_CONFIG='<config string>' \ gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
W zależności od systemu, w którym został wdrożony serwer tagowania, dane logowania można podłączać na różne sposoby. Na przykład Kubernetes i Docker Swarm zawierają wskazówki dotyczące zarządzania obiektami tajnymi. Więcej informacji znajdziesz w przewodniku po odpowiednim systemie.
Aby chronić swoje dane logowania, stosuj sprawdzone metody.
Ręczne udostępnianie serwera podglądu
Serwer podglądu umożliwia wyświetlenie podglądu kontenera serwera. Aby uruchomić serwer podglądu, uruchom obraz Dockera z podanymi niżej zmiennymi środowiskowymi przekazanymi do środowiska Dockera.
Wymagane ustawienia
CONTAINER_CONFIG
– ciąg tekstowy konfiguracji kontenera serwera. W Menedżerze tagów przejdź do obszaru roboczego kontenera serwera i kliknij identyfikator kontenera w prawym górnym rogu strony. Kliknij Ręcznie udostępnij serwer tagowania, aby znaleźć wartość Konfiguracja kontenera.RUN_AS_PREVIEW_SERVER
– ustaw wartośćtrue
, aby udostępnić serwer jako serwer podglądu.
Przykład użycia narzędzia wiersza poleceń Dockera
Aby udostępnić serwer podglądu lokalnie, uruchom to polecenie:
docker run -p 8080:8080 -e CONTAINER_CONFIG='<config string>' -e RUN_AS_PREVIEW_SERVER=true gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
Powinna być widoczna odpowiedź 200 na żądanie wysyłane do http://localhost:8080/healthz
. Opcjonalnie do zmiany portu użyj zmiennej środowiskowej PORT
.
Sprawdzone metody
- Musisz wdrożyć dokładnie 1 serwer podglądu. Nie konfiguruj autoskalowania powyżej 1 instancji.
- Po skonfigurowaniu serwera podglądu za pomocą Dockera skonfiguruj adres URL HTTPS, który wskazuje serwer podglądu. Jest to wymagane do skonfigurowania klastra SST.
- Czas oczekiwania w systemie równoważenia obciążenia lub sieci CDN musi być dłuższy niż 20 sekund. W przeciwnym razie tryb podglądu nie będzie działać prawidłowo.
Ręczne udostępnianie klastra z tagowaniem po stronie serwera
Klaster SST służy jako punkt wejścia, pełni rolę punktu wejściowego i żądania podglądu serwerów proxy do serwera podglądu, i obsługuje wszystkie inne żądania zgodnie z opisem we wprowadzeniu do tagowania po stronie serwera. Użyj poniższych wymaganych ustawień z obrazem Dockera serwera tagowania, aby udostępnić klaster SST w dowolnym środowisku obsługującym Docker.
Wymagane ustawienia
CONTAINER_CONFIG
– ciąg tekstowy konfiguracji kontenera serwera. W Menedżerze tagów przejdź do obszaru roboczego kontenera serwera i kliknij identyfikator kontenera w prawym górnym rogu strony. Kliknij Ręcznie udostępnij serwer tagowania, aby znaleźć wartość Konfiguracja kontenera.PREVIEW_SERVER_URL
– adres URL HTTPS serwera podglądu. To ustawienie należy ustawić tylko na potrzeby obsługi administracyjnej serwera tagowania. Nie jest ono potrzebne do udostępniania serwera podglądu. Instrukcje konfigurowania serwera podglądu znajdziesz w sekcji powyżej.
Przykład użycia narzędzia wiersza poleceń Dockera
Aby lokalnie obsługiwać pojedynczy serwer tagowania, uruchom to polecenie:
docker run -p 8080:8080 -e CONTAINER_CONFIG='<config string>' -e PREVIEW_SERVER_URL='<HTTPS preview server url>' gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
Powinna pojawić się odpowiedź 200 z żądania wysłanego do usługi http://localhost:8080/healthz
.
Opcjonalnie użyj zmiennej środowiskowej PORT
, aby zmienić port.
Sprawdzone metody
- Serwery z tagowaniem po stronie serwera można udostępnić jako pojedynczy serwer lub klaster. Zalecamy udostępnienie go jako klastra, aby uzyskać lepszą dostępność, skalowalność i wydajność. Pamiętaj, że przy obsłudze administracyjnej jako klastra każda instancja serwera musi mieć skonfigurowane te same zmienne środowiskowe
CONTAINER_CONFIG
iPREVIEW_SERVER_URL
. - Pamiętaj, aby wskazać wdrożenie klastra SST na nową subdomenę w swojej witrynie, niezależną od subdomeny obsługującej Twoją aplikację. Jeśli na przykład aplikacja obsługuje ruch internetowy pod adresem example.com, jako serwer tagowania użyj subdomeny takiej jak analytics.example.com.
- Gdy skonfigurujesz klaster SST za pomocą Dockera, skonfiguruj adres URL HTTPS, który wskazuje klaster SST.
- Pamiętaj, aby co jakiś czas ponownie uruchamiać serwery i upewnić się, że mają najnowsze aktualizacje kodu SST. W przeciwnym razie mogą występować niezgodności w przypadku nowych funkcji SST. Jednym ze sposobów sprawdzenia, kiedy serwer musi się ponownie uruchomić, jest skonfigurowanie kontroli żywotności, co zostało wyjaśnione poniżej. Pamiętaj też, że wszystkie opublikowane aktualizacje kontenera serwera zostaną zastosowane bez ponownego uruchamiania.
- Użyj istniejącego punktu końcowego
/healthz
(np.https://analytics.example.com/healthz
) na swoich serwerach tagowania, aby skonfigurować testy żywotności. Odpowiedź oznacza, że serwer należy ponownie uruchomić. - Kontener Dockera zawiera domyślne polecenie kontroli stanu (
HEALTHCHECK CMD ["/nodejs/bin/node", "/app/health_checker_bin.js"]
), które okresowo wysyła zapytania do punktu końcowego/healthz
. Jeśli korzystasz z kontroli stanu Dockera, możesz zmienić ustawienia, postępując zgodnie z instrukcjami Dockera. - Jeśli serwer podglądu i serwer tagowania znajdują się w tym samym źródle, hostuj serwer podglądu pod inną ścieżką niż serwer tagowania. Określ
PREVIEW_SERVER_URL
ze ścieżką. - Udostępnione serwery powinny mieć maksymalnie 1 procesor wirtualny. Dodatkowe procesory wirtualne nie są używane i mają negatywny wpływ na autoskalowanie.
Weryfikacja
Skonfiguruj adres URL kontenera serwera
W Menedżerze tagów przejdź do kontenera serwera. W sekcji Administracja > Ustawienia kontenera wpisz adres URL serwera tagowania w polu URL kontenera serwera i kliknij Zapisz.
Weryfikacja w trybie podglądu
W obszarze roboczym Menedżera tagów kliknij Podgląd, aby wyświetlić podgląd kontenera i zobaczyć, czy strona podglądu się wczyta. Na innej karcie przeglądarki przejdź do dowolnej ścieżki z adresu URL kontenera serwera. Jeśli na stronie podglądu widać wysłane żądanie, wszystko jest skonfigurowane poprawnie.
Jeśli na jednym serwerze tagowania masz zmapowanych wiele subdomen i chcesz wyświetlić podgląd każdej z nich, dodaj adresy URL kontenera serwera w sekcji Administracja > Ustawienia kontenerów. Jeśli podasz większą liczbę adresów URL, wszystkie ścieżki adresów URL muszą być zgodne (ciąg informacji występujący po nazwie domeny). Możesz np. wyświetlać podgląd w usługach example.com/abc
i example2.com/abc
, ale nie w example.com/abc
i example2.com/def
. Jeśli dodasz wiele adresów URL, obok przycisku Podgląd zobaczysz ikonę, która umożliwi wybranie adresu URL, którego podgląd chcesz wyświetlić.
Zaktualizuj wersję serwera tagowania
Obraz gtm-cloud-image zawiera Node.js i biblioteki potrzebne do działania serwera tagowania. Obraz Dockera jest okresowo aktualizowany o poprawki zabezpieczeń i nowe funkcje. Zalecamy aktualizację serwera tagowania w przypadku każdej głównej wersji (np. uaktualnienia z wersji 1.x.x do 2.x.x).
Aby zaktualizować obraz Dockera:
- Pobierz aktualną wersję obrazu z
gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
. - Wdróż serwer z tymi samymi ustawieniami co poprzednie wdrożenie.
- Zaktualizuj pojedynczy serwer podglądu i wszystkie serwery tagowania w klastrze.
- Wyłącz wszystkie stare serwery.
Aby sprawdzić, czy aktualizacja się powiodła:
- W kontenerze serwera kliknij przycisk Podgląd, aby rozpocząć nową sesję debugowania i wysłać żądanie na osobnej karcie.
- W podsumowaniu wybierz kartę Konsola i upewnij się, że nie ma żadnych komunikatów z prośbą o zaktualizowanie serwera tagowania.
Menedżer tagów może wyświetlać komunikaty z prośbą o zaktualizowanie serwera tagowania przez maksymalnie 1 dzień od zakończenia tej aktualizacji. Na stronie podglądu będzie jednak widoczny aktualny komunikat o wersji serwera tagowania.