Przewodnik konfiguracji ręcznej

Automatyczny proces obsługi administracyjnej umożliwia wdrożenie serwera tagowania do Cloud Run w zaledwie kilka kliknięć. Jeśli chcesz skonfigurować serwer tagowania w innych środowiskach, możesz to zrobić ręcznie. Serwer tagowania to serwer Node.js w obrazie Docker.

Ręczne konfigurowanie serwera tagowania wymaga skonfigurowania klastra tagowania po stronie serwera (SST) i serwera podglądu osobno. Klaster SST jest punktem wejścia wszystkich żądań wysyłanych do serwera tagowania i obsługuje żądania zgodnie z opisem w artykule Wprowadzenie do tagowania po stronie serwera. Serwer podglądu jest potrzebny do wyświetlania podglądu kontenera.

Ilustracja 1 przedstawia interakcję danych między serwerami tagowania a serwerem podglądu.

Diagram serwerów tagowania i przepływu danych z serwera podglądu

Rysunek 1.Schemat przepływu danych między serwerami tagowania a serwerem podglądu

Z tego przewodnika dowiesz się, jak:

  • Wyświetl wszystkie dostępne ustawienia obrazu Dockera.
  • (Opcjonalnie) Dołącz poświadczenia logowania do BigQuery
  • Ręcznie skonfiguruj 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 skonfigurowaniu serwera aktualizuj jego wersję.

Aby uruchamiać polecenia Dockera opisane w tym przewodniku, musisz najpierw zainstalować na komputerze Docker.

Wyświetlanie wszystkich dostępnych ustawień obrazu Dockera

Obraz Dockera serwera tagowania możesz znaleźć 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 omówimy, jak wyszukać wszystkie dostępne ustawienia, których można używać z obrazem Dockera.

Aby wyświetlić wszystkie dostępne ustawienia, uruchom te polecenia za pomocą narzędzia wiersza poleceń docker:

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 konta usługi, które mają uprawnienia dostępu do tych zasobów.

  1. Aby utworzyć konto usługi z rolą Edytujący dane BigQuery, która zapewnia dostęp BigQuery, lub rolą Użytkownik Cloud Datastore, która zapewnia dostęp Firestore, wykonaj czynności opisane w tym przewodniku. Następnie wyeksportuj poświadczenia logowania w formacie JSON, korzystając z pliku o nazwie local_service_account_key.json.
  2. Zamontuj plik danych uwierzytelniających w formacie JSON w woluminie dostępnym dla obrazu. Za pomocą docker run możesz określić -v local_service_account_key.json:/app/service_account_key.json, aby zamontować poświadczenia 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 serwer tagowania mógł niejawnie wybrać projekt.
  5. Uruchom serwer. To polecenie uruchamia serwer tagowania z uwzględnionymi danymi 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 jest używany serwer tagowania, dane uwierzytelniające można zamontować na różne sposoby. Na przykład Kubernetes i Docker Swarm zawierają przewodniki dotyczące zarządzania sekretami. Więcej informacji znajdziesz w instrukcji obsługi danego systemu.

Aby chronić swoje dane logowania, stosuj sprawdzone metody.

Ręczne konfigurowanie serwera podglądu

Serwer podglądu umożliwia wyświetlanie podglądu kontenera serwera. Aby uruchomić serwer podglądu, uruchom obraz Dockera z tymi zmiennymi środowiska przekazanymi do środowiska Dockera.

Wymagane ustawienia

  • CONTAINER_CONFIG – ciąg konfiguracji kontenera serwera. W Menedżerze tagów przejdź do obszaru roboczego kontenera na serwerze i w prawym górnym rogu strony kliknij identyfikator kontenera. Kliknij Ręczne tworzenie serwera do oznaczania, aby znaleźć wartość Konfiguracja kontenera.

  • RUN_AS_PREVIEW_SERVER – ustaw tę opcję na true, aby skonfigurować serwer jako serwer podglądu.

Przykład użycia narzędzia wiersza poleceń Docker

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 w przypadku żądania wysłanego do usługi http://localhost:8080/healthz. Opcjonalnie zmień port za pomocą zmiennej środowiskowej PORT.

Sprawdzone metody

  • Musisz wdrożyć dokładnie 1 serwer podglądu. Nie konfiguruj autoskalowania poza 1 instancją.
  • Po skonfigurowaniu serwera podglądu za pomocą Dockera skonfiguruj adres URL HTTPS, aby wskazywał serwer podglądu. Jest to konieczne do skonfigurowania klastra SST.
  • System równoważenia obciążenia lub sieć CDN musi mieć limit czasu dłuższy niż 20 sekund, w przeciwnym razie tryb podglądu nie będzie działać prawidłowo.

Samodzielnie skonfiguruj klaster z tagowaniem po stronie serwera

Klaster SST służy jako punkt wejścia, pośredniczy w przesyłaniu żądań podglądu do serwera podglądu i obsługuje wszystkie inne żądania zgodnie z opisem w artykule Wprowadzenie do tagowania po stronie serwera. Użyj tych wymaganych ustawień z obrazem Dockera serwera tagowania, aby skonfigurować klaster SST w dowolnym środowisku obsługującym Dockera.

Wymagane ustawienia

  • CONTAINER_CONFIG – ciąg konfiguracji kontenera serwera. W Menedżerze tagów przejdź do obszaru roboczego kontenera na serwerze i w prawym górnym rogu strony kliknij identyfikator kontenera. Kliknij Ręczne tworzenie serwera do oznaczania, 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 obsługi administracyjnej serwera podglądu. Wskazówki dotyczące konfigurowania serwera podglądu znajdziesz w powyżej.

Przykład użycia narzędzia wiersza poleceń Docker

Aby skonfigurować lokalnie jeden serwer tagowania, wykonaj te czynności:

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 na żądanie wysłane do adresu http://localhost:8080/healthz. Opcjonalnie możesz użyć zmiennej środowiskowej PORT, aby zmienić port.

Sprawdzone metody

  • Serwery z tagowaniem po stronie serwera można skonfigurować jako pojedynczy serwer lub klaster. Zalecamy udostępnianie go jako klastra w celu zwiększenia dostępności, skalowalności i wydajności. Podczas tworzenia klastra każdy serwer musi być skonfigurowany z tymi samymi zmiennymi środowiskowymi CONTAINER_CONFIGPREVIEW_SERVER_URL.
  • Pamiętaj, aby hostować serwer tagowania w tym samym źródle (sprawdzona metoda) lub w subdomenie bieżącej witryny. Jeśli np. Twoja aplikacja obsługuje ruch internetowy pod adresem example.com, zarezerwuj na potrzeby serwera tagowania ścieżkę taką jak example.com/analytics. Dowiedz się więcej o konfiguracji domeny niestandardowej.
  • Po skonfigurowaniu klastra SST za pomocą Dockera skonfiguruj adres URL HTTPS, aby wskazywał na klaster SST.
  • Pamiętaj, aby okresowo uruchamiać ponownie serwery, aby mieć pewność, że mają one najnowsze aktualizacje kodu SST. Jeśli tego nie zrobisz, nowe funkcje SST mogą nie działać prawidłowo. Jednym ze sposobów na to, aby dowiedzieć się, kiedy serwer wymaga ponownego uruchomienia, jest skonfigurowanie sprawdzania dostępności, co zostało opisane poniżej. Pamiętaj też, że wszystkie opublikowane aktualizacje kontenera serwera będą nadal stosowane bez restartu.
  • Wykorzystaj obecny punkt końcowy /healthz (np. https://analytics.example.com/healthz) na serwerach tagowania, aby skonfigurować kontrolę żywotności. Nieprawidłowa odpowiedź oznacza, że należy ponownie uruchomić serwer.
  • Kontener Dockera zawiera domyślny polecenie kontroli stanu HEALTHCHECK CMD ["/nodejs/bin/node", "/app/health_checker_bin.js"], które okresowo wysyła zapytanie do punktu końcowego /healthz. Jeśli zależy Ci na sprawdzaniu stanu Dockera, możesz zmienić ustawienia, wykonując instrukcje Dockera.
  • Jeśli serwer podglądu i serwer tagowania znajdują się w tym samym pochodzeniu, hostuj serwer podglądu na innej ścieżce niż serwer tagowania. Podaj PREVIEW_SERVER_URL, w tym ścieżkę.
  • Przygotowane serwery powinny mieć maksymalnie 1 procesor wirtualny. Dodatkowe procesory wirtualne nie są wykorzystywane i niekorzystnie wpływają na autoskalowanie.

Weryfikacja

Konfigurowanie adresu URL kontenera serwera

W Menedżerze tagów przejdź do kontenera serwera. W sekcji Administracja > Ustawienia kontenera wpisz adres URL serwera tagowania w polu Adres URL kontenera serwera i kliknij Zapisz.

Weryfikacja w trybie podglądu

W obszarze roboczym Menedżera tagów wyświetl podgląd kontenera, klikając Podgląd i zobacz, czy strona podglądu się wczytuje. Na innej karcie przeglądarki przejdź do dowolnej ścieżki w adresie URL kontenera serwera. Jeśli strona podglądu zawiera wysłane żądanie, oznacza to, że wszystko jest prawidłowo skonfigurowane.

Jeśli na 1 serwer tagowania masz zmapowanych wiele subdomen i chcesz wyświetlić podgląd każdej z nich, dodaj dodatkowe adresy URL kontenerów serwera w sekcji Administracja > Ustawienia kontenerów. Jeśli podasz kilka adresów URL, wszystkie ścieżki adresu URL (ciąg informacji, który występuje po nazwie domeny) muszą być takie same. Na przykład możesz wyświetlić podgląd w przypadku example.com/abcexample2.com/abc, ale nie możesz tego zrobić w przypadku example.com/abcexample2.com/def. Jeśli dodasz kilka adresów URL, obok przycisku Podgląd zobaczysz ikonę, która pozwoli Ci wybrać adres URL, którego podgląd chcesz wyświetlić.

Aktualizacja wersji serwera tagowania

Obraz gtm-cloud-image zawiera Node.js i biblioteki niezbędne do działania serwera tagowania. Obraz Dockera jest okresowo aktualizowany o poprawki zabezpieczeń i nowe funkcje. Zalecamy co najmniej aktualizację serwera tagowania w przypadku każdej nowej wersji głównej (np. z wersji 1.x.x na 2.x.x).

Aby zaktualizować obraz Dockera:

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

Aby sprawdzić, czy aktualizacja została przeprowadzona prawidłowo:

  1. W kontenerze serwera kliknij przycisk Podgląd, aby rozpocząć nową sesję debugowania i wysłać żądanie na osobnej karcie.
  2. W sekcji Podsumowanie kliknij 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 aktualizację serwera tagowania maksymalnie 1 dzień po aktualizacji serwera. Na stronie podglądu pojawi się jednak aktualny komunikat o wersji serwera tagowania.