Manuel kurulum kılavuzu

Etiketleme sunucusunu yalnızca birkaç tıklamayla App Engine'e dağıtmak için otomatik temel hazırlık akışı kullanılabilir. Etiketleme sunucusunun temel hazırlığını diğer ortamlarda yapmak istiyorsanız bunu manuel olarak yapabilirsiniz. Etiketleme sunucusu, Docker görüntüsü içindeki bir Node.js sunucusudur.

Etiketleme sunucusunun manuel olarak sağlanması için sunucu tarafı etiketleme (SST) kümesi ile önizleme sunucusunun ayrı olarak sağlanması gerekir. SST kümesi, etiketleme sunucusuna yapılan tüm isteklerin giriş noktasıdır ve istekleri Sunucu tarafı etiketlemeye giriş bölümünde açıklandığı şekilde işler. Önizleme sunucusunun bir kapsayıcıyı önizlemesi gerekir.

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

Sunucuları etiketleme ve sunucu veri akışını önizleme

Şekil 1: Etiketleme sunucularının ve sunucu veri akışının önizlemesinin yapılan bir diyagramı.

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

  • Docker görüntüsü için kullanılabilir tüm ayarları görüntüleyin.
  • (İsteğe bağlı) BigQuery kimlik bilgilerini ekleyin
  • SST Docker görüntüsünü kullanan bir önizleme sunucusunu manuel olarak hazırlayın.
  • SST Docker görüntüsünü kullanarak SST kümesini manuel olarak hazırlayı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 sunucusu sürümünüzü güncel tutun.

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

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

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 aynı Docker görüntüsünü farklı işaretlerle kullanır. Bu bölümde, Docker görüntüsü ile kullanılabilen ayarların nasıl aranacağı açıklanmaktadır.

Mevcut tüm ayarları görmek için docker komut satırı aracını kullanarak aşağıdakileri ç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 dahil edin

BigQuery veya Firestore API'sini Google Cloud dışında kullanmak için söz konusu kaynaklara erişim yetkisi veren bir hizmet hesabı kimlik bilgisi sağlamanız gerekir.

  1. BigQuery erişimi için BigQuery Veri Düzenleyicisi rolüne, Firestore erişimi için Cloud Datastore Kullanıcısı rolüne sahip bir hizmet hesabı oluşturmak ve JSON kimlik bilgilerini dosya adıyla dışa aktarmak için bu rehberi kullanınlocal_service_account_key.json.
  2. JSON kimlik bilgisini, resmin erişebileceği bir hacme ekleyin. docker run kullanarak resimdeki kimlik bilgilerini eklemek için -v local_service_account_key.json:/app/service_account_key.json belirtebilirsiniz.
  3. GOOGLE_APPLICATION_CREDENTIALS ortam değişkenini kimlik bilgisine yönlendirin.
  4. İsteğe bağlı olarak, etiketleme sunucusunun projeyi doğrudan seçmesine izin vermek için GOOGLE_CLOUD_PROJECT ortam değişkeninde Google Cloud proje kimliğinizi belirtin.
  5. Sunucuyu çalıştırın. Aşağıdaki komut, kimlik bilgilerini içeren etiketleme sunucusunu ç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, sırları yönetmeyle ilgili kılavuzlar sunar. Daha fazla bilgi için ilgili sistem kılavuzuna bakın.

Kimlik bilgilerinizi korumak için en iyi uygulamaları takip edin.

Önizleme sunucusunu manuel olarak sağlama

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

Gerekli ayarlar

  • CONTAINER_CONFIG - Sunucu kapsayıcının yapılandırma dizesi. Etiket Yöneticisi'nde sunucu kapsayıcı çalışma alanınıza gidip 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 temel hazırlığını yerel olarak 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 adlı istekten gelen 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. Otomatik ölçeklendirmeyi 1 örneğin ötesinde yapılandırmayın.
  • Docker'ı kullanarak bir önizleme sunucusu oluşturduktan sonra önizleme sunucusunu işaret edecek bir HTTPS URL'si yapılandırın. Bu, SST kümesini ayarlamak için gereklidir.
  • Yük dengeleyiciniz veya CDN'nizin zaman aşımı 20 saniyeden uzun olmalıdır. Aksi takdirde önizleme modu düzgün çalışmaz.

