Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. info
Giriş
Bu konuda, Edge Microgateway'in Kubernetes kümesinde bağımsız bir hizmet olarak nasıl çalıştırılacağı açıklanmaktadır.
Daha fazla bilgi için Edge Microgateway'i Kubernetes ile entegre etmeye genel bakış başlıklı makaleyi inceleyin.
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, Edge Microgateway'i Apigee kuruluşunuz için yapılandırır ve edgemicro-auth
proxy'sini dağıtır.
Aşağıdaki komutu çalıştırı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 prod gibi).username
: Apigee hesabınızla ilişkili e-posta adresi.
Örnek
edgemicro configure -o docs -e test -u jdoe@example.com
Çıkış (aşağıda gösterilen örnek) 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
Edge Microgateway'i Kubernetes kümenizde hizmet olarak dağıtmak için aşağıdaki komutu çalıştırın:
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
Aşağıdaki kodu kopyalayıp terminalinize yapıştırın. Kod, Giriş denetleyicisini
edge-microgateway
hizmetine harici erişime izin verecek şekilde ayarlar. Komutu terminalinize yapıştırdıktan sonra Enter tuşuna basmanız gerekebilir: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ı olursa şu çıkışı görürsünüz:
ingress "edge-microgateway-ingress" created
Giriş denetleyicisi artık
edge-microgateway
hizmetine harici erişime izin verecek şekilde yapılandırılmıştır.
Test hizmeti dağıtma
Aşağıdaki adımlar, kümenize basit bir test hizmeti dağıtır. Giriş denetleyicisi, hizmetin kümenin dışından çağrılmasına izin vermez.
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 veriyor.
Örnek
helloworld
hizmetini dağıtın. Giriş bu hizmet hakkında bilgi sahibi olmadığından hizmet, kümenin dışından çağrılamaz.kubectl apply -f samples/helloworld/helloworld-service.yaml
Örnek çıkış:
service "helloworld" created deployment "helloworld" created
Dağıtımın başarılı olduğunu doğrulayın.
helloworld
hizmeti için harici IP adresi olmadığını unutmayın. Aşağıdaki adımlarda, Edge Microgateway'i hizmetin dahili IP'sine erişecek şekilde yapılandıracaksınız.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 olarak yapılandırma
helloworld
hizmetinin dahili IP adresini alın ve "mikro ağ geçidi bilinçli" bir proxy'nin hedefi olarak ekleyin. "Mikro geçit uyumlu" bir proxy oluşturmak standart bir Edge Microgateway koşuludur.
Ayrıca Microgateway farkında proxy'ler hakkında bilmeniz gerekenler başlıklı makaleyi de inceleyin.
Test hizmetinin dahili IP'sini alma
helloworld
hizmetinin 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
CLUSTER-IP
vePORT
değerlerini kopyalayın. Örneğin, yukarıdaki örnekte bu değerler10.55.254.255
ve8081
'tur. Sisteminizdeki değerler farklı olacaktır.
Edge'de mikro ağ geçidi bilinçli bir proxy oluşturma
- Edge kullanıcı arayüzüne giriş yapın.
- Edge Microgateway'i yapılandırırken daha önce belirttiğiniz kuruluşu seçin.
- Yan gezinme menüsünde Geliştirme > API Proxy'leri'ni seçin.
- + Proxy'yi tıklayın. Proxy Oluştur sihirbazı açılır.
- İlk sihirbaz sayfasında Geri proxy (en yaygın)'yi seçin.
- İleri'yi tıklayın.
Sihirbazın Ayrıntılar sayfasında aşağıdaki şekilde yapılandırın. Sihirbazı tam olarak gösterildiği şekilde doldurduğunuzdan emin olun. Proxy adında
edgemicro_
ön ekinin bulunduğundan emin olun.- Proxy Adı: edgemicro_hello
Proxy Ana Yolu: /hello
Mevcut API:
http://<cluster_ip>:<port>
Örneğin: http://10.55.254.255:8081
İleri'yi tıklayın.
Sihirbazın Güvenlik sayfasında Geçir (yok)'u seçin.
İleri'yi tıklayın.
Sihirbazın Sanal Ana Makineler sayfasında varsayılanları kabul edin.
İleri'yi tıklayın.
Sihirbazın Oluştur sayfasında proxy ayarlarınızı inceleyin. Test ortamının seçili olduğundan emin olun.
Derle ve Dağıt'ı tıklayın.
Geliştirici Oluşturma
Test için mevcut bir geliştiriciyi kullanabilir veya aşağıdaki gibi yeni bir geliştirici oluşturabilirsiniz:
- Yan gezinme menüsünde Yayınla > Geliştiriciler'i seçin.
- + Geliştirici'yi tıklayın.
- Yeni bir geliştirici oluşturmak için iletişim kutusunu doldurun. İstediğiniz geliştirici adını/e-posta adresini kullanabilirsiniz.
API Ürünü Oluşturma
Aşağıda açıklandığı şekilde bir API ürünü oluşturun. Ürüne iki proxy eklersiniz: edgemicro-auth ve edgemicro_hello.
Ürün yapılandırma seçenekleri hakkında daha fazla bilgiyi API ürün yapılandırması hakkında bilmeniz gerekenler başlıklı makalede bulabilirsiniz.
- Yan gezinme menüsünde Yayınla > API Ürünleri'ni seçin.
- + API Ürünü'nü tıklayın. Ürün Ayrıntıları sayfası görüntülenir.
Ürün Ayrıntıları sayfasını aşağıdaki gibi doldurun. Talimat verilmeden Kaydet'i tıklamayın.
Ad hello-world-product
Görünen Ad Edge Micro hello product
Ortam test
Erişim Public
Anahtar Onay Türü Automatic
Sayfanın alt yarısında + Özel Kaynak'ı tıklayın.
Kaynağı
/
(tek eğik çizgi) olarak ayarlayın.+ Özel Kaynak'ı tekrar seçin ve
/**
yolunu ekleyin.Sayfanın alt kısmında + API Proxy'yi tıklayın.
edgemicro-auth adlı proxy'yi seçin.
+ API Proxy'yi tekrar tıklayın.
edgemicro_hello adlı mikro ağ geçidi bilinçli proxy'yi seçin.
Kaydet'i tıklayın.
Geliştirici Uygulaması Oluşturma
- Yan gezinme menüsünde Yayınla > 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. Talimat verilinceye kadar kaydetmeyin.
Ad hello-world-app
Görünen Ad Edge Micro hello app
Developer Oluşturduğunuz test geliştiricisini veya herhangi bir geliştiriciyi seçin. Kimlik Bilgileri bölümünde + Ürün'ü tıklayın ve oluşturduğunuz ürünü seçin:
hello-world-product.
Kaydet'i tıklayın.
Tüm geliştirici uygulamalarının listelendiği sayfaya geri dönersiniz.
Yeni oluşturduğunuz uygulamayı
hello-world-app
seçin.Tüketici Anahtarı'nın yanındaki Göster'i tıklayın.
Consumer Key değerini kopyalayın. Bu değer,
/hello
'ye 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.
Proxy'yi test etme
Giriş IP adresini alma
Giriş için harici IP ile Edge Microgateway hizmetini 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 edge-microgateway-ingress * 35.238.249.62 80 37m
Ingress için
ADDRESS
değerini kopyalayıp 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 ayarlama işlemini sizin yerinize yapmasını sağlayabilirsiniz:
export GATEWAY_IP=$(kubectl describe ing edge-microgateway --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
API'yi çağırma
Yapılandırma değişiklikleri mikro geçiş noktasına çekildikten sonra API'yi çağırmayı deneyebilirsiniz. API'yi çağırmak için Ingress denetleyici IP'sini (GATEWAY_IP
değişkenine kaydettiğiniz) kullanırsınız. Bu IP, proxy'yi Kubernetes kümesinin dışından çağırmanıza olanak tanır. Ingress'ten Edge Microgateway'e eşleme, kümeye Edge Microgateway'i dağıttığınızda oluşturuldu.
API'yi API anahtarı olmadan çağırabilirsiniz. Aşağıda gösterilen hata mesajını alırsınız:
curl $GATEWAY_IP:80/hello/
Beklenen çıkış:
{"error":"missing_authorization","error_description":"Missing Authorization header"}
Bu mesajı görüyorsanız senkronizasyonun tamamlanması için biraz daha beklemeniz gerekebilir:
{"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.
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ıdır:
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
"Merhaba dünya" yanıtını görüyorsanız Edge Microgateway'i, Kubernetes kümesi içindeki helloworld hizmetini çağıracak şekilde başarıyla yapılandırmışsınız demektir.
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.