Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Giriş
Bu konuda, Edge Microgateway'in Kubernetes kümesinde yardımcı proxy olarak nasıl çalıştırılacağı açıklanmaktadır. Sidecar dağıtımı için iki seçeneğiniz vardır: manuel ve otomatik ekleme. Bu konuda her iki seçenek de açıklanmaktadır.
Daha fazla bilgi için Kubernetes'te Edge Microgateway'e giriş başlıklı makaleyi inceleyin.
Başlamadan önce
Ön koşullar bölümünde açıklanan adımları tamamlayın.
Test hizmeti dağıtma
Basit bir "hello" hizmeti dağıtın ve dağıtımı doğrulayın:
Örneği dağıtın:
kubectl apply -f samples/helloworld/helloworld.yaml --namespace=default
Hizmetin çalıştığını doğrulayın. Kapsülün çalışır duruma gelmesi için birkaç dakika beklemeniz gerekebilir:
kubectl get pods --namespace=default
Örnek çıkış:
NAME READY STATUS RESTARTS AGE helloworld-569d6565f9-lwrrv 1/1 Running 0 17mTest hizmeti dağıtımını silin. Sidecar eklemeyi etkinleştirdikten sonra daha sonra yeniden yükleyeceksiniz:
kubectl delete -f samples/helloworld/helloworld.yaml --namespace=default
Manuel yardımcı dosya yerleştirme kullanma
İki yardımcı kapsayıcı ekleme seçeneği arasında manuel yardımcı kapsayıcı ekleme daha basit ve anlaşılır bir yaklaşımdır ve tek bir kubectl komutuyla yapılabilir.
Edge Microgateway'i yapılandırma
Aşağıdaki komut, Apigee kuruluşunuz için Edge Microgateway'i yapılandırır
ve proxy'yi dağıtır edgemicro-auth.
Aşağıdaki komutu çalıştırın:
edgemicro configure -o [org] -e [env] -u [username]
Burada:
org: Edge kuruluşunuzun adı (kuruluş yöneticisi olmanız gerekir).env: Kuruluşunuzdaki bir ortam (ör. test veya üretim).username: Apigee hesabınızla ilişkili e-posta adresi.
Örnek
edgemicro configure -o myorg -e test -u jdoe@example.com
Çıkış (örneği aşağıda gösterilmiş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 yardımcı olarak yerleştirme
Edge Microgateway'i bir hizmet kapsülüne yardımcı proxy olarak manuel olarak yerleştirmek için şu komutu çalıştırın:
kubectl apply -f <(edgemicroctl -org=your_org -env=your_env -key=your_key -sec=your_secret -conf=config_file_path -svc=service_deployment_file)
Bu örnekte:
your_org:edgemicro configurekomutunda belirttiğiniz Apigee kuruluşu.your_env-edgemicro configurekomutunda belirttiğiniz ortam.your_key:edgemicro configurekomutundan döndürülen anahtar.your_secret:edgemicro configurekomutundan döndürülen gizli.config_file_path-edgemicro configurekomutundan döndürülen Edge Micro yapılandırma dosyasının yolu.service_deployment_file- Pod'u yardımcı sidecar hizmetini alacak hizmetin dağıtım dosyasının yolu. Örneğin:samples/helloworld/helloworld.yaml.
Örneğin:
kubectl apply -f <(edgemicroctl -org=myorg -env=test-key=0e3ecea28a64099410594406b30e54439af5265f8 -sec=e3919250bee37c69cb2e5b41170b488e1c1d -conf=/Users/jdoe/.edgemicro/myorg-test-config.yaml -svc=samples/helloworld/helloworld.yaml)
Yapılandırmayı test etme
Hizmet dağıtımlarını kontrol edin:
kubectl get services -n default
Örnek çıkış:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE helloworld NodePort 10.15.254.163 <none> 8081:32401/TCP 56s kubernetes ClusterIP 10.15.240.1 <none> 443/TCP 41mArtık Edge Microgateway'in sidecar dağıtımını test etmeye hazırsınız. Ayrıntılı adımlar için Proxy'yi test etme başlıklı makaleye gidin.
Otomatik sidecar ekleme özelliğini kullanma
Aşağıdaki adımlarda, Kubernetes kümeniz için otomatik sidecar ekleme özelliğini yapılandıracaksınız. Bu kurulum, Edge Microgateway'in Kubernetes'e yardımcı proxy olarak yerleştirilmesine olanak tanır.
Yardımcı dosya enjektörünü yükleyin
Edge Microgateway'in yardımcı kapsayıcı eklenmesini sağlayan ConfigMap'i yükleyin:
kubectl apply -f install/kubernetes/edgemicro-sidecar-injector-configmap-release.yaml
Webhook hizmetini yüklemek için aşağıdaki komut dosyasını yürütün. Otomatik yardımcı dosya yerleştirme için webhook hizmeti gereklidir:
./install/kubernetes/webhook-create-signed-cert.sh \ --service edgemicro-sidecar-injector \ --namespace edgemicro-system \ --secret sidecar-injector-certsCA paketini webhook yükleme dosyasına ekleyin. Kubernetes api-server, webhook'u çağırmak için bu dosyayı kullanır:
cat install/kubernetes/edgemicro-sidecar-injector.yaml | \ ./install/kubernetes/webhook-patch-ca-bundle.sh > \ install/kubernetes/edgemicro-sidecar-injector-with-ca-bundle.yamlEdge Microgateway yardımcı dosya enjektörü webhook'unu yükleyin:
kubectl apply -f install/kubernetes/edgemicro-sidecar-injector-with-ca-bundle.yaml
Örnek çıkış:
service "edgemicro-sidecar-injector" created serviceaccount "edgemicro-sidecar-injector-service-account" created deployment "edgemicro-sidecar-injector" created mutatingwebhookconfiguration "edgemicro-sidecar-injector" createdEdge Microgateway sidecar injector webhook'unun çalıştığını doğrulayın:
kubectl -n edgemicro-system get deployment -ledgemicro=sidecar-injector
Örnek çıkış:
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE edgemicro-sidecar-injector 1 1 1 1 12mSidecar ekleme kapsülünün kümenizde çalıştığını doğrulayın. Ad alanı
edgemicro-system, Ingress denetleyicisi, varsayılan HTTP arka ucu ve yan kapsayıcı enjektörü dahil olmak üzere sistem hizmetlerinin yüklendiği yerdir:kubectl get pods -n edgemicro-system
Örnek çıkış:
NAME READY STATUS RESTARTS AGE default-http-backend-55c6c69b88-gfnfd 1/1 Running 0 1h edgemicro-ingress-controller-64444469bf-jhn8b 1/1 Running 3 1h edgemicro-sidecar-injector-7d95698fbf-cq84q 1/1 Running 0 3m
Edge Microgateway'i yapılandırma ve yerleştirme
Bir sonraki adımda, Kubernetes ad alanıyla ilişkili bir Edge Microgateway yapılandırması oluşturmak için etkileşimli bir komut dosyası çalıştıracaksınız. Ardından, yapılandırmayı Kubernetes kümenize yerleştirirsiniz.
Aşağıdaki etkileşimli komut dosyasını çalıştırın ve istenen parametreleri girin. Bu komut, sonraki adımda kullanacağınız bir yapılandırma profili oluşturur.
./install/kubernetes/webhook-edgemicro-patch.sh
Giriş parametreleri hakkında bilgi için Referans bölümüne bakın.
Örnek girişler:
Namespace to deploy application [default]:Enter tuşuna basın.
Authenticate with OAuth Token ("n","Y") [N/y]n değerini girin.
Apigee username [required]:Apigee kullanıcı adınızı (e-posta adresi) girin. Örneğin:
jdoe@google.com.Apigee password [required]:Apigee şifrenizi girin.
Apigee organization [required]:Apigee kuruluşunuzun adını girin.
Apigee environment [required]:Kuruluşunuz için bir ortam adı girin. Örneğin, "test".
Virtual Host [default]:Enter tuşuna basın.
Is this Private Cloud ("n","y") [N/y]:Herkese açık buluttaysanız n girin.
Edgemicro Key. Press Enter to generate:Enter tuşuna basın.
Edgemicro Secret. Press Enter to generate:Enter tuşuna basın.
Edgemicro org-env-config.yaml. Press Enter to generate:Enter tuşuna basın.
Örnek çıkış:
current nodejs version is v6.9.1 current edgemicro version is 2.5.25 config initialized to /Users/jdoe/.edgemicro/default.yaml Configure for Cloud ****************************************************************************************** Config file is Generated in /Users/jdoe/Work/GITHUB/microgateway_2.5.25_Darwin_x86_64/config directory. Please make changes as desired. *****************************************************************************************Do you agree to proceed("n","y") [N/y]:y yazın.
Örnek çıkış:
Configuring Microgateway with key:daacf75dd660d160b801c9117fb1ec0935896615479e39dbbae88be81a2d84 secret:a60fd57c1db9f3a06648173fb541cb9c59188d3b6037a76f490ebf7a6584b0 config:~/.edgemicro/jdoe-test-config.yaml ******************************************************************************************************** kubectl apply -f install/kubernetes/edgemicro-config-namespace-bundle.yaml ********************************************************************************************************
Çıkışın son satırında verilen komutu yürütün. Bu
kubectlkomutu, oluşturulan Edge Microgateway yapılandırma profilini Kubernetes'e yerleştirir:kubectl apply -f install/kubernetes/edgemicro-config-namespace-bundle.yaml
Webhook ekleme durumunu görüntüleyin. Şu anda etkin olmadığını unutmayın:
kubectl get namespace -L edgemicro-injection
Örnek çıkış:
NAME STATUS AGE EDGEMICRO-INJECTION default Active 1d edgemicro-system Active 1d kube-public Active 1d kube-system Active 1dWebhook için webhook eklemeyi etkinleştirmek üzere bu komutu çalıştırın:
kubectl label namespace default edgemicro-injection=enabled
Webhook ekleme durumunu tekrar görüntüleyin. Şimdi etkinleştirildiğini unutmayın:
kubectl get namespace -L edgemicro-injection
Örnek çıkış:
NAME STATUS AGE EDGEMICRO-INJECTION default Active 1d enabled edgemicro-system Active 1d kube-public Active 1d kube-system Active 1d
Test hizmetini dağıtma
Şimdi test hizmetini yeniden dağıtın. Edge Microgateway, hizmetin pod'una otomatik olarak yerleştirilir.
kubectl apply -f samples/helloworld/helloworld.yaml --namespace=default
Edge Microgateway'in, test hizmetiyle birlikte kapsüle yerleştirildiğini doğrulayın:
kubectl get pods --namespace=default --watch
Örnek çıkış:
NAME READY STATUS RESTARTS AGE
helloworld-6987878fc4-pkw8h 0/2 PodInitializing 0 12s
helloworld-6987878fc4-pkw8h 2/2 Running 0 26s
Durum Running olarak değiştiğinde komuttan çıkmak için ctrl-c tuşuna basın.
Artık Edge Microgateway'in otomatik sidecar dağıtımını test etmeye hazırsınız. Ayrıntılı adımlar için Proxy'yi test etme başlıklı makaleye gidin.
Proxy'yi test etme
Yardımcı dağıtımıyla hizmetiniz için bir API proxy'si otomatik olarak oluşturulur. "Edge Microgateway'e duyarlı" bir proxy oluşturmanız gerekmez.
Giriş IP adresini alma
Ingress'in harici IP'siyle hizmeti kümenin dışından çağırabilirsiniz.
Giriş denetleyicisinin harici IP adresini alın:
kubectl get ing -o wide
Örnek çıkış:
NAME HOSTS ADDRESS PORTS AGE gateway * 35.238.13.54 80 1mIngress için
EXTERNAL-IPdeğerini kopyalayın ve bir değişkene aktarın. Değişkeni manuel olarak ayarlayabilirsiniz:export GATEWAY_IP=external_ip
Örneğin:
export GATEWAY_IP=35.238.249.62
Dilerseniz bu komutu kullanarak sizin için ayarlayabilirsiniz:
export GATEWAY_IP=$(kubectl describe ing gateway --namespace default | grep "Address" | cut -d ':' -f2 | tr -d "[:space:]")
Değişkenin dışa aktarıldığını doğrulayın. Örneğin:
echo $GATEWAY_IP
Örnek çıkış:
35.238.249.62Hizmeti arayın:
curl $GATEWAY_IP
Çıkış:
{"error":"missing_authorization","error_description":"Missing Authorization header"}Ardından, geçerli bir API anahtarı alabilmek için Edge'de bir API ürünü ve geliştirici uygulaması yapılandırarak eksik yetkilendirme hatasını gidereceksiniz. API çağrısı için yetkilendirme üstbilgisine anahtarı eklediğinizde çağrı başarılı olur ve bu hatayı görmezsiniz.
Apigee Edge'de bileşen oluşturma
Ardından, Apigee Edge'de bir API ürünü ve geliştirici uygulaması oluşturun.
API ürünü oluşturma
- Apigee Edge'e giriş yapın.
- Yan gezinme menüsünde Yayınla > API Ürünleri'ni seçin.
- + API Ürünü'nü tıklayın. Ürün sayfası gösterilir.
Ürün sayfasını aşağıdaki gibi doldurun. Aşağıda belirtilmeyen alanlar için varsayılan değerleri kullanabilirsiniz. Kaydetme işlemi için talimat verilene kadar kaydetmeyin.
Ad hello-world-productGörünen ad Edge Micro hello productOrtam testYol bölümünde + Özel Kaynak'ı tıklayın.
/yolunu ekleyin.Tekrar + Özel Kaynak'ı tıklayın ve yolu ekleyin
/**API Proxies (API Proxy'leri) bölümünde + API Proxy'yi tıklayın ve edgemicro-auth'u ekleyin.
API ürününü kaydedin.
Geliştirici Uygulaması Oluşturma
- Yan gezinme menüsünde Uygulamalar'ı seçin.
- + Uygulama'yı tıklayın. Geliştirici Uygulama Ayrıntıları sayfası gösterilir.
Geliştirici uygulaması sayfasını aşağıdaki gibi doldurun. Kaydetme işlemi için talimat verilene kadar Kaydet'i tıklamayın.
Ad hello-world-appGörünen ad Edge Micro hello appDeveloper Açılır menüden bir geliştirici seçin. Kimlik bilgileri bölümünde + Ürün'ü tıklayın ve yeni oluşturduğunuz
hello-world-productseçin.Kaydet'i tıklayın.
Tüm geliştirici uygulamalarının listelendiği sayfaya geri dönersiniz.
Yeni oluşturduğunuz uygulamayı seçin,
hello-world-app.Tüketici Anahtarı'nın yanındaki Göster'i tıklayın.
Tüketici anahtarının değerini kopyalayın. Bu değer,
helloworldhizmetine güvenli API çağrıları yapmak için kullanacağınız API anahtarıdır.Birkaç dakika bekleyin. Apigee Edge'de yaptığınız değişikliklerin kümede dağıtılan Edge Microgateway örneğiyle senkronize edilmesi birkaç dakika sürer.
API'yi çağırma
Yapılandırma değişiklikleri mikro ağ geçidine çekildikten sonra aşağıdaki testleri yapabilirsiniz.
API'yi API anahtarı olmadan çağırma. Aşağıda gösterildiği gibi bir hata mesajı alırsınız:
curl $GATEWAY_IP
Beklenen çıktı:
{"error":"missing_authorization","error_description":"Missing Authorization header"}Başarılı API çağrıları yapmak için API anahtarı gerekir.
Oluşturduğunuz geliştirici uygulamasından tüketici anahtarını alın. Bu değer, test proxy'sini çağırmak için gereken API anahtarıdır:
curl -H 'x-api-key:your-edge-api-key' $GATEWAY_IP
Örneğin:
curl -H "x-api-key:DeX2eEesYAdRJ5Gdbo77nT9uUfJZql19" $GATEWAY_IP
Çıkış:
Hello world"Hello world" yanıtı, kapsüle dağıtılan helloworld hizmeti tarafından döndürülür. Bu hizmete yapılan çağrı önce Edge Microgateway'den geçer ve burada kimlik doğrulama işlemi gerçekleştirilir. "Hello world" yanıtını görüyorsanız Edge Microgateway'i helloworld hizmet pod'unda yardımcı proxy olarak çalışacak şekilde başarıyla yapılandırmışsınızdır.
Sırada ne var?
Özel eklentiler ekleme, dağıtımı ölçeklendirme, yapılandırma değişiklikleri yapma ve gerçekleştirmek isteyebileceğiniz diğer görevler hakkında bilgi edinmek için Görevler bölümüne bakın.