Barındırılan Hedefler görevleri

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Barındırılan Hedefler proxy'sinin dağıtımını kaldırma

Barındırılan Hedefler uygulamasını içeren bir Uç proxy'nin dağıtımını kaldırdığınızda, ilişkili Barındırılan Hedefler uygulamasının dağıtımı kaldırılır ancak temel uygulama görüntüsü silinmez. Şu durumda: proxy'yi yeniden dağıttığınızda, Barındırılan Hedefler uygulaması tekrar dağıtılır.

Barındırılan hedefler proxy'sini silme

Barındırılan Hedefler proxy'sini sildikten sonra temel çalışma zamanı örneklerinin çalışması durur teslim etmeye yardımcı olur. Ancak uygulama kodu değişmeden kalır.

Günlük dosyalarına erişme

Günlük dosyaları, hata ayıklama ve sorun giderme açısından kullanışlıdır. İki tür günlük dosyası görüntüleyebilirsiniz: Barındırılan hedefler dağıtımı:

  • Derleme günlüğü: Barındırılan Hedefler uygulamasının dağıtımı ve oluşturulmasıyla ilgili çıktılarınızı gösterir.
  • Çalışma zamanı günlüğü: Çalışan Barındırılan Hedefler uygulamasıyla ilgili çıktınızı gösterir. Çalışma zamanı günlükleri ortama göre ayarlanır ve şu anda dağıtılmış olan proxy düzeltmesinin günlük bilgilerini gösterir.

Edge kullanıcı arayüzünden günlüklere erişme

  1. apigee.com/edge adresine gidin.
  2. Giriş kimlik bilgilerinizi girin ve Oturum Aç'ı tıklayın.
  3. Geliştir > API Proxy'leri bölümüne gidin.
  4. Günlüklerini görüntülemek istediğiniz proxy'yi seçin.
  5. Geliştir sekmesini tıklayın.
  6. Derleme günlüğünü görmek için Derleme Günlükleri'ni tıklayın. ziyaret edin.
  7. Çalışma zamanı günlüğünü görmek için Çalışma Zamanı Günlükleri'ni tıklayın.

API ile günlüklere erişme

Barındırılan hedefler günlüklerini almak için bir Edge API'si de kullanabilirsiniz. Ayrıntılar için bkz. Önbelleğe Alınan Node.js Günlüklerini Alın.

Özel bir npm deposu kullanma

Bu bölümde, şu durumlarda Barındırılan Hedeflere Node.js proxy'sinin nasıl dağıtılacağı açıklanmaktadır: özel NPM deposunu nasıl kullanacağınızı göstereceğim.

Özel depo kullanma hakkında bilmeniz gerekenler

Bir Node.js uygulamasını Edge'e dağıttığınızda projenizin tüm bağımlılıkları otomatik olarak içe aktarılır olduğunu varsayalım. Barındırılan Hedefler, dağıtıldığında kodunuzda npm install çalıştırır. Ancak, geliştirme ortamınızda özel NPM deposu kullanıyorsanız gizli bağımlılıkları Cloud’da çözülemez. İçinde Bu durumda çözüm, --bundled-dependencies dağıtım yardımcı programı Apigeetool öğesini inceleyebilirsiniz. Şu kaynakları da inceleyin Node.js'yi sisteminizden Edge'e dağıtın.

apigeetool üzerinde --bundled-dependencies işaretini kullandığınızda Node.js uygulaması, Barındırılan Hedefler'e ve listelenen tüm yerel/özel dosyalara yüklenir bundledDependencies dizisindeki package.json içindeki dosyalar sıkıştırılır ve paketle birlikte yüklenir.

Sık karşılaşılan bir durum olmasa da herkese açık bir NPM deposunu dahili olarak yansıtırsanız dağıtımınızın başarısız olacağını unutmayın Dağıtım paketiniz bir .npmrc veya package-lock.json dosyası içeriyorsa dikkat edin. Bu durumda, .npmrc veya package-lock.json anahtar kelimelerini eklemeyin. proxy paketinizden kaldırın.

Özel NPM deposuyla dağıtma

