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. Bir yardımcı proxy. Yardımcı dosya dağıtımı için iki seçeneğiniz vardır: manuel ve otomatik yerleştirme. Bu konuda her iki seçenek de açıklanmaktadır.
Daha fazla bilgi için Kubernetes'te Edge Mikro Ağ Geçidi'ne Giriş bölümüne bakın.
Başlamadan önce
Ön koşullar bölümünde açıklanan adımları tamamlayın.
Test hizmeti dağıtma
Basit bir "merhaba" sunun hizmeti sunun 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. Bir sonraki aşamaya geçmeden önce kapsül çalışır duruma gelir:
kubectl get pods --namespace=default
Örnek çıkış:
NAME READY STATUS RESTARTS AGE helloworld-569d6565f9-lwrrv 1/1 Running 0 17m
Test hizmeti dağıtımını silin. Daha sonra, etkinleştirdikten sonra yeniden yükleyeceksiniz yardımcı dosya yerleştirme:
kubectl delete -f samples/helloworld/helloworld.yaml --namespace=default
Manuel yardımcı dosya yerleştirmeyi kullanma
İki yardımcı ekleme seçeneğinden manuel yardımcı dosya ekleme, daha basit ve daha basit olanıdır
tek bir kubectl
komutuyla yapılabilir.
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.
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.
Örnek
edgemicro configure -o myorg -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 yardımcı dosya olarak ekleyin
Edge Microgateway'i bir hizmet kapsülüne yardımcı dosya proxy'si olarak manuel olarak eklemek için şu komutu kullanı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 configure
komutunda belirttiğiniz Apigee kuruluşu.your_env
-edgemicro configure
komutunda belirttiğiniz ortam.your_key
-edgemicro configure
komutundan döndürülen anahtar.your_secret
-edgemicro configure
komutundan döndürülen gizli anahtar.config_file_path
:edgemicro configure
komutundan döndürülen Edge Micro yapılandırma dosyasının yolu.service_deployment_file
- Kapsülü yardımcı yardımcı hizmetten yararlanabilirsiniz. Örnek: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 41m
Artık Edge Microgateway'in yardımcı dosya dağıtımını test etmeye hazırsınız. Git Ayrıntılı adımlar için proxy'yi test edin.
Otomatik yardımcı dosya yerleştirmeyi kullanma
Aşağıdaki adımlarda, Kubernetes kümesi. Bu kurulum, Edge Microgateway'in yardımcı dosya olarak yerleştirilmesine olanak tanır proxy'sini Kubernetes'e bağlayabilirsiniz.
Yardımcı enjektörü takma
ConfigMap'i yükleyin Edge Microgateway'in yardımcı dosya yerleştirilmesini sağlar:
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. Webhook hizmeti, otomatik yardımcı dosya ekleme:
./install/kubernetes/webhook-create-signed-cert.sh \ --service edgemicro-sidecar-injector \ --namespace edgemicro-system \ --secret sidecar-injector-certs
CA 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.yaml
Edge Microgateway yardımcı ekleme 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" created
Edge Microgateway yardımcı bağlantılı webhook'un ç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 12m
Yardımcı dosya ekleme kapsülünün kümenizde çalıştığını doğrulayın. Ad alanı
edgemicro-system
, şunlar da dahil olmak üzere sistem hizmetlerinin yüklü olduğu yerdir: Giriş denetleyicisi, varsayılan HTTP arka ucu ve yardımcı dosya enjektörü: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 Mikro Ağ Geçidi'ni yapılandırma ve ekleme
Sonraki adımda Edge Mikro Ağ Geçidi oluşturmak için etkileşimli bir komut dosyası çalıştıracaksınız. yapılandırıldı. Ardından, yapılandırmanıza olanak tanır.
Aşağıdaki etkileşimli komut dosyasını çalıştırın ve istenen parametreleri sağlayın. İlgili içeriği oluşturmak için kullanılan komutu 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 girin.
Apigee username [required]:
Apigee kullanıcı adınızı (e-posta adresi) girin. Örnek:
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]:
Public Cloud kullanıyorsanız n değerini 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 girin.
Ö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
kubectl
komutu oluşturulan Edge Mikro Ağ Geçidi yapılandırma profilini Kubernetes'e ekler:kubectl apply -f install/kubernetes/edgemicro-config-namespace-bundle.yaml
Webhook yerleştirmenin 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 1d
Webhook için webhook yerleştirmeyi etkinleştirmek üzere şu komutu çalıştırın:
kubectl label namespace default edgemicro-injection=enabled
Webhook yerleştirmenin durumunu tekrar görüntüleyin. Artık etkin olduğunu 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 Mikro Ağ Geçidi otomatik olarak yerleştirilir hizmet kapsülüne eklenir.
kubectl apply -f samples/helloworld/helloworld.yaml --namespace=default
Edge Microgateway'in testle birlikte kapsüle yerleştirildiğini onaylayın hizmet:
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 yardımcı dosya dağıtımını test etmeye hazırsınız. Git Ayrıntılı adımlar için proxy'yi test edin.
Proxy'yi test etme
Yardımcı dosya dağıtımı ile hizmetiniz için otomatik olarak bir API proxy'si oluşturulur. Google bunun için "Edge Microgateway-aware" (Edge Microgateway-aware) temsil eder.
Giriş IP adresini alma
Girişin harici IP'sini kullanarak hizmeti görebilirsiniz.
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 1m
Girişin
EXTERNAL-IP
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 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.62
Hizmeti çağırın:
curl $GATEWAY_IP
Çıkış:
{"error":"missing_authorization","error_description":"Missing Authorization header"}
Ardından bir API ürünü ve geliştirici uygulamasını yapılandırarak eksik yetkilendirme hatasını gidereceksiniz geçerli bir API anahtarı alabilmeniz için Edge'i açın. Anahtarı bir yetkilendirmeye eklediğinizde çağrısının başarılı olacağını ve bu hatayı görmezsiniz.
Apigee Edge'de bileşen oluşturun
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.
- Yayınla > API Ürünleri'ni tıklayın.
- + API Ürünü'nü tıklayın. Ürün Sayfası Görünür.
Ürün sayfasını aşağıdaki gibi doldurun. Aşağıda belirtilmeyen alanlar için kullanabilirsiniz. Talimat verene kadar Kaydetme.
Ad hello-world-product
Görünen Ad Edge Micro hello product
Ortam test
Yol bölümünde + Özel Kaynak'ı tıklayın.
/
yolunu ekleyin.+ Özel Kaynak'ı tekrar tıklayın ve
/**
yolunu ekleyin.API Proxy'leri bölümünde + API Proxy'yi (+ API Proxy'si) tıklayın ve edgemicro-auth kodunu 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 Uygulaması Ayrıntıları sayfası görüntülenir.
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 Açılır menüden bir geliştirici seçin. Credentials (Kimlik Bilgileri) bölümünde + Product'ı (+ Ürün) tıklayın ve
hello-world-product
az önce oluşturdunuz.Kaydet'i tıklayın.
Tüm geliştirici uygulamalarının listelendiği sayfaya yönlendirilirsiniz.
Yeni oluşturduğunuz uygulamayı (
hello-world-app
) seçin.Tüketici Anahtarı'nın yanında Göster'i tıklayın.
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ı
helloworld
hizmeti.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.
API'yi çağırma
Yapılandırma değişiklikleri mikro ağ geçidine alındıktan sonra uygulayın.
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
Beklenen çıkış:
{"error":"missing_authorization","error_description":"Missing Authorization header"}
Başarılı API çağrıları yapmak için API anahtarına ihtiyacınız vardır.
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
Örneğin:
curl -H "x-api-key:DeX2eEesYAdRJ5Gdbo77nT9uUfJZql19" $GATEWAY_IP
Çıkış:
Hello world
"Hello World" yanıt, dağıtılan helloworld hizmeti tarafından döndürülür ekler. Bu hizmete yapılan çağrı önce Edge Microgateway'den geçti kimlik doğrulamanın yapıldığı yeri gösterir. "Hello World"ü görürseniz Edge Microgateway'i başarılı bir şekilde yapılandırdığınız için helloworld hizmet kapsülünde yardımcı dosya proxy'si olarak işlev görür.
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.