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.
Ş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.
BigQuery
erişimi için BigQuery Veri Düzenleyici rolü veyaFirestore
erişimi için Cloud Datastore Kullanıcısı rolüyle hizmet hesabı oluşturmak velocal_service_account_key.json
dosya adıyla JSON kimlik bilgilerini dışa aktarmak üzere bu rehberdeki talimatları uygulayın.- 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. GOOGLE_APPLICATION_CREDENTIALS
ortam değişkenini kimlik bilgisine yönlendirin.- İ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. 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 bunutrue
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
vePREVIEW_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:
gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
adresindeki geçerli görsel sürümünü getirin.- Sunucunuzu, önceki dağıtımla aynı ayarlarla dağıtın.
- Tek önizleme sunucusunu ve kümedeki tüm etiketleme sunucularını güncelleyin.
- Tüm eski sunucuları kapatın.
Güncellemenin başarılı olduğunu doğrulamak için:
- 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.
- Ö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.