Özel bir NPM deposundan sağlanan modülleri kullanmak için şu adımları uygulayın:

  1. npm'ye giriş yapın:
    npm login
  2. npm kimlik doğrulama jetonu alın:
    1. .npmrc'nizi bulun (~/.npmrc biçiminde olmalıdır).
    2. .npmrc'nizde satırın sonundaki jetona dikkat edin:

      //registry.npmjs.org/:_authToken=****
    3. İsterseniz listelemek için npm token <list | create | revoke> komutlarını da kullanabilirsiniz: ya da yetkilendirme jetonu oluşturabilir veya iptal edebilir. npm-token'ı inceleyin dokümanlarına bakın.
  3. Aşağıda açıklandığı şekilde, Anahtar/Değer Eşlemeleri yapılandırma sayfasına erişin.

    Edge

    Edge kullanıcı arayüzünü kullanarak Anahtar/Değer Eşlemesi yapılandırma sayfasına erişmek için:

    1. apigee.com/edge adresinde oturum açın.
    2. Yönetici > Ortamlar > Anahtar/Değer Eşlemeleri'ni tıklayın.

    Klasik Edge (Private Cloud)

    Klasik Edge kullanıcı arayüzünü kullanarak Anahtar/Değer Eşlemesi yapılandırma sayfasına erişmek için:

    1. ms-ip olan http://ms-ip:9000 uygulamasında oturum açın Yönetim Sunucusu düğümünün IP adresi veya DNS adı.
    2. API'ler > Ortam Yapılandırması > Anahtar/Değer Eşlemeleri'ni tıklayın.
  4. + Anahtar/Değer Eşlemesi'ni tıklayın.
  5. Yeni Anahtar/Değer Eşlemesi iletişim kutusunda bir ad girin ve Şifrelenmiş'i seçin.
  6. Ekle'yi tıklayın.
  7. Önceden bulduğunuz veya oluşturduğunuz kimlik doğrulama jetonunu, KVM'lerin her birine yeni bir giriş olarak ekleyin. bir şablondur.
  8. app.yaml dosyanıza, KVM ve anahtara referans veren bir giriş ekleyin. npm kimlik doğrulama jetonuyla ilişkilidir. Şuna benzer bir görünümde olacaktır:
  9. env:
    - name: NPM_TOKEN
     valueRef:
       name: npm_store
       key: private_token

    Burada:

    • Üst düzey name özelliği, ortamın adına karşılık gelir. değişkeni oluşturabilirsiniz.
    • valueRef altındaki ad, kullandığınız KVM'ye karşılık gelir oluşturabilirsiniz.
    • key özelliği, kullandığınız npm jetonuyla eşlenen anahtara karşılık gelir KVM'ye eklenir.
  10. Bundle.json'unuzla aynı dizinde bir .npmrc dosyası oluşturun. Bu dosyası şuna benzer bir görünümde olacaktır:
    //registry.npmjs.org/:_authToken=${NPM_TOKEN}
    veya registry.npmjs.org kullanmıyorsanız kapsamı .npmrc dosyasında şuna benzer bir satır ekleyerek: @myscope:registry=https://mycustomregistry.example.org Ayrıca npmrc dokümanlarına da bakın.
  11. Node.js proxy'nizi .npmrc ve app.yaml dosyalarını ekleyerek yükleyin veya güncelleyin.
  12. Yeni veya güncellenen proxy'nizin dağıtıldığından ve istenen özel depoyla çalıştığından emin olun. modülünü kullanabilirsiniz.
  13. Proxy dağıtılmazsa derleme günlüklerini kontrol ederek gizli npm modülü. Öyleyse:
    1. Geliştirme sekmesinde .npmrc öğesinin bulunduğundan emin olun.
    2. Jetonunuzun geçerli olduğundan emin olun (mevcut jetonla modülü yerel olarak yüklemeyi deneyin) arasında yer alır).
    3. Özel bir kapsam kullanıyorsanız bunun ayarlandığından emin olun.

Paketlenmiş bağımlılıklar için NPM sürümünü belirtme

