উদাহরণসহ Service এবং Route তৈরি

OpenShift Routes এবং Service Management - ওপেনশিফট (OpenShift) - Latest Technologies

278

OpenShift-এ Service এবং Route তৈরি করার মাধ্যমে আমরা অ্যাপ্লিকেশনকে বাইরের ট্র্যাফিকের জন্য এক্সপোজ করতে পারি এবং পডগুলোর মধ্যে যোগাযোগ স্থাপন করতে পারি। নিচে উদাহরণসহ একটি Service এবং একটি Route তৈরি করার প্রক্রিয়া ব্যাখ্যা করা হয়েছে।

উদাহরণ অ্যাপ্লিকেশন: Nginx

এই উদাহরণে আমরা একটি Nginx অ্যাপ্লিকেশন তৈরি করবো এবং সেটি একটি Service এবং Route-এর মাধ্যমে বাইরের ট্র্যাফিকের জন্য এক্সপোজ করবো।

১. Service তৈরি করা

Service হলো Kubernetes বা OpenShift-এর একটি অবজেক্ট, যা পডগুলোর জন্য একটি লজিক্যাল ইউনিট তৈরি করে এবং পডগুলোর মধ্যে যোগাযোগ স্থাপন করে। এটি পডগুলোর জন্য একটি স্থিতিশীল IP প্রদান করে এবং লোড ব্যালেন্সিং নিশ্চিত করে।

Service তৈরি করার YAML ফাইল:

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
  labels:
    app: nginx
spec:
  selector:
    app: nginx
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
  type: ClusterIP

ব্যাখ্যা:

  • metadata:
    • name: সার্ভিসের নাম দেওয়া হয়েছে nginx-service
    • labels: সার্ভিসের লেবেল হিসেবে app: nginx ব্যবহার করা হয়েছে।
  • spec:
    • selector: এই সার্ভিস app: nginx লেবেলযুক্ত পডগুলোকে টার্গেট করবে।
    • ports: সার্ভিস 80 পোর্টে ট্র্যাফিক গ্রহণ করবে এবং এটি পডের 80 পোর্টে ফরওয়ার্ড করবে।
    • type: ClusterIP টাইপ ব্যবহার করা হয়েছে, যা ক্লাস্টারের মধ্যে যোগাযোগের জন্য ব্যবহৃত হয়।

Service তৈরি করার জন্য কমান্ড:

oc apply -f nginx-service.yaml

এটি সার্ভিস তৈরি করবে এবং ক্লাস্টারের মধ্যে app: nginx লেবেলযুক্ত পডগুলোর জন্য একটি স্টেবল IP প্রদান করবে।

২. Route তৈরি করা

Route হলো OpenShift-এর একটি ফিচার, যা সার্ভিসগুলোকে বাইরের (এক্সটারনাল) ট্র্যাফিকের জন্য এক্সপোজ করে। এটি সার্ভিসের উপর ভিত্তি করে কাজ করে এবং বাইরের ট্র্যাফিককে সার্ভিস বা পডে রাউট করে।

Route তৈরি করার YAML ফাইল:

apiVersion: route.openshift.io/v1
kind: Route
metadata:
  name: nginx-route
spec:
  host: nginx-app.example.com
  to:
    kind: Service
    name: nginx-service
  port:
    targetPort: 80
  tls:
    termination: edge

ব্যাখ্যা:

  • metadata:
    • name: রাউটের নাম দেওয়া হয়েছে nginx-route
  • spec:
    • host: এখানে nginx-app.example.com হোস্টনেম ব্যবহার করা হয়েছে, যা বাইরের ট্র্যাফিকের জন্য ব্যবহার করা হবে।
    • to: এখানে nginx-service সার্ভিস টার্গেট করা হয়েছে, যাতে Route সার্ভিসের মাধ্যমে পডগুলোতে ট্র্যাফিক পৌঁছে দিতে পারে।
    • port: সার্ভিসের 80 পোর্টে ট্র্যাফিক রাউট করা হবে।
    • tls: edge টার্মিনেশন ব্যবহৃত হয়েছে, যা ট্র্যাফিক ডিক্রিপ্ট করবে এবং সার্ভারে পাঠাবে।

Route তৈরি করার জন্য কমান্ড:

oc apply -f nginx-route.yaml

এই কমান্ডটি Route তৈরি করবে এবং nginx-app.example.com হোস্টনেমের মাধ্যমে সার্ভিসকে বাইরের ট্র্যাফিকের জন্য উন্মুক্ত করবে।

সার্ভিস এবং রাউট তৈরি করার পরে যাচাই করা

সার্ভিসের স্টেটাস যাচাই করা:

oc get svc nginx-service

এই কমান্ডটি সার্ভিসের স্টেটাস এবং এর বিস্তারিত দেখাবে, যেমন এর Cluster IP এবং পোর্ট।

রাউটের স্টেটাস যাচাই করা:

oc get route nginx-route

এই কমান্ডটি রাউটের স্টেটাস দেখাবে এবং রাউটটি যে হোস্টনেম ব্যবহার করে এক্সপোজ করা হয়েছে তা দেখাবে।

সার্ভিস এবং রাউটের সম্পর্ক

  • Service: পডগুলোর জন্য একটি স্টেবল ইন্টারফেস তৈরি করে এবং তাদের মধ্যে যোগাযোগ স্থাপন করে। এটি ক্লাস্টারের ভেতরে অ্যাপ্লিকেশন লেভেলে লোড ব্যালেন্সিং করে।
  • Route: সার্ভিসের উপর ভিত্তি করে বাইরের ট্র্যাফিককে ক্লাস্টারে নিয়ে আসে এবং সার্ভিসের মাধ্যমে পডগুলোর মধ্যে ট্র্যাফিক পৌঁছে দেয়। এটি HTTP/HTTPS বা TLS ব্যবহার করে সিকিউর ট্র্যাফিক পরিচালনা করতে পারে।

উপসংহার

এই উদাহরণে, আমরা একটি Nginx সার্ভিস এবং একটি Route তৈরি করেছি, যা OpenShift-এ একটি অ্যাপ্লিকেশনকে বাইরের ট্র্যাফিকের জন্য এক্সপোজ করতে ব্যবহৃত হয়। Service এবং Route একসাথে কাজ করে নিশ্চিত করে যে অ্যাপ্লিকেশনটি বাইরের ক্লায়েন্টদের কাছে সহজে এবং নিরাপদে পৌঁছায়।

Content added By
Promotion

Are you sure to start over?

Loading...