আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান । তথ্য
ভূমিকা
এই বিষয় ব্যাখ্যা করে যে কিভাবে একটি স্বতন্ত্র পরিষেবা হিসাবে কুবারনেটস ক্লাস্টারে এজ মাইক্রোগেটওয়ে চালানো যায়।
আরও তথ্যের জন্য, Kubernetes ওভারভিউ এর সাথে ইন্টিগ্রেট এজ মাইক্রোগেটওয়ে দেখুন।
আপনি শুরু করার আগে
পূর্বশর্তগুলিতে বর্ণিত পদক্ষেপগুলি সম্পূর্ণ করুন৷
এজ মাইক্রোগেটওয়ে কনফিগার করুন
নিম্নলিখিত কমান্ডটি আপনার Apigee প্রতিষ্ঠানের জন্য এজ মাইক্রোগেটওয়ে কনফিগার করে এবং প্রক্সি edgemicro-auth
স্থাপন করে।
নিম্নলিখিত কমান্ডটি চালান:
edgemicro configure -o [org] -e [env] -u [username]
কোথায়:
org
: আপনার এজ প্রতিষ্ঠানের নাম (আপনাকে অবশ্যই একজন প্রতিষ্ঠান প্রশাসক হতে হবে)।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!
একটি পরিষেবা হিসাবে এজ মাইক্রোগেটওয়ে স্থাপন করুন
আপনার 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
- এজ মাইক্রো কনফিগারেশন ফাইলের পাথ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
-
আপনার টার্মিনালে নিম্নলিখিত কোডটি অনুলিপি করুন এবং পেস্ট করুন। কোডটি
edge-microgateway
পরিষেবাতে বাহ্যিক অ্যাক্সেসের অনুমতি দেওয়ার জন্য ইনগ্রেস কন্ট্রোলার সেট আপ করে। আপনার টার্মিনালে কমান্ড পেস্ট করার পরে আপনাকে এন্টার টিপুতে হতে পারে: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
edge-microgateway
পরিষেবাতে বাহ্যিক অ্যাক্সেসের অনুমতি দেওয়ার জন্য ইনগ্রেস কন্ট্রোলার এখন কনফিগার করা হয়েছে।
একটি পরীক্ষা পরিষেবা স্থাপন করুন
নিম্নলিখিত পদক্ষেপগুলি আপনার ক্লাস্টারে একটি সাধারণ পরীক্ষা পরিষেবা স্থাপন করে৷ ইনগ্রেস কন্ট্রোলার ক্লাস্টারের বাইরে থেকে পরিষেবাটিকে কল করার অনুমতি দেয় না। পরে, আপনি এজ মাইক্রোগেটওয়ে কনফিগার করবেন যাতে পরিষেবাটিকে এর লক্ষ্য হিসাবে কল করা যায়। ইনগ্রেস কন্ট্রোলার edge-microgateway
পরিষেবার বাইরে অ্যাক্সেসের অনুমতি দেয়।
নমুনা
helloworld
পরিষেবা স্থাপন করুন। যেহেতু ইনগ্রেস এই পরিষেবা সম্পর্কে জানে না, পরিষেবাটি ক্লাস্টারের বাইরে থেকে কল করা যাবে না৷kubectl apply -f samples/helloworld/helloworld-service.yaml
উদাহরণ আউটপুট:
service "helloworld" created deployment "helloworld" created
নিশ্চিত করুন যে স্থাপনা সফল হয়েছে৷ মনে রাখবেন যে
helloworld
পরিষেবার জন্য কোনও বাহ্যিক আইপি নেই। নিম্নলিখিত ধাপে, আপনি পরিষেবার অভ্যন্তরীণ আইপি অ্যাক্সেস করতে এজ মাইক্রোগেটওয়ে কনফিগার করবেন।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
পরিষেবার জন্য প্রক্সিতে এজ মাইক্রোগেটওয়ে কনফিগার করুন
helloworld
পরিষেবার জন্য অভ্যন্তরীণ আইপি পান এবং এটিকে একটি "মাইক্রোগেটওয়ে-সচেতন" প্রক্সির লক্ষ্য হিসাবে যুক্ত করুন৷ একটি "মাইক্রোগেটওয়ে-সচেতন" প্রক্সি তৈরি করা একটি আদর্শ এজ মাইক্রোগেটওয়ে প্রয়োজনীয়তা।
মাইক্রোগেটওয়ে-সচেতন প্রক্সি সম্পর্কে আপনার যা জানা দরকার তাও দেখুন।
পরীক্ষার পরিষেবার জন্য অভ্যন্তরীণ আইপি পান
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
। আপনার সিস্টেমের মান ভিন্ন হবে।
এজে একটি মাইক্রোগেটওয়ে-সচেতন প্রক্সি তৈরি করুন
- এজ UI এ লগ ইন করুন ।
- আপনি এজ মাইক্রোগেটওয়ে কনফিগার করার সময় পূর্বে যে সংস্থাটি নির্দিষ্ট করেছিলেন সেই একই সংস্থা নির্বাচন করুন।
- পাশের নেভিগেশন মেনুতে বিকাশ > API প্রক্সি নির্বাচন করুন।
- + প্রক্সি ক্লিক করুন। বিল্ড একটি প্রক্সি উইজার্ড খোলে।
- প্রথম উইজার্ড পৃষ্ঠায়, বিপরীত প্রক্সি (সবচেয়ে সাধারণ) নির্বাচন করুন।
- পরবর্তী ক্লিক করুন.
উইজার্ডের বিবরণ পৃষ্ঠায়, নিম্নরূপ কনফিগার করুন। দেখানো হিসাবে ঠিক উইজার্ড পূরণ করতে ভুলবেন না. প্রক্সি নামের উপসর্গ
edgemicro_
আছে তা নিশ্চিত করুন।- প্রক্সি নাম: edgemicro_hello
প্রক্সি বেস পাথ: /হ্যালো
বিদ্যমান API:
http://<cluster_ip>:<port>
উদাহরণস্বরূপ: http://10.55.254.255:8081
পরবর্তী ক্লিক করুন.
উইজার্ডের নিরাপত্তা পৃষ্ঠায়, পাস থ্রু (কোনটি নয়) নির্বাচন করুন।
পরবর্তী ক্লিক করুন.
উইজার্ডের ভার্চুয়াল হোস্ট পৃষ্ঠায়, ডিফল্টগুলি গ্রহণ করুন।
পরবর্তী ক্লিক করুন.
উইজার্ডের বিল্ড পৃষ্ঠায়, আপনার প্রক্সি সেটিংস পর্যালোচনা করুন। পরীক্ষা পরিবেশ নির্বাচন করা হয়েছে তা নিশ্চিত করুন।
Build and Deploy এ ক্লিক করুন।
একটি বিকাশকারী তৈরি করুন
আপনি পরীক্ষার জন্য একটি বিদ্যমান বিকাশকারী ব্যবহার করতে পারেন, বা নিম্নরূপ একটি নতুন তৈরি করতে পারেন:
- পাশের নেভিগেশন মেনুতে প্রকাশ > বিকাশকারী নির্বাচন করুন।
- + বিকাশকারী ক্লিক করুন।
- একটি নতুন বিকাশকারী তৈরি করতে ডায়ালগটি পূরণ করুন৷ আপনি আপনার ইচ্ছামত যেকোন ডেভেলপারের নাম/ইমেল ব্যবহার করতে পারেন।
একটি API পণ্য তৈরি করুন
নীচে বর্ণিত হিসাবে একটি API পণ্য তৈরি করুন। আপনি পণ্যটিতে দুটি প্রক্সি যোগ করবেন: edgemicro-auth এবং edgemicro_hello ।
আপনি API পণ্য কনফিগারেশন সম্পর্কে আপনার যা জানা দরকার তাতে পণ্য কনফিগারেশন বিকল্পগুলি সম্পর্কে আরও পড়তে পারেন৷
- পাশের নেভিগেশন মেনুতে প্রকাশ > API পণ্য নির্বাচন করুন।
- ক্লিক করুন + API পণ্য . পণ্যের বিশদ পৃষ্ঠাটি প্রদর্শিত হবে।
নিম্নরূপ পণ্য বিবরণ পৃষ্ঠাটি পূরণ করুন. এটি করার নির্দেশ না দেওয়া পর্যন্ত সংরক্ষণ ক্লিক করবেন না।
নাম hello-world-product
প্রদর্শনের নাম Edge Micro hello product
পরিবেশ test
অ্যাক্সেস Public
কী অনুমোদনের ধরন Automatic
পৃষ্ঠার নীচের অর্ধেক, + কাস্টম রিসোর্স ক্লিক করুন।
রিসোর্সটিকে
/
(একটি স্ল্যাশ) এ সেট করুন।আবার + কাস্টম রিসোর্স নির্বাচন করুন এবং পাথ যোগ করুন
/**
।পৃষ্ঠার নীচের অংশে, + API প্রক্সিতে ক্লিক করুন।
edgemicro-auth নামের প্রক্সিটি নির্বাচন করুন।
আবার ক্লিক করুন + API প্রক্সি .
edgemicro_hello নামে মাইক্রোগেটওয়ে-সচেতন প্রক্সি নির্বাচন করুন।
Save এ ক্লিক করুন।
একটি বিকাশকারী অ্যাপ তৈরি করুন
- পাশের নেভিগেশন মেনুতে প্রকাশ > অ্যাপ নির্বাচন করুন।
- + অ্যাপে ক্লিক করুন। বিকাশকারী অ্যাপের বিবরণ পৃষ্ঠাটি প্রদর্শিত হবে।
নিম্নলিখিত হিসাবে বিকাশকারী অ্যাপ পৃষ্ঠাটি পূরণ করুন। এটি করার নির্দেশ না দেওয়া পর্যন্ত সংরক্ষণ করবেন না।
নাম hello-world-app
প্রদর্শনের নাম Edge Micro hello app
বিকাশকারী আপনার তৈরি টেস্ট ডেভেলপার সিলেক্ট করুন বা যেকোন ডেভেলপার ঠিক হয়ে যাবে। শংসাপত্র বিভাগে, + পণ্য ক্লিক করুন এবং আপনার তৈরি পণ্য নির্বাচন করুন:
hello-world-product.
Save এ ক্লিক করুন।
আপনি সেই পৃষ্ঠায় ফিরে এসেছেন যেখানে সমস্ত বিকাশকারী অ্যাপের তালিকা রয়েছে৷
আপনি যে অ্যাপটি তৈরি করেছেন তা নির্বাচন করুন,
hello-world-app
।কনজিউমার কী-এর পাশে দেখান ক্লিক করুন।
কনজিউমার কী এর মান কপি করুন। এই মানটি হল API কী যা আপনি
/hello
এ সুরক্ষিত API কল করতে ব্যবহার করবেন।কয়েক মিনিট অপেক্ষা করুন। Apigee Edge-এ আপনি যে পরিবর্তনগুলি করেছেন তা ক্লাস্টারে স্থাপন করা Edge Microgateway-এর উদাহরণের সাথে সিঙ্ক করতে কয়েক মিনিট সময় নেয়৷
প্রক্সি পরীক্ষা করুন
ইনগ্রেস আইপি ঠিকানা পান
প্রবেশের জন্য বাহ্যিক আইপি দিয়ে, আপনি ক্লাস্টারের বাইরে থেকে এজ মাইক্রোগেটওয়ে পরিষেবাতে কল করতে পারেন।
ইনগ্রেস কন্ট্রোলারের বাহ্যিক আইপি ঠিকানা পান:
kubectl get ing -o wide
উদাহরণ আউটপুট:
NAME HOSTS ADDRESS PORTS AGE edge-microgateway-ingress * 35.238.249.62 80 37m
প্রবেশের জন্য
ADDRESS
মানটি অনুলিপি করুন এবং এটি একটি ভেরিয়েবলে রপ্তানি করুন। আপনি ম্যানুয়ালি ভেরিয়েবল সেট করতে পারেন: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 কল করুন
কনফিগারেশন পরিবর্তনগুলি মাইক্রোগেটওয়েতে টানার পরে, আপনি API কল করার চেষ্টা করতে পারেন। আপনি ইনগ্রেস কন্ট্রোলার আইপি ব্যবহার করেন (যা আপনি API কল করার জন্য পরিবর্তনশীল GATEWAY_IP
এ সংরক্ষণ করেছেন কারণ এই আইপি আপনাকে কুবারনেটস ক্লাস্টারের বাইরে থেকে প্রক্সি কল করতে দেয়৷ আপনি যখন এজ মাইক্রোগেটওয়ে ক্লাস্টারে স্থাপন করেছিলেন তখন ইনগ্রেস থেকে এজ মাইক্রোগেটওয়েতে ম্যাপিং তৈরি হয়েছিল৷ .
একটি API কী ছাড়া API কল করুন। আপনি একটি ত্রুটি বার্তা পাবেন, নীচে দেখানো হিসাবে:
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
আপনি যদি "হ্যালো ওয়ার্ল্ড" প্রতিক্রিয়া দেখতে পান, তাহলে আপনি কুবারনেটস ক্লাস্টারের ভিতরে হ্যালোওয়ার্ল্ড পরিষেবা কল করার জন্য এজ মাইক্রোগেটওয়ে সফলভাবে কনফিগার করেছেন৷
এরপর কি?
কাস্টম প্লাগইন যোগ করা, স্কেলিং স্থাপন, কনফিগারেশন পরিবর্তন করা এবং আপনি যে কাজগুলি করতে চান সেগুলি সম্পর্কে তথ্যের জন্য টাস্ক বিভাগটি দেখুন৷