Sunucu tarafı etiketleme kümesinin manuel olarak hazırlanmasını sağlama

SST kümesi giriş noktası olarak işlev görür, proxy'ler önizleme isteklerini önizler ve diğer tüm istekleri Sunucu tarafı etiketlemeye giriş konusunda açıklandığı şekilde işler. Docker'ı destekleyen tüm ortamlarda SST kümesi sağlamak için etiketleme sunucusu Docker görüntüsüyle birlikte aşağıdaki gerekli ayarları kullanın.

Gerekli ayarlar

  • CONTAINER_CONFIG - Sunucu kapsayıcının yapılandırma dizesi. Etiket Yöneticisi'nde sunucu kapsayıcı çalışma alanınıza gidip 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 yapılmalıdır ve önizleme sunucusunun temel hazırlığını yapmak 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ğıdakileri ç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 yapılan bir istekten 200 yanıtı almanız gerekir. İsteğe bağlı olarak, bağlantı noktasını değiştirmek için PORT ortam değişkenini kullanın.

En iyi uygulamalar

  • Sunucu tarafı etiketleme sunucularının temel hazırlığı tek bir sunucu veya küme olarak yapılabilir. Daha iyi kullanılabilirlik, ölçeklenebilirlik ve performans için küme olarak sağlamanızı öneririz. Bir küme olarak temel hazırlık 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ızı sunan alt alan adından ayrı yeni bir alt alan adına yönlendirdiğinizden emin olun. Örneğin, uygulamanız example.com adresinde web trafiği 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ızın SST için en son kod güncellemelerini aldığından emin olmak amacıyla sunucuları düzenli olarak yeniden başlatmayı unutmayın. Aksi takdirde yeni SST özellikleri uyumsuz hale gelebilir. Sunucunun ne zaman yeniden başlaması gerektiğini öğrenmenin bir yolu canlılık kontrollerini ayarlamaktır. Ayrıca, sunucu kapsayıcınızda yayınlanan tüm güncellemelerin yeniden başlatma olmadan uygulanmaya devam edeceğini lütfen 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 iyi olmayan bir yanıt, sunucunun yeniden başlatılması gerektiğini gösterir.
  • Docker container'ı, /healthz uç noktasını düzenli aralıklarla 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 ayarları, Docker talimatlarını uygulayarak değiştirebilirsiniz.
  • Önizleme sunucusu ile etiketleme sunucusu aynı kaynaktaysa önizleme sunucusunu etiketleme sunucusundan farklı bir yolda barındırın. Yolu da içeren PREVIEW_SERVER_URL öğesini belirtin.
  • Temel hazırlığı yapılan sunucular en fazla 1 vCPU'ya sahip olmalıdır. Ek vCPU'lar kullanılmaz ve otomatik ölçeklendirmeyi olumsuz etkiler.

Doğrulama

Sunucu kapsayıcı 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ış demektir.

Birden fazla alt alanı tek bir etiketleme sunucusuyla eşlediyseniz ve her bir alt alanda önizleme yapmak istiyorsanız Yönetici > Kapsayıcı Ayarları'nın altında ek Sunucu kapsayıcı URL'leri ekleyin. Birden fazla URL girilirse tüm URL yolları (alan adından sonra gelen bilgi dizesi) eşleşmelidir. Ö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üncelleyin

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

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

  1. Geçerli görüntü sürümünü gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable adresinden 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. Eski sunucuları kapatın.

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

  1. Sunucu kapsayıcınızda, Önizleme 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ıyla güncellendikten sonra bir gün içinde etiketleme sunucunuzu güncellemenizi isteyen mesajlar gösterebilir. Ancak önizleme sayfasında etiketleme sunucusu sürümüyle ilgili güncel bir mesaj gösterilir.