Przewodnik konfiguracji ręcznej

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.

Diagram serwerów tagowania i przepływu danych serwera 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.

  1. 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ęp Firestore i wyeksportować dane logowania JSON z nazwą pliku local_service_account_key.json.
  2. 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.
  3. Wskaż zmienną środowiskową GOOGLE_APPLICATION_CREDENTIALS na dane logowania.
  4. Opcjonalnie podaj identyfikator projektu Google Cloud w zmiennej środowiskowej GOOGLE_CLOUD_PROJECT, aby umożliwić serwerowi tagowania wybór projektu.
  5. 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 i PREVIEW_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:

  1. Pobierz aktualną wersję obrazu z gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable.
  2. Wdróż serwer z tymi samymi ustawieniami co poprzednie wdrożenie.
  3. Zaktualizuj pojedynczy serwer podglądu i wszystkie serwery tagowania w klastrze.
  4. Wyłącz wszystkie stare serwery.

Aby sprawdzić, czy aktualizacja się powiodła:

  1. W kontenerze serwera kliknij przycisk Podgląd, aby rozpocząć nową sesję debugowania i wysłać żądanie na osobnej karcie.
  2. 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.