Varsayılan olarak NPM v4, Barındırılan Hedefler ortamında paketlenmiş bağımlılıkları yüklemek için kullanılır. Ancak farklı bir NPM sürümü kullanmak isterseniz bunu NPM_VERSION bölümünde belirtebilirsiniz. ortam değişkeni Bu değişkeni uygulamanın manifest dosyasında ayarlayabilirsiniz. Ayrıntılar için Manifest dosyası öğeleri bölümüne bakın.

Paketlenmiş bağımlılıklar kullanıyorsanız ve NPM_VERSION belirtmezseniz Barındırılan Hedefler varsayılan olarak NPM v4'ü kullanır. Paketlenmiş bağımlılıklar kullanmıyorsanız kullanılan bir kontrol listesidir.

Gruplandırılmış bağımlılık örneği

Barındırılan Hedeflerle birlikte gruplandırılmış bağımlılıklar özelliğini gösteren bir örnek için Özel modüller kullanarak Barındırılan İşlevler ile Node.js uygulaması oluşturma.

Durum denetimi uç noktası ekleyin

Node.js uygulamanız için durum denetimi uç noktası uygulama seçeneğiniz vardır. Apigee, Node.js uygulaması, uygulamanın kapsayıcıda çalışıp çalışmadığını kontrol etmeye başlar.

Apigee'nin beklediği uç nokta varsayılan olarak /health şeklindedir. Varsayılan değeri değiştirebilirsiniz uç noktasını, HOSTED_TARGET_HEALTH_CHECK_PATH Bu değişkeni uygulamanın manifest dosyasında ayarlayabilirsiniz dosyası olarak kaydedebilirsiniz. Ayrıntılar için Manifest dosyası öğeleri bölümüne bakın.

Durum denetimi uç noktası uygulanması gerekmez. Ancak bir durum denetimi uygularsanız aşağıdaki noktalara dikkat edin:

  • Apigee uç noktaya ulaştığında uygulamanız çıkarsa uygulama beklendiği gibi başlamaz.
  • Uç noktanızın 404 Bulunamadı HTTP durumu döndürmesi sorun yaratmaz. /health veya HOSTED_TARGET_HEALTH_CHECK_PATH yalnızca uygulamanızın çalışıp çalışmadığını kontrol etmek için kullanılır. Gerçek yanıt yoksayılır.
ziyaret edin.

NPM önbellek konumunu değiştirme

Node.js'nin yeni sürümleri, NPM önbelleği için /root/.npm kullanan bir NPM sürümünü kullanır. Dizin konumu salt okunur olduğundan, bu konum Barındırılan Hedefler için bir sorun teşkil eder. Barındırılan Hedef çalışma zamanı, yalnızca /tmp ürününün yazılabilir olduğu bir tmpfs dosya sistemi kullandığından. Bu sorunu çözmek için npm_config_cache ortam değişkenini uygulamanızın app.yamldosya (manifest dosyası) /tmp içindeki bir dizine. Örneğin:

  runtime: node
  application: my-express-app
  env:
    - name: npm_config_cache
      value: /tmp/.npm
    - name: NODE_ENV
      value: production
    - name: LOG_LEVEL
      value: 3
  

Uygulamanızı NPM olmadan çalıştırma

Barındırılan Hedefler, Barındırılan Hedef uygulamanızı çalıştırmak için varsayılan olarak npm start kullanır. Ama Önceki görevde, yeni sürümler NPM'yi kullanmaya çalışacağı için NPM kullanımıyla ilgili bir sorunu tartıştık. NPM önbelleği için /root/.npm. Bu önbellek yazılamaz ve Barındırılan Hedefinizle sonuçlanır başarısız olur. Önceki görev bu sorunu çözmek için işe yarıyor olsa da, başka bir seçenek uygulamanızı NPM olmadan çalıştırabilirsiniz. Bunu yapmak için command ve args değerleri uygulamanızın app.yamldosya (manifest dosyası) Barındırılan Hedefinizi doğrudan node index.js kullanarak çalıştırın. Örneğin:

  runtime: node
  application: my-express-app
  command: node
  args:
    - index.js
  env:
    - name: NODE_ENV
      value: production
    - name: LOG_LEVEL
      value: 3
  
Elbette, uygun olduğunu düşündüğünüz herhangi bir komutu kullanabilirsiniz. node index.js örneğine bakalım.