Ingress এবং Routing Policy

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

292

Ingress এবং Routing Policy হলো Kubernetes এবং OpenShift-এর গুরুত্বপূর্ণ নেটওয়ার্কিং ফিচার, যা বাইরের ট্র্যাফিককে ক্লাস্টারের মধ্যে নিয়ে আসে এবং অ্যাপ্লিকেশন বা সার্ভিসগুলোর মধ্যে সঠিকভাবে রাউট করে। এগুলোর মাধ্যমে অ্যাপ্লিকেশনের নিরাপত্তা, লোড ব্যালেন্সিং, এবং ট্র্যাফিক ম্যানেজমেন্ট নিশ্চিত করা যায়।

১. Ingress: সংজ্ঞা এবং কাজ

Ingress হলো Kubernetes-এর একটি অবজেক্ট, যা ক্লাস্টারের বাইরের HTTP এবং HTTPS ট্র্যাফিককে পড বা সার্ভিসগুলোর মধ্যে নিয়ে আসে এবং সঠিক রাউটিং পরিচালনা করে। Ingress ব্যবহার করে একাধিক সার্ভিসকে এক্সপোজ করা যায়, এবং এটি TLS সার্টিফিকেটের মাধ্যমে সিকিউর HTTP (HTTPS) ট্র্যাফিক পরিচালনা করতে পারে।

Ingress-এর বৈশিষ্ট্য:

  1. HTTP/HTTPS Routing:
    • Ingress মূলত HTTP/HTTPS প্রোটোকলের মাধ্যমে বাইরের ট্র্যাফিক ক্লাস্টারের মধ্যে নিয়ে আসে এবং অ্যাপ্লিকেশনের নির্দিষ্ট রুট বা URI এর ভিত্তিতে রাউট করে।
  2. TLS Termination:
    • Ingress TLS সার্টিফিকেট ব্যবহার করে HTTPS ট্র্যাফিক পরিচালনা করতে পারে। এটি ট্র্যাফিককে এনক্রিপ্ট করে, যা নিরাপত্তা নিশ্চিত করে।
  3. Path-based Routing:
    • Ingress URI পাথের ভিত্তিতে বিভিন্ন সার্ভিস বা অ্যাপ্লিকেশনে ট্র্যাফিক রাউট করতে পারে। উদাহরণস্বরূপ, /app1 পাথ একটি সার্ভিসে এবং /app2 পাথ অন্য সার্ভিসে রাউট করা যেতে পারে।
  4. Load Balancing:
    • Ingress বিভিন্ন পডের মধ্যে লোড ব্যালেন্স করতে পারে, যাতে ইনকামিং ট্র্যাফিক সমানভাবে পডগুলোর মধ্যে বিতরণ হয়।

Ingress কনফিগারেশনের উদাহরণ:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: example-ingress
spec:
  rules:
  - host: example.com
    http:
      paths:
      - path: /app1
        pathType: Prefix
        backend:
          service:
            name: app1-service
            port:
              number: 80
      - path: /app2
        pathType: Prefix
        backend:
          service:
            name: app2-service
            port:
              number: 80
  tls:
  - hosts:
    - example.com
    secretName: example-tls

ব্যাখ্যা:

  • rules: এখানে example.com হোস্টনেম ব্যবহার করে /app1 এবং /app2 পাথ দুটি ভিন্ন সার্ভিসে রাউট করা হয়েছে।
  • tls: example-tls নামে একটি TLS সার্টিফিকেট ব্যবহার করা হয়েছে, যা HTTPS ট্র্যাফিক পরিচালনা করবে।

Ingress Controller

Ingress Controller হলো Ingress পরিচালনার জন্য প্রয়োজনীয় একটি কম্পোনেন্ট, যা Kubernetes ক্লাস্টারে Ingress অবজেক্ট দেখে এবং সেই অনুযায়ী ট্র্যাফিক পরিচালনা করে। কিছু জনপ্রিয় Ingress Controller হলো:

  1. NGINX Ingress Controller
  2. HAProxy Ingress Controller
  3. Traefik Ingress Controller

Ingress Controller নিশ্চিত করে যে Ingress অবজেক্ট অনুযায়ী ট্র্যাফিক সঠিকভাবে সার্ভিস বা পডগুলোতে পৌঁছায় এবং TLS এবং লোড ব্যালেন্সিংয়ের ফিচারগুলো সঠিকভাবে কাজ করে।

২. Routing Policy: সংজ্ঞা এবং কাজ

Routing Policy হলো ট্র্যাফিক রাউটিং নিয়ন্ত্রণের একটি কৌশল, যা Ingress বা Routes-এর মাধ্যমে নির্দিষ্ট ট্র্যাফিক প্যাটার্ন এবং নিয়ম অনুযায়ী ট্র্যাফিক পরিচালনা করে। Kubernetes এবং OpenShift-এ Routing Policy ব্যবহার করে ট্র্যাফিক নিয়ন্ত্রণ এবং ব্যবস্থাপনা নিশ্চিত করা যায়। এটি প্রাথমিকভাবে নিম্নলিখিত বিষয়গুলো নিয়ন্ত্রণ করে:

Path-based Routing:

  • নির্দিষ্ট URI পাথ অনুযায়ী ট্র্যাফিক রাউট করা হয়, যাতে বিভিন্ন অ্যাপ্লিকেশন বা সার্ভিস ট্র্যাফিক পায়। উদাহরণস্বরূপ, /login পাথ একটি অ্যাপ্লিকেশন সার্ভিসে এবং /dashboard অন্য অ্যাপ্লিকেশনে রাউট করা যেতে পারে।

Host-based Routing:

  • হোস্টনেম বা সাব-ডোমেইনের ভিত্তিতে ট্র্যাফিক রাউট করা যায়। উদাহরণস্বরূপ, api.example.com একটি API সার্ভিসে এবং app.example.com একটি ফ্রন্ট-এন্ড সার্ভিসে রাউট করা যেতে পারে।

TLS Policy:

  • Routing Policy TLS/SSL ব্যবস্থাপনা করে HTTPS ট্র্যাফিক পরিচালনা করতে পারে। এটি TLS সার্টিফিকেট ব্যবহার করে ট্র্যাফিক এনক্রিপ্ট করে এবং নিরাপদ যোগাযোগ নিশ্চিত করে।

Traffic Splitting এবং Canary Releases:

  • Routing Policy ট্র্যাফিক ভাগ করতে পারে, যাতে বিভিন্ন ভার্সনের অ্যাপ্লিকেশনে ট্র্যাফিক পাঠানো যায়। উদাহরণস্বরূপ, ১০% ট্র্যাফিক নতুন ভার্সনে এবং ৯০% ট্র্যাফিক পুরোনো ভার্সনে রাউট করা যেতে পারে।

Ingress এবং Routing Policy-এর মধ্যে সম্পর্ক

  • Ingress হলো একটি Kubernetes অবজেক্ট যা Routing Policy অনুযায়ী ট্র্যাফিক পরিচালনা করে। Ingress একটি রুট বা URI নির্দিষ্ট করে সার্ভিসে ট্র্যাফিক রাউট করে এবং Routing Policy ব্যবহার করে ট্র্যাফিক নিয়ন্ত্রণ করে।
  • Routing Policy Ingress-এর কাজ করার কৌশল নির্ধারণ করে এবং ট্র্যাফিক ম্যানেজমেন্টের নিয়ম অনুসরণ করে। এটি নির্ধারণ করে কোন URI বা হোস্টনেম কোন সার্ভিসে রাউট হবে, কিভাবে TLS ব্যবহৃত হবে, এবং ট্র্যাফিক ভাগাভাগি হবে।

উদাহরণ: Routing Policy সেটআপ করা

OpenShift বা Kubernetes-এ Ingress-এর মাধ্যমে Routing Policy সেটআপ করতে নিচের মত একটি YAML ফাইল ব্যবহার করা যায়:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-ingress
spec:
  rules:
  - host: example.com
    http:
      paths:
      - path: /api
        pathType: Prefix
        backend:
          service:
            name: api-service
            port:
              number: 8080
      - path: /app
        pathType: Prefix
        backend:
          service:
            name: app-service
            port:
              number: 8080
  tls:
  - hosts:
    - example.com
    secretName: example-tls

ব্যাখ্যা:

  • /api পাথটি api-service সার্ভিসে রাউট করা হয়েছে এবং /app পাথটি app-service সার্ভিসে রাউট করা হয়েছে।
  • TLS ব্যবহার করে ট্র্যাফিক এনক্রিপ্ট করা হয়েছে।

সংক্ষেপে

বৈশিষ্ট্যIngressRouting Policy
কাজবাইরের HTTP/HTTPS ট্র্যাফিক ক্লাস্টারে নিয়ে আসেট্র্যাফিক নিয়ন্ত্রণ করে এবং সার্ভিসগুলোতে রাউট করে
প্রোটোকলHTTP/HTTPS এবং TLSHTTP, HTTPS, এবং TLS
বৈশিষ্ট্যPath-based, Host-based Routing, TLSPath-based Routing, Host-based Routing, Traffic Splitting, TLS

উপসংহার

Ingress এবং Routing Policy Kubernetes এবং OpenShift-এ ক্লাস্টারের মধ্যে ট্র্যাফিক রাউটিং এবং ম্যানেজমেন্ট নিশ্চিত করে। এগুলো ব্যবহার করে বিভিন্ন পাথ এবং হোস্টনেমের মাধ্যমে ট্র্যাফিক পরিচালনা করা, লোড ব্যালেন্সিং করা, এবং সিকিউরিটি নিশ্চিত করা যায়। Ingress এবং Routing Policy-এর মাধ্যমে অ্যাপ্লিকেশন এক্সপোজ করা এবং ম্যানেজ করা আরও সহজ এবং কার্যকরী হয়।

Content added By
Promotion

Are you sure to start over?

Loading...