Edge Microgateway'i hizmet olarak dağıtma

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

Giriş

Bu konu, bir Kubernetes kümesinde Edge Mikro Ağ Geçidi'nin nasıl çalıştırılacağını açıklar. bağımsız bir hizmet olarak nitelendirilebilir.

Daha fazla bilgi için Edge Microgateway'i Kubernetes'e genel bakış ile entegre etme bölümüne bakın.

Başlamadan önce

Ön koşullar bölümünde açıklanan adımları tamamlayın.

Edge Mikro Ağ Geçidini Yapılandırma

Aşağıdaki komut, Apigee kuruluşunuz için Edge Microgateway'i yapılandırır ve edgemicro-auth proxy'sini dağıtır.

  1. Aşağıdaki komutu yürütün:

    edgemicro configure -o [org] -e [env] -u [username]

    Burada:

    • org: Edge kuruluş adınız (kuruluş yöneticisi olmanız gerekir).

    • env: Kuruluşunuzdaki bir ortam (test veya üretim gibi).

    • username: Apigee hesabınızla ilişkilendirilmiş e-posta adresi.

    ziyaret edin.

    Örnek

    edgemicro configure -o docs -e test -u jdoe@example.com

    Çıkış (aşağıda örnek verilmiştir) dosyaya kaydedilir:

    $HOME/.edgemicro/org_name-env_name-config.yaml
    .

    current nodejs version is v6.9.1
    current edgemicro version is 2.5.25
    password:
    file doesn't exist, setting up
    Give me a minute or two... this can take a while...
    App edgemicro-auth deployed.
    checking org for existing KVM
    KVM already exists in your org
    configuring host edgemicroservices.apigee.net for region us-west1
    
    saving configuration information to: /Users/jdoe/.edgemicro/myorg-test-config.yaml
    
    vault info:
     -----BEGIN CERTIFICATE-----
    MIICpDCCAYwCCQCV9eBcO9a5WzANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDDAls
    b2NhbGhvc3QwHhcNMagwODA5MDAzMDEzWhcNMTgwODEwMDAzMDEzWjAUMRIwEAYD
    VQQDDBlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDh
    nAHT7JHX/WvWHRFb8FLm53SPIDld5LyPOUfINdEyhSIEeXoOUKg4EPweJPVSC9Vm
    Hw4ZMtEqWJM/XsQWvLe8ylRJa5wgmzmFCqAsuzs9+rmc9KvJqjpOh2uRTUf7KKfT
    iXL2UEseprcI5g8zNyqKyEf/ecWIwz3AkkPAZebVTsrdDfIDHvkyhhvlAHZAB9kn
    GtqP3N8kOlv4KQto9Gr7GYUGUIDugt7gM1F611+RBS+fYRi32GUAq/UQDkhYL8cp
    oIJiF7UYkk2+9t9CdOCDuIUCvJioHJQd0xvDpkC9f6LvwjwnCwku+4F2Q63+av5I
    mJoZJQPvW5aP53Qkk+kHAgMBAAEwDKYJKoZIhvcNAQELBQADggEBALyUBolXUFN8
    1bf268nR+gS8MOFDTxO1bUz+bKuT/g3K1PuNUJTueT+0L1H2OiZUzazAqwn2sqzN
    lQuvLg6LjxjlNkqTJGiJvGDcYVq45dv7UyxAZxhqxTxhlQ+Yu5R9pbQnzujezHpH
    6gtCoCkSt/QqiJ3YsmsVu5is+HpIJepMt0CyMh5tK9j87hl46QhHklaVfQ3ycMVm
    /wNPR/pjizg1FDUeq4nj/7DBVbMf9net/BDaZLeSW1HJ1vcsCXIcSZfQd4QymGFn
    8ADrND7ydVjwO/s23soPDTy0g4yLIZvky2tpT8d7YahNqSv2n7sXsLxruzcyCoQ4
    w+e3Z3F7IKI=
    -----END CERTIFICATE-----
    
    The following credentials are required to start edge micro
      key: 1a3b2754c7f20614817b86e09895825ecc252d34df6c4be21ae24356f09e6eb4
      secret: 16ad2431de73f07f57a6d44048f08d93b63f783bf1f2ac4221182aa7289c7cef
    
    edgemicro configuration complete!
    

Edge Microgateway'i hizmet olarak dağıtma

  1. Aşağıdaki komutu çalıştırarak Edge Mikro Ağ Geçidi'ni hizmet olarak dağıtabilirsiniz: Kubernetes kümesi:

    kubectl apply -f <(edgemicroctl -org=org -env=env -key=edgemicro-key
    -sec=edgemicro-secret -conf=file path of org-env-config.yaml)

    Bu örnekte:

    • org - edgemicro configure komutunda belirttiğiniz Apigee kuruluşu.
    • env - edgemicro configure komutunda belirttiğiniz ortam.
    • edgemicro-key - edgemicro configure komutundan döndürülen anahtar.
    • edgemicro-secret - edgemicro configure komutundan döndürülen gizli anahtar.
    • file path of org-env-config.yaml: edgemicro configure komutundan döndürülen Edge Micro yapılandırma dosyasının yolu.

    Örneğin:

    kubectl apply -f <(edgemicroctl -org=jdoe -env=test -key=989cce9d41cac94e72626d906562a1d76a19445f8901b3508858bb064988eccb -sec=ec92b793178de7b7e88e346f55a951e3fdae05e700e3ddea7d63977826379784 -conf=/Users/jdoe/.edgemicro/jdoe-test-config.yaml)

    Örnek çıkış:

    config/myorg-test-config.yaml)
    service "edge-microgateway" created
    deployment "edge-microgateway" created
    secret "mgwsecret" created
    
  2. Aşağıdaki kodu kopyalayıp terminalinize yapıştırın. Bu kod, giriş denetleyicisini izin verecek şekilde ayarlar. edge-microgateway hizmetine harici erişim. Enter tuşuna basmanız gerekebilir komutu terminalinize yapıştırdıktan sonra:

    cat <<EOF | kubectl apply -f -
    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: edge-microgateway-ingress
      annotations:
        kubernetes.io/ingress.class: "nginx"
    spec:
      rules:
      - http:
          paths:
          - path: /
            backend:
              serviceName: edge-microgateway
              servicePort: 8000
    EOF
    

    İşlem başarılı olduğunda şu çıkışı görürsünüz:

    ingress "edge-microgateway-ingress" created
    

    Giriş denetleyicisi artık edge-microgateway hizmeti.

Test hizmeti dağıtma

Aşağıdaki adımlarla kümenize basit bir test hizmeti dağıtabilirsiniz. İlgili içeriği oluşturmak için kullanılan Giriş denetleyicisi hizmetin küme dışından çağrılmasına izin vermiyor. Daha sonra Edge Microgateway'i hizmeti hedef olarak çağıracak şekilde yapılandıracaksınız. Giriş denetleyicisi, edge-microgateway hizmetine dışarıdan erişime izin verir.

  1. Örnek helloworld hizmetini dağıtın. Çünkü Giriş, öğrenmek istemiyorsanız hizmet küme dışından çağrılamaz.

    kubectl apply -f samples/helloworld/helloworld-service.yaml

    Örnek çıkış:

    service "helloworld" created deployment "helloworld" created
    
  2. Dağıtımın başarılı olduğunu doğrulayın. Bunun için harici IP olmadığını unutmayın. helloworld hizmeti. Aşağıdaki adımlarda Edge'i yapılandıracaksınız. Hizmetin dahili IP'sine erişmek için mikro ağ geçidi.

    kubectl get services -n default

    Örnek çıkış:

    NAME                TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
    edge-microgateway   NodePort    10.35.247.222   <none>        8000:32000/TCP   12m
    helloworld          NodePort    10.35.245.103   <none>        8081:30294/TCP   47s
    kubernetes          ClusterIP   10.35.240.1     <none>        443/TCP          47m
    

Edge Microgateway'i hizmet için proxy yapacak şekilde yapılandırma

helloworld hizmetinin dahili IP'sini alın ve hedef olarak ekleyin. "mikro ağ geçidine duyarlı" bir temsil eder. "Mikro ağ geçidine duyarlı" oluşturma proxy standart Edge Mikro ağ geçidi gereksinimidir.

Ayrıca, microgateway-aware hakkında bilmeniz gerekenler proxy'ler bölümüne bakın.

Test hizmetinin dahili IP'sini alın

  1. helloworld hizmeti için dahili Küme IP'sini ve bağlantı noktasını alın:

    kubectl get services helloworld

    Örnek çıkış:

    NAME         TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
    helloworld   NodePort   10.55.254.255   <none>        8081:30329/TCP   3m
    
  2. CLUSTER-IP ve PORT değerlerini kopyalayın. Söz gelimi, bu değerler şunlardır: 10.55.254.255 ve 8081. Sizin için farklı olacaktır.

Edge'de mikro ağ geçidine duyarlı bir proxy oluşturma

  1. Edge kullanıcı arayüzüne giriş yapın.
  2. Daha önce yapılandırırken belirttiğiniz kuruluşu seçin. Edge Mikro Ağ Geçidi.
  3. Geliştir > API Proxy'leri bölümüne gidin.
  4. + Proxy'yi tıklayın. Proxy Oluşturma sihirbazı açılır.
  5. İlk sihirbaz sayfasında Ters proxy (en yaygın) seçeneğini belirleyin.
  6. İleri'yi tıklayın.
  7. Sihirbazın Ayrıntılar sayfasında aşağıdaki gibi yapılandırın. Bu formu doldurduğunuzdan emin olun sihirbazda gösterildiği gibi. Proxy adının önekine sahip olduğundan emin olun edgemicro_

    1. Proxy Adı: edgemicro_hello
    2. Proxy Temel Yolu: /hello

    3. Mevcut API: http://<cluster_ip>:<port>

      Örneğin: http://10.55.254.255:8081

  8. İleri'yi tıklayın.

  9. Sihirbazın Güvenlik sayfasında Geçiş (yok) seçeneğini belirleyin.

  10. İleri'yi tıklayın.

  11. Sihirbazın Sanal Ana Makineler sayfasında varsayılanları kabul edin.

  12. İleri'yi tıklayın.

  13. Sihirbazın Derleme sayfasında proxy ayarlarınızı gözden geçirin. Şunlardan emin olun: test ortamının seçilmesi gerekir.

  14. Build and Deploy (Derleme ve Dağıt) seçeneğini tıklayın.

Geliştirici Oluşturma

Test için mevcut bir geliştiriciyi kullanabilir veya aşağıdaki şekilde yeni bir geliştirici oluşturabilirsiniz:

  1. Yayınla > Geliştiriciler'i tıklayın.
  2. + Geliştirici'yi tıklayın.
  3. Yeni bir geliştirici oluşturmak için iletişim kutusunu doldurun. Herhangi bir geliştiriciyi kullanabilirsiniz istediğiniz bir ad/e-posta adresi.

API Ürünü Oluşturma

Aşağıda açıklandığı şekilde bir API ürünü oluşturun. Dosya adına iki proxy ekleyeceksiniz: Ürün: edgemicro-auth ve edgemicro_hello.

Web sitemiz g.co/newsinitiative/labs üzerinden API Ürünü hakkında bilmeniz gerekenler başlıklı makalede yer alan ürün yapılandırma seçenekleri yapılandırma hakkında daha fazla bilgi edinin.

  1. Yayınla > API Ürünleri'ni tıklayın.
  2. + API Ürünü'nü tıklayın. Ürün Ayrıntıları sayfası görüntülenir.
  3. Ürün Ayrıntıları sayfasını aşağıdaki gibi doldurun. Kaydet 'i şu tarihe kadar tıklamayın: bu yönde talimat alırsınız.

    Ad hello-world-product
    Görünen Ad Edge Micro hello product
    Ortam test
    Erişim Public
    Anahtar Onay Türü Automatic
  4. Sayfanın alt yarısında + Özel Kaynak'ı tıklayın.

  5. Kaynağı / (tek eğik çizgi) olarak ayarlayın.

  6. Tekrar + Özel Kaynak'ı seçin ve /** yolunu ekleyin.

  7. Sayfanın alt kısmında + API Proxy'yi (+ API Proxy'si) tıklayın.

  8. edgemicro-auth adlı proxy'yi seçin.

  9. + API Proxy'yi tekrar tıklayın.

  10. edgemicro_hello adlı mikro ağ geçidine duyarlı proxy'yi seçin.

  11. Kaydet'i tıklayın.

Geliştirici Uygulaması Oluşturma

  1. Yayınla > Uygulamalar'ı tıklayın.
  2. + Uygulama'yı tıklayın. Geliştirici Uygulaması Ayrıntıları sayfası görüntülenir.
  3. Geliştirici Uygulaması sayfasını aşağıdaki gibi doldurun. Talimat verene kadar Kaydetme lütfen unutmayın.

    Ad hello-world-app
    Görünen Ad Edge Micro hello app
    Developer Oluşturduğunuz test geliştiricisini seçin. Seçmemeniz durumunda herhangi bir işlem için herhangi bir işlem yapmanız gerekmez.
  4. Kimlik Bilgileri bölümünde + Ürün'ü tıklayın ve istediğiniz ürünü seçin oluşturulma tarihi: hello-world-product.

  5. Kaydet'i tıklayın.

  6. Tüm geliştirici uygulamalarının listelendiği sayfaya yönlendirilirsiniz.

  7. Yeni oluşturduğunuz uygulamayı (hello-world-app) seçin.

  8. Tüketici Anahtarı'nın yanında Göster'i tıklayın.

  9. Tüketici anahtarının değerini kopyalayın. Bu değer Güvenli API çağrıları yapmak için kullanacağınız API anahtarı /hello.

  10. Birkaç dakika bekleyin. Apigee'de yaptığınız değişikliklerin uygulanması birkaç dakika sürer Edge Microgateway örneğiyle senkronize edilecek ve kümesidir.

Proxy'yi test etme

Giriş IP adresini alma

Giriş için harici IP'yi kullanarak Edge Microgateway hizmetini görebilirsiniz.

  1. Giriş denetleyicisinin harici IP adresini alın:

    kubectl get ing -o wide

    Örnek çıkış:

    NAME                        HOSTS     ADDRESS          PORTS     AGE
    edge-microgateway-ingress   *         35.238.249.62    80        37m
    
  2. Girişin ADDRESS değerini kopyalayıp bir değişkene aktarın. Siz değerini manuel olarak ayarlayabilirsiniz:

    export GATEWAY_IP=external_ip

    Örneğin:

    export GATEWAY_IP=35.238.249.62

    Alternatif olarak, bu komutu sizin yerinize ayarlamak için şu komutu kullanabilirsiniz:

    export GATEWAY_IP=$(kubectl describe ing edge-microgateway --namespace default | grep "Address" | cut -d ':' -f2 | tr -d "[:space:]")
  3. Değişkenin dışa aktarıldığını doğrulayın. Örneğin:

    echo $GATEWAY_IP

    Örnek çıkış:

    35.238.249.62
    

API'yi çağırma

Yapılandırma değişiklikleri mikro ağ geçidine alındıktan sonra API'yi çağırmayı deneyin. Giriş denetleyicisi IP'sini (GATEWAY_IP değişkenine kaydettiğiniz) kullanırsınız. API'yi çağırmalısınız. Çünkü bu IP, proxy'yi Kubernetes kümesinin dışından çağırmanıza olanak tanır. İlgili içeriği oluşturmak için kullanılan Edge Microgateway'i dağıttığınızda, Giriş'ten Edge Microgateway'e eşleme oluşturuldu sağlar.

  1. API'yi API anahtarı olmadan çağırın. Gösterilen şekilde bir hata mesajı alırsınız aşağıda bulabilirsiniz:

    curl $GATEWAY_IP:80/hello/

    Beklenen çıkış:

    {"error":"missing_authorization","error_description":"Missing Authorization
    header"}
    

    Bu mesajı görürseniz senkronizasyon tamamlanana kadar biraz daha beklemeniz gerekebilir tamamlandı:

    {"message":"no match found for /hello/","status":404}
    

    Başarılı API çağrıları yapmak için API anahtarına ihtiyacınız vardır.

  2. Oluşturduğunuz geliştirici uygulamasından Tüketici anahtarını alın. Bu değer Test proxy'sini çağırmak için ihtiyacınız olan API anahtarı:

    curl -H 'x-api-key:your-edge-api-key' $GATEWAY_IP:80/hello/

    Örneğin:

    curl -H "x-api-key:DeX2eEesYAdRJ5Gdbo77nT9uUfJZql19" $GATEWAY_IP:80/hello/

    Çıkış:

    Hello world
    

    "Hello World"ü görürseniz kullanıyorsanız Kubernetes içinde helloworld hizmetini çağırmak için Edge Microgateway kümesidir.

Sırada ne var?

Bilgi için Görevler bölümüne bakın dağıtımı ölçeklendirme, yapılandırma değişiklikleri yapma ve başka görevler de olabilir.