Manuel kurulum kılavuzu

Otomatik temel hazırlık akışı, etiketleme sunucusunu sadece birkaç tıklamayla Cloud Run'a dağıtmak için kullanılabilir. Etiketleme sunucusunu başka ortamlarda sağlamak isterseniz bunu manuel olarak yapabilirsiniz. Etiketleme sunucusu, Docker görüntüsünün içinde bulunan bir Node.js sunucusudur.

Etiketleme sunucusunun manuel olarak temel hazırlığı, sunucu tarafı etiketleme (SST) kümesinin ve önizleme sunucusunun ayrı olarak temel hazırlığının yapılmasını gerektirir. SST kümesi, etiketleme sunucusuna yapılan tüm istekler için giriş noktasıdır ve istekleri Sunucu tarafı etiketlemeye giriş bölümünde açıklandığı gibi ele alır. Önizleme sunucusu, kapsayıcının önizlenmesi için gereklidir.

Etiketleme sunucuları ile önizleme sunucusu arasındaki veri etkileşiminin çizimi için Şekil 1'e bakın.

Etiketleme sunucularının ve önizleme sunucusu veri akışının şeması

Şekil 1: Etiketleme sunucuları ve önizleme sunucusu veri akışını gösteren şema.

Bu kılavuzda aşağıdakilerin nasıl yapılacağı açıklanmaktadır:

  • Docker görüntüsü için mevcut tüm ayarları görüntüleyin.
  • (İsteğe bağlı) BigQuery kimlik bilgilerini ekleyin
  • SST Docker görüntüsünü kullanarak bir önizleme sunucusunu manuel olarak hazırlayın.
  • SST Docker görüntüsünü kullanarak SST kümesini manuel olarak sağlayın.
  • Önizleme sunucusunun ve SST kümesinin doğru şekilde yapılandırıldığından emin olun.
  • Sunucunun temel hazırlığını yaptıktan sonra etiketleme sunucunuzun sürümünü güncel tutun.

Bu kılavuzdaki Docker komutlarını çalıştırmak için önce bilgisayarınıza Docker'ı yüklemeniz gerekir.

Docker görüntüsü için mevcut tüm ayarları göster

Etiketleme sunucusu Docker görüntüsü şu URL'de bulunabilir:

gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable

Etiketleme sunucusu ve önizleme sunucusu farklı işaretlere sahip aynı Docker görüntüsünü kullanır. Bu bölümde, Docker görüntüsüyle kullanılabilecek tüm mevcut ayarları nasıl arayacağınızı anlatacağız.

Kullanılabilir tüm ayarları görmek için docker komut satırı aracını kullanarak aşağıdaki komutu çalıştırın:

docker run gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable server_bin.js --help

(İsteğe bağlı) Google Cloud kimlik bilgilerini ekleyin

BigQuery veya Firestore API'yi Google Cloud dışında kullanmak için bu kaynaklara erişme yetkisine sahip bir hizmet hesabı kimlik bilgisi sağlamanız gerekir.

  1. BigQuery erişimi için BigQuery Veri Düzenleyici rolü veya Firestore erişimi için Cloud Datastore Kullanıcısı rolüyle hizmet hesabı oluşturmak ve local_service_account_key.json dosya adıyla JSON kimlik bilgilerini dışa aktarmak üzere bu rehberdeki talimatları uygulayın.
  2. JSON kimlik bilgisini görüntü tarafından erişilebilen bir birime ekleyin. docker run aracılığıyla, kimlik bilgilerinin görüntüye eklenmesi için -v local_service_account_key.json:/app/service_account_key.json politikasını belirtebilirsiniz.
  3. GOOGLE_APPLICATION_CREDENTIALS ortam değişkenini kimlik bilgisine yönlendirin.
  4. İsteğe bağlı olarak, etiketleme sunucusunun projeyi dolaylı olarak seçmesine izin vermek için GOOGLE_CLOUD_PROJECT ortam değişkeninde Google Cloud projenizin kimliğini belirtin.
  5. Sunucuyu çalıştırın. Aşağıdaki komut, etiketleme sunucusunu kimlik bilgileri dahil ederek çalıştırır:

    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
    

Etiketleme sunucusunun hangi sisteme dağıtıldığına bağlı olarak kimlik bilgilerini eklemenin farklı yolları olabilir. Örneğin Kubernetes ve Docker Swarm, gizli anahtarları yönetmek için kılavuzlar sağlar. Daha fazla bilgi için ilgili sistem kılavuzunuza bakın.

Kimlik bilgilerinizi korumak için en iyi uygulamaları izlediğinizden emin olun.

Önizleme sunucusunu manuel olarak hazırlama

Önizleme sunucusu, sunucu kapsayıcısını önizlemenizi sağlar. Önizleme sunucusunu çalıştırmak için Docker görüntüsünü Docker ortamına aktarılmış aşağıdaki ortam değişkenleriyle çalıştırın.

Gerekli ayarlar

  • CONTAINER_CONFIG: Sunucu kapsayıcısının yapılandırma dizesi. Etiket Yöneticisi'nde sunucu kapsayıcısı çalışma alanınıza gidin ve sayfanın sağ üst kısmındaki kapsayıcı kimliğini tıklayın. Kapsayıcı Yapılandırması değerini bulmak için Etiketleme sunucusunun manuel olarak temel hazırlığını yap'ı tıklayın.

  • RUN_AS_PREVIEW_SERVER - Sunucunun önizleme sunucusu olarak temel hazırlığını yapmak için bunu true olarak ayarlayın.

Docker komut satırı aracını kullanma örneği

Bir önizleme sunucusunun yerel olarak temel hazırlığını yapmak için aşağıdaki komutu çalıştırın:

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

http://localhost:8080/healthz için yapılan bir istekte 200 yanıtı görebilirsiniz. İsteğe bağlı olarak, bağlantı noktasını değiştirmek için PORT ortam değişkenini kullanın.

En iyi uygulamalar

  • Tam olarak 1 önizleme sunucusu dağıtmanız gerekir. 1 örneğin ötesinde otomatik ölçeklendirmeyi yapılandırmayın.
  • Docker'ı kullanarak bir önizleme sunucusu oluşturduktan sonra, önizleme sunucusunu işaret eden bir HTTPS URL'si yapılandırın. Bu, SST kümesini ayarlamak için gereklidir.
  • Yük dengeleyiciniz veya CDN'nizin 20 saniyeden uzun bir zaman aşımı olmalıdır. Aksi takdirde, önizleme modu düzgün çalışmaz.

Sunucu tarafı etiketleme kümesini manuel olarak sağlama

SST kümesi giriş noktası görevi görür, proxy'ler önizleme sunucusuna istekleri önizler ve Sunucu tarafı etiketlemeye giriş bölümünde açıklandığı gibi diğer tüm istekleri işler. Docker'ı destekleyen herhangi bir ortamda SST kümesi sağlamak için etiketleme sunucusu Docker görüntüsüyle aşağıdaki gerekli ayarları kullanın.

Gerekli ayarlar

  • CONTAINER_CONFIG: Sunucu kapsayıcısının yapılandırma dizesi. Etiket Yöneticisi'nde sunucu kapsayıcısı çalışma alanınıza gidin ve sayfanın sağ üst kısmındaki kapsayıcı kimliğini tıklayın. Kapsayıcı Yapılandırması değerini bulmak için Etiketleme sunucusunun manuel olarak temel hazırlığını yap'ı tıklayın.

  • PREVIEW_SERVER_URL - Önizleme sunucusunun HTTPS URL'si. Bu ayar yalnızca etiketleme sunucusunun temel hazırlığı için ayarlanmalıdır ve önizleme sunucusunun temel hazırlığı için gerekli değildir. Önizleme sunucusunu ayarlamayla ilgili bir kılavuz için yukarıdaki bölüme bakın.

Docker komut satırı aracını kullanma örneği

Yerel olarak tek bir etiketleme sunucusu sağlamak için aşağıdaki komutu çalıştırın:

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

http://localhost:8080/healthz için gönderilen istek için 200 yanıtı almış olmanız gerekir. İsterseniz bağlantı noktasını değiştirmek için PORT ortam değişkenini kullanabilirsiniz.

En iyi uygulamalar

  • Sunucu tarafı etiketleme sunucuları tek bir sunucu veya küme olarak sağlanabilir. Daha iyi kullanılabilirlik, ölçeklenebilirlik ve performans için bunu bir küme olarak sağlamanızı öneririz. Küme olarak sağlama yaparken her sunucu örneğinin aynı CONTAINER_CONFIG ve PREVIEW_SERVER_URL ortam değişkenleriyle yapılandırılması gerektiğini lütfen unutmayın.
  • SST kümesi dağıtımınızı, web sitenizde uygulamanıza hizmet veren alt alan adından ayrı, yeni bir alt alan adına yönlendirdiğinizden emin olun. Örneğin, uygulamanız web trafiği example.com adresinde sunuyorsa etiketleme sunucunuz için analytics.example.com gibi bir alt alan adı kullanın.
  • Docker'ı kullanarak bir SST kümesi oluşturduktan sonra SST kümesini işaret edecek bir HTTPS URL'si yapılandırın.
  • Sunucularınızda SST için en son kod güncellemelerinin bulunduğundan emin olmak için sunucuları düzenli olarak yeniden başlattığınızdan emin olun. Aksi takdirde, yeni SST özellikleri için uyumsuz işlevler ortaya çıkabilir. Sunucunun ne zaman yeniden başlatılması gerektiğini anlamanın bir yolu, canlılık denetimlerini ayarlamaktır. Bu işlem aşağıda ayrıntılı bir şekilde açıklanmıştır. Ayrıca, sunucu kapsayıcınızda yayınlanan tüm güncellemelerin yeniden başlatılmadan uygulanmaya devam edeceğini de unutmayın.
  • Canlılık kontrollerini ayarlamak için etiketleme sunucularınızdaki mevcut /healthz uç noktasını (ör. https://analytics.example.com/healthz) kullanın. Durumu kötü olan yanıt, sunucunun yeniden başlatılması gerektiğini belirtir.
  • Docker kapsayıcısı, /healthz uç noktasını düzenli olarak sorgulayan varsayılan bir durum denetimi komutu (HEALTHCHECK CMD ["/nodejs/bin/node", "/app/health_checker_bin.js"]) içerir. Docker durum denetimine bağlıysanız Docker talimatlarını uygulayarak ayarları değiştirebilirsiniz.
  • Önizleme sunucusu ve etiketleme sunucusu aynı kaynaktaysa önizleme sunucusunu, etiketleme sunucusundan farklı bir yolda barındırın. Yolu dahil ederek PREVIEW_SERVER_URL öğesini belirtin.
  • Temel hazırlığı yapılan sunucularda en fazla 1 vCPU olmalıdır. Ek vCPU'lar kullanılmaz ve otomatik ölçeklendirmeyi olumsuz etkiler.

Doğrulama

Sunucu kapsayıcısı URL'sini yapılandırma

Etiket Yöneticisi'nde sunucu kapsayıcınıza gidin. Yönetici > Kapsayıcı Ayarları altında, etiketleme sunucusunun URL'sini Sunucu kapsayıcı URL'si alanına girin ve Kaydet'i tıklayın.

Önizleme modunda doğrulama

Etiket Yöneticisi çalışma alanında Önizle'yi tıklayarak kapsayıcıyı önizleyin ve önizleme sayfasının yüklendiğini görün. Başka bir tarayıcı sekmesinde, Sunucu kapsayıcı URL'sindeki herhangi bir yola gidin. Önizleme sayfasında gönderilen istek gösteriliyorsa her şey doğru ayarlanmıştır.

Birden çok alt alan adını tek bir etiketleme sunucusuna eşlediyseniz ve her bir alt alan adında önizleme yapmak istiyorsanız Yönetici > Kapsayıcı Ayarları altında ek Sunucu kapsayıcı URL'leri ekleyin. Birden fazla URL sağlanırsa tüm URL yollarının (alan adından sonra gelen bilgi dizesi) eşleşmesi gerekir. Örneğin, example.com/abc ve example2.com/abc üzerinde önizleme yapabilirsiniz ancak example.com/abc ve example2.com/def üzerinde önizleme yapamazsınız. Birden fazla URL eklenirse Önizle düğmesinin yanında, önizleme yapılacak URL'yi seçmenize olanak tanıyan bir simge görürsünüz.

Etiketleme sunucusu sürümünü güncelleme

gtm-cloud-image resmi, Node.js'yi ve etiketleme sunucusunun çalışması için gerekli kitaplıkları içerir. Docker görüntüsü, güvenlik düzeltmeleri ve yeni özellikler için düzenli olarak güncellenir. Etiketleme sunucunuzu en azından her ana sürüm sürümü için güncellemenizi öneririz (ör. 1.x.x sürümünden 2.x.x sürümüne geçme).

Docker görüntünüzü güncellemek için:

  1. gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable adresindeki geçerli görsel sürümünü getirin.
  2. Sunucunuzu, önceki dağıtımla aynı ayarlarla dağıtın.
  3. Tek önizleme sunucusunu ve kümedeki tüm etiketleme sunucularını güncelleyin.
  4. Tüm eski sunucuları kapatın.

Güncellemenin başarılı olduğunu doğrulamak için:

  1. Sunucu kapsayıcınızda, Önizle düğmesini tıklayarak yeni bir hata ayıklama oturumu başlatın ve ayrı bir sekmede istek gönderin.
  2. Özet bölümünde Konsol sekmesini seçin ve etiketleme sunucusunu güncellemenizi isteyen herhangi bir mesaj olmadığından emin olun.

Etiket Yöneticisi, etiketleme sunucunuzu, başarılı bir şekilde güncellendikten sonra bir gün içinde güncellemenizi isteyen mesajlar gösterebilir. Ancak önizleme sayfasında etiketleme sunucusu sürümüyle ilgili güncel bir mesaj gösterilir.