درحال مشاهده اسناد Apigee Edge هستید.
به
اسناد Apigee X بروید. اطلاعات
مقدمه
این موضوع توضیح میدهد که چگونه Edge Microgateway را در خوشه Kubernetes بهعنوان سرویس مستقل اجرا کنید.
برای اطلاعات بیشتر، یکپارچهسازی Edge Microgateway با نمای کلی Kubernetes را ببینید.
قبلاز شروع
مراحل شرحدادهشده در پیشنیازها را تکمیل کنید.
پیکربندی Edge Microgateway
فرمان زیر Edge Microgateway را برای سازمان Apigee شما پیکربندی میکند
و پراکسی edgemicro-auth را مستقر میکند.
فرمان زیر را اجرا کنید:
edgemicro configure -o [org] -e [env] -u [username]
مکان:
org: نام سازمان Edge شما (باید سرپرست سازمان باشید).env: محیطی در سازمان شما (مثل آزمایش یا تولید).
username: نشانی ایمیل منسوب به حساب Apigee شما.
مثال
edgemicro configure -o docs -e test -u jdoe@example.com
برونداد (مثال در زیر نشان داده شده است) در فایل ذخیره میشود:
.$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 بهعنوان سرویس
فرمان زیر را اجرا کنید تا Edge Microgateway را بهعنوان سرویس در خوشه Kubernetes خودتان مستقر کنید:
kubectl apply -f <(edgemicroctl -org=org -env=env -key=edgemicro-key -sec=edgemicro-secret -conf=file path of org-env-config.yaml)
کجا:
org- سازمان Apigee که در فرمانedgemicro configureمشخص کردهاید.-
env- محیطی که در فرمانedgemicro configureمشخص کردهاید. edgemicro-key- کلید برگشتی از فرمانedgemicro configure.edgemicro-secret- رمز برگشتی از فرمانedgemicro configure.-
file path of org-env-config.yaml- مسیر فایل پیکربندی Edge Micro که از فرمانedgemicro configureبرگردانده شده است.
برای مثال:
kubectl apply -f <(edgemicroctl -org=jdoe -env=test -key=989cce9d41cac94e72626d906562a1d76a19445f8901b3508858bb064988eccb -sec=ec92b793178de7b7e88e346f55a951e3fdae05e700e3ddea7d63977826379784 -conf=/Users/jdoe/.edgemicro/jdoe-test-config.yaml)
برونداد نمونه:
config/myorg-test-config.yaml) service "edge-microgateway" created deployment "edge-microgateway" created secret "mgwsecret" createdکد زیر را کپی کنید و در پایانه جایگذاری کنید. این کد کنترلکننده Ingress را برای اجازه دادن به دسترسی خارجی به سرویس
edge-microgatewayراهاندازی میکند. پساز جایگذاری فرمان در پایانه، شاید لازم باشد کلید Enter را فشار دهید: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درصورت موفقیت، این برونداد را خواهید دید:
ingress "edge-microgateway-ingress" createdاکنون کنترلکننده Ingress پیکربندی شده است تا دسترسی خارجی به سرویس
edge-microgatewayرا مجاز کند.
پیادهسازی سرویس آزمایشی
مراحل زیر سرویس آزمایشی سادهای را در خوشهتان مستقر میکند. کنترلکننده Ingress اجازه نمیدهد سرویس از خارج خوشه فراخوانی شود.
بعداً، Edge Microgateway را پیکربندی خواهید کرد تا سرویس را بهعنوان هدف خود فراخوانی کند.
کنترلکننده Ingress اجازه دسترسی خارجی به سرویس edge-microgateway را میدهد.
سرویس نمونه
helloworldرا مستقر کنید. چون Ingress درباره این سرویس چیزی نمیداند، نمیتوان از خارج خوشه با این سرویس تماس گرفت.kubectl apply -f samples/helloworld/helloworld-service.yaml
برونداد نمونه:
service "helloworld" created deployment "helloworld" createdتأیید کنید که استقرار موفقیتآمیز بوده است. توجه داشته باشید که برای سرویس
helloworldنشانی IP خارجی وجود ندارد. در مراحل بعدی، Edge Microgateway را پیکربندی میکنید تا به IP داخلی سرویس دسترسی پیدا کند.kubectl get services -n default
برونداد نمونه:
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 برای پراکسی سرویس
IP داخلی سرویس helloworld را دریافت کنید و آن را بهعنوان هدف
کارگزار «آگاه از ریزدروازه» اضافه کنید. ایجاد پراکسی «آگاه از میکروگیتوی» یکی از
شرایط استاندارد Edge Microgateway است.
همچنین آنچه باید درباره پراکسیهای آگاه از Microgateway بدانید را ببینید.
دریافت پروتکل اینترنتی داخلی برای سرویس آزمایشی
درگاه و «پروتکل اینترنتی خوشه» داخلی را برای سرویس
helloworldدریافت کنید:kubectl get services helloworld
برونداد نمونه:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE helloworld NodePort 10.55.254.255 <none> 8081:30329/TCP 3mمقادیر
CLUSTER-IPوPORTرا کپی کنید. برای مثال، در مثال بالا، این مقادیر عبارتاند از:10.55.254.255و8081. مقادیر سیستم شما متفاوت خواهد بود.
ایجاد پراکسی آگاه از ریزدروازه در Edge
- به سیستم «میانای کاربر Edge» وارد شوید.
- همان سازمانی را که قبلاً هنگام پیکربندی Edge Microgateway مشخص کردهاید انتخاب کنید.
- در منو پیمایش کناری، توسعه > پراکسیهای API را انتخاب کنید.
- روی + پراکسی کلیک کنید. «دستیار ساختن پراکسی» باز میشود.
- در اولین صفحه دستیار، پراکسی معکوس (رایجترین) را انتخاب کنید.
- روی بعدی کلیک کنید.
در صفحه «جزئیات» دستیار، بهصورت زیر پیکربندی کنید. مطمئن شوید که جادوگر را دقیقاً همانطور که نشان داده شده است پر کنید. مطمئن شوید نام پراکسی پیشوند
edgemicro_را داشته باشد.- نام پراکسی: edgemicro_hello
مسیر پایه پراکسی: /hello
میانای برنامهسازی کاربردی موجود:
http://<cluster_ip>:<port>برای مثال: http://10.55.254.255:8081
روی بعدی کلیک کنید.
در صفحه «امنیت» دستیار، عبور (هیچکدام) را انتخاب کنید.
روی بعدی کلیک کنید.
در صفحه «میزبانان مجازی» در دستیار، پیشفرضها را بپذیرید.
روی بعدی کلیک کنید.
در صفحه «ساخت» دستیار، تنظیمات پراکسی خود را مرور کنید. مطمئن شوید که محیط آزمایشی انتخاب شده باشد.
روی ساختن و پیادهسازی کلیک کنید.
ایجاد توسعهدهنده
میتوانید از توسعهدهنده موجود برای آزمایش استفاده کنید یا توسعهدهنده جدیدی را به این صورت ایجاد کنید:
- در منو پیمایش کناری، انتشار > توسعهدهندگان را انتخاب کنید.
- روی + توسعهدهنده کلیک کنید.
- برای ایجاد توسعهدهنده جدید، کادر گفتگو را تکمیل کنید. میتوانید از هر نام/ایمیل توسعهدهندهای که میخواهید استفاده کنید.
ایجاد محصول میانای برنامهسازی کاربردی
«محصول API» را همانطور که در زیر توضیح داده شده است ایجاد کنید. دو پراکسی به محصول اضافه خواهید کرد: edgemicro-auth و edgemicro_hello.
میتوانید درباره گزینههای پیکربندی محصول در آنچه باید درباره پیکربندی «محصول API» بدانید بیشتر بخوانید.
- در منو پیمایش کناری، انتشار > محصولات API را انتخاب کنید.
- روی + محصول API کلیک کنید. صفحه «جزئیات محصول» ظاهر میشود.
صفحه «جزئیات محصول» را بهصورت زیر تکمیل کنید. تا زمانی که به شما دستور داده نشده است، روی «ذخیره» کلیک نکنید.
نام hello-world-productنام نمایشی Edge Micro hello productمحیط testدسترسی Publicنوع تأیید کلید Automaticدر نیمه پایین صفحه، روی + منبع سفارشی کلیک کنید.
منبع را روی
/(یک اسلش) تنظیم کنید.دوباره + منبع سفارشی را انتخاب کنید و مسیر
/**را اضافه کنید.در بخش پایین صفحه، روی + API Proxy کلیک کنید.
پراکسی بهنام edgemicro-auth را انتخاب کنید.
دوباره روی + پراکسی API کلیک کنید.
پراکسی آگاه از میکرودروازه بهنام edgemicro_hello را انتخاب کنید.
روی ذخیره کلیک کنید.
ایجاد برنامه توسعهدهندگان
- در منو پیمایش کناری، انتشار > برنامهها را انتخاب کنید.
- روی + برنامه کلیک کنید. صفحه «جزئیات برنامه توسعهدهنده» ظاهر میشود.
صفحه «برنامه توسعهدهنده» را بهصورت زیر تکمیل کنید. تا زمانی که دستور داده نشده است «ذخیره» نکنید.
نام hello-world-appنام نمایشی Edge Micro hello appتوسعهدهنده توسعهدهنده آزمایشی را که ساختهاید انتخاب کنید یا هر توسعهدهندهای خوب است. در بخش «اطلاعات اعتباری»، روی + محصول کلیک کنید و محصولی را که ساختهاید انتخاب کنید:
hello-world-product.روی ذخیره کلیک کنید.
به صفحهای که همه برنامههای «توسعهدهنده» را فهرست میکند برمیگردید.
برنامهای را که بهتازگی ساختهاید،
hello-world-app، انتخاب کنید.روی نمایش در کنار کلید مصرفکننده کلیک کنید.
مقدار «کلید مصرفکننده» را کپی کنید. این مقدار کلید میانای برنامهسازی کاربردی است که برای برقراری تماسهای ایمن با «میانای برنامهسازی کاربردی»
/helloاستفاده خواهید کرد.چند دقیقه صبر کنید. چند دقیقه طول میکشد تا تغییراتی که در Apigee Edge ایجاد کردهاید با نمونه Edge Microgateway که در خوشه مستقر شده است همگامسازی شود.
آزمایش پراکسی
دریافت نشانی IP ورودی
با «IP خارجی» برای «ورودی»، میتوانید سرویس «ریزدروازه لبه» را از خارج خوشه فراخوانی کنید.
نشانی IP خارجی کنترلکننده Ingress را دریافت کنید:
kubectl get ing -o wide
برونداد نمونه:
NAME HOSTS ADDRESS PORTS AGE edge-microgateway-ingress * 35.238.249.62 80 37mمقدار
ADDRESSرا برای Ingress کپی کنید و آن را به متغیری صادر کنید. میتوانید متغیر را بهصورت دستی تنظیم کنید:export GATEWAY_IP=external_ip
برای مثال:
export GATEWAY_IP=35.238.249.62
یا، از این فرمان برای تنظیم آن استفاده کنید:
export GATEWAY_IP=$(kubectl describe ing edge-microgateway --namespace default | grep "Address" | cut -d ':' -f2 | tr -d "[:space:]")
تأیید کنید که متغیر صادر شده است. برای مثال:
echo $GATEWAY_IP
برونداد نمونه:
35.238.249.62
فراخوانی میانای برنامهسازی کاربردی
پساز اینکه تغییرات پیکربندی به ریزدروازه کشیده شد، میتوانید
فراخوانی API را امتحان کنید. از نشانی IP کنترلکننده Ingress (که در متغیر GATEWAY_IP ذخیره کردهاید
برای فراخوانی API استفاده میکنید زیرا این نشانی IP به شما امکان میدهد کارگزار را از خارج از خوشه Kubernetes فراخوانی کنید. وقتی Edge Microgateway را در خوشه مستقر کردید،
نگاشت از Ingress به Edge Microgateway ایجاد شد.
میانای برنامهسازی کاربردی را بدون کلید میانای برنامهسازی کاربردی فراخوانی کنید. پیام خطایی دریافت خواهید کرد، همانطور که در زیر نشان داده شده است:
curl $GATEWAY_IP:80/hello/
برونداد موردانتظار:
{"error":"missing_authorization","error_description":"Missing Authorization header"}اگر این پیام را دیدید، ممکن است لازم باشد کمی بیشتر صبر کنید تا همگامسازی تکمیل شود:
{"message":"no match found for /hello/","status":404}برای انجام موفقیتآمیز فراخوانیهای API، به کلید API نیاز دارید.
«کلید مصرفکننده» را از برنامه «توسعهدهنده» که ساختهاید دریافت کنید. این مقدار کلید API است که برای فراخوانی کارگزار آزمایشی نیاز دارید:
curl -H 'x-api-key:your-edge-api-key' $GATEWAY_IP:80/hello/
برای مثال:
curl -H "x-api-key:DeX2eEesYAdRJ5Gdbo77nT9uUfJZql19" $GATEWAY_IP:80/hello/
خروجی:
Hello worldاگر پاسخ «سلام دنیا» را دیدید، یعنی Edge Microgateway را با موفقیت پیکربندی کردهاید تا سرویس helloworld را در خوشه Kubernetes فراخوانی کند.
حالا چه میشود؟
برای کسب اطلاعات درباره افزودن افزایههای سفارشی، مقیاسبندی استقرار، ایجاد تغییرات پیکربندی، و سایر تکالیفی که ممکن است بخواهید انجام دهید، به بخش تکالیف مراجعه کنید.