Kubernetes ইন্টিগ্রেশনের পূর্বশর্ত

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন।
তথ্য

এই বিষয়ে সেইসব ধাপের কথা বলা হয়েছে যা আপনাকে Kubernetes ক্লাস্টারে Edge Microgateway-কে পরিষেবা হিসেবে ইনস্টল করার আগে সম্পূর্ণ করতে হবে।

এই বিষয়ে আলোচনা করা হয়েছে:

  • আপনার Kubernetes ক্লাস্টারের জন্য ন্যূনতম প্রয়োজনীয়তা।
  • Edge Microgateway কীভাবে ইনস্টল ও কনফিগার করতে হয়।
  • আপনার Kubernetes ক্লাস্টারে Edge Microgateway-এর বেস কনফিগারেশন কীভাবে ইনস্টল করবেন।

আপনার Kubernetes ক্লাস্টারের জন্য প্রয়োজনীয় বিষয়

আপনার Kubernetes ক্লাস্টারে এগুলি থাকতে হবে:

  • Kubernetes ভার্সন 1.9 বা তার পরবর্তী যেকোনও ভার্সন।
  • Kubernetes CLI kubectl v1.9 বা তার পরের যেকোনও ভার্সন।
  • অন্তত ৩টি নোড সহ একটি ক্লাস্টার, যার প্রতিটিতে ২টি করে vCPU আছে।

যেমন: Google Kubernetes Engine (GKE)-এ Kubernetes ক্লাস্টার তৈরি করা

আপনার Kubernetes অ্যাডমিনিস্ট্রেশন মেশিন সেট-আপ করা

Kubernetes অ্যাডমিনিস্ট্রেশন মেশিন হল আপনার লোকাল মেশিন যা আপনি Kubernetes ক্লাস্টারের বিরুদ্ধে কমান্ড চালানোর জন্য ব্যবহার করেন। এই মেশিনটি সাধারণত একটি ডেস্কটপ মেশিন যা আপনার Kubernetes VM অ্যাক্সেস করতে পারে।

Kubernetes অ্যাডমিনিস্ট্রেশন মেশিনে আপনাকে অবশ্যই নিম্নলিখিত ইউটিলিটি ইনস্টল করতে হবে:

  • kubectl কমান্ড লাইন ইন্টারফেস 1.9 বা তার পরবর্তী যেকোনও ভার্সন ইনস্টল করুন।

  • (শুধুমাত্র GKE) আপনি GKE-তে Kubernetes চালালে, gcloud ইনস্টল করুন।

GKE-তে Kubernetes ক্লাস্টার তৈরি করা

  1. Google Cloud Platform (GCP)-এ Google Kubernetes Engine (GKE) ড্যাশবোর্ডে লগ-ইন করুন।
  2. ক্লাস্টার তৈরি করুন বিকল্পে ক্লিক করুন।
  3. স্ট্যান্ডার্ড ক্লাস্টার বিকল্প বেছে নিন।
  4. আপনার ক্লাস্টারের নাম লিখুন।
  5. একটি জোন বেছে নিন।
  6. Cluster Version 1.9.7-gke-* বেছে নিন। যেমন 1.9.7-gke.6।
  7. ৩টি নোডের সাইজ বেছে নিন।
  8. ৭.৫ জিবি মেমরি সহ ২টি vCPU বেছে নিন।
  9. তৈরি করুন বিকল্পে ক্লিক করুন।

    নিচের স্ক্রিনশটে GKE ড্যাশবোর্ডটি আগের ধাপে বর্ণিত বিবরণ অনুযায়ী পূরণ করা হয়েছে:

    GKE ড্যাশবোর্ড

আপনার ক্লাস্টার ক্রেডেনশিয়াল পাওয়া

  1. আপনার GKE প্রোজেক্টের নাম সেট করুন:

    gcloud config set project projectName
  2. আপনার GKE প্রোজেক্ট জোন সেট করুন:

    gcloud config set compute/zone zoneName
  3. আপনার gcloud কন্টেনার ক্রেডেনশিয়াল পান:

    gcloud container clusters get-credentials cluster-name --zone zone --project project-name

    কোথায়:

    • cluster-name হল আপনার তৈরি করা Kubernetes ক্লাস্টারের নাম।
    • zone হল সেই জোন যেখানে আপনার ক্লাস্টার অবস্থিত।
    • project-name হল আপনার GCP প্রোজেক্টের নাম।

    যেমন:

    gcloud container clusters get-credentials edgemicrogateway-cluster --zone us-central1-a --project edgemicro-project
  4. নিচে যেভাবে দেখানো হয়েছে ঠিক সেইভাবে কমান্ডটি প্রয়োগ করুন। কমান্ডটি বর্তমান ব্যবহারকারীকে ক্লাস্টার অ্যাডমিন অনুমতি দেয়। Edge Microgateway পরিষেবার জন্য প্রয়োজনীয় RBAC নিয়ম তৈরি করতে অ্যাডমিন অনুমতি প্রয়োজন:

    kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user=$(gcloud config get-value core/account)
    

Kubernetes-এর জন্য Edge Microgateway ইনস্টল করা

  1. Kubernetes-এর জন্য Edge Microgateway ডাউনলোড করুন। আপনি MacOS বা Linux মেশিন ব্যবহার করলে, ভার্সনের নাম উল্লেখ করে লেটেস্ট ভার্সন বা নির্দিষ্ট কোনও ভার্সন ডাউনলোড করতে পারবেন।

    লেটেস্ট ভার্সন পেতে:

    curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -

    ভার্সন নম্বর দিয়ে নির্দিষ্ট ভার্সন পেতে। মনে রাখবেন, ভার্সন নম্বরের আগে অবশ্যই "v" অক্ষরটি লিখতে হবে। যেমন: v3.0.2

    curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -s  version

    যেমন:

    curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -s v3.0.2
  2. ইনস্টল ডিরেক্টরি microgateway_Version_OS_ARCH-তে ডিরেক্টরি পরিবর্তন করুন। যেমন:

    cd microgateway_2.5.26_Darwin_x86_64
  3. ইনস্টল ডিরেক্টরি পরীক্ষা করুন:

    • /install/kubernetes - Kubernetes-এ ডেপ্লয় করার জন্য .yaml কনফিগারেশন ফাইল।
    • /samples - আপনার ইনস্টলেশন পরীক্ষা করার জন্য নমুনা অ্যাপ্লিকেশন।
    • /bin - edgemicroctl এক্সিকিউটেবল। edgemicroctl কমান্ড Kubernetes-এ Edge Microgateway ইনজেক্ট করে
  4. আপনার PATH-এ edgemicroctl ক্লায়েন্ট যোগ করুন। যেমন, MacOS বা Linux সিস্টেমে নিম্নলিখিত কমান্ডটি চালান:

    export PATH=$PWD/bin:$PATH
  5. Kubernetes ক্লাস্টারে Edge Microgateway-এর বেস সেট-আপ প্রয়োগ করুন। নিম্নলিখিত কমান্ড edgemicro-system নেমস্পেস ও ক্লাস্টার রোল তৈরি করে।

    kubectl apply -f install/kubernetes/edgemicro.yaml
  6. ক্লাস্টারে NGINX ইনগ্রেস কন্ট্রোলার ইনস্টল করুন। নিশ্চিত করুন যে অন্য কোনও Nginx কন্ট্রোলার চলছে না। kubectl get pods চালিয়ে আপনি চেক করতে পারবেন।

    kubectl apply -f install/kubernetes/edgemicro-nginx-gke.yaml

ইনস্টলেশন যাচাই করা

  1. Ingress কন্ট্রোলার চালু হয়েছে কিনা তা চেক করতে, নিম্নলিখিত কমান্ড রান করুন:

    kubectl get pods --all-namespaces -l app=edgemicro-ingress --watch

    নিচের স্যাম্পেল আউটপুট থেকে দেখা যাচ্ছে যে প্রসেস শুরু হতে এক বা দুই মিনিট সময় লাগে। STATUS থেকে Running পরিবর্তন হওয়ার আগে অনেকগুলি সমস্যা ও রিস্টার্ট চক্র দেখা যাওয়া স্বাভাবিক।

    NAMESPACE          NAME                                            READY     STATUS             RESTARTS   AGE
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       CrashLoopBackOff   1          33s
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       Error              2          33s
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       CrashLoopBackOff   2          40s
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       Running            3          1m
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   1/1       Running            3          1m
    
  2. Ingress চালু হয়ে গেলে, আপনি Ctrl+C টাইপ করে উপরের কমান্ড বাতিল করতে পারবেন।

  3. Kubernetes পরিষেবাগুলি ডেপ্লয় করা হয়েছে কিনা তা চেক করতে এই কমান্ডটি চালান। নিচে দেখানো উদাহরণ আউটপুটের মতো আউটপুট দেখতে পাবেন:

    kubectl get svc -n edgemicro-system
    

    আউটপুটের উদাহরণ:

    NAME                        TYPE           CLUSTER-IP     EXTERNAL-IP    PORT(S)                     AGE
    default-http-backend        ClusterIP      10.19.255.106  <none>         80/TCP                       2h
    edgemicro-ingress           LoadBalancer   10.19.247.156  35.224.24.13   80:30176/TCP,443:32325/TCP   2h
    
  4. সব পড চলছে কিনা তা যাচাই করুন:

    kubectl get pods -n edgemicro-system
    

    আউটপুটের উদাহরণ:

    NAME                                            READY     STATUS    RESTARTS   AGE
    default-http-backend-55c6c69b88-2lvtw           1/1       Running   0          4m
    edgemicro-ingress-controller-64444469bf-wjhrn   1/1       Running   3          4m
    

Edge Microgateway ইনস্টল করা

  1. আপনার Edge Microgateway 2.5.26 বা এর পরবর্তী যেকোনও ভার্সন ইনস্টল করা থাকতে হবে। আপনি এগুলি লিখে চেক করতে পারেন:

    edgemicro --version
  2. আপনার Edge Microgateway 2.5.26 বা এর পরের যেকোনও ভার্সন ইনস্টল করা না থাকলে, install স্ক্রিপ্টটি এক্সিকিউট করুন:

    npm install edgemicro -g
  3. আপনি যদি এই প্রথমবার Edge Microgateway ইনস্টল করে থাকেন বা এটি আপগ্রেড করে থাকেন, তাহলে এই কমান্ডটি চালান:

    edgemicro init

    আপনার অতিরিক্ত সহায়তা প্রয়োজন হলে, Edge Microgateway ইনস্টল করা দেখুন।

পরের ধাপ

এখন আপনি Kubernetes-এ Edge Microgateway ডিপ্লয় করার জন্য প্রস্তুত।