কুবারনেটিস ডেপ্লয়মেন্ট

আমরা একটি OpenTelemetry ডেমো Helm চার্ট প্রদান করি, যা বিদ্যমান কুবারনেটিস ক্লাস্টারে ডেমোটি ডিপ্লয় করতে সহায়তা করে।

চার্ট ব্যবহার করতে Helm ইনস্টল করা থাকতে হবে। শুরু করতে অনুগ্রহ করে Helm-এর ডকুমেন্টেশন দেখুন।

প্রয়োজনীয়তা

  • Kubernetes 1.24+
  • অ্যাপ্লিকেশনের জন্য ৬ জিবি ফ্রি RAM
  • Helm 3.14+ (শুধুমাত্র Helm ইনস্টলেশন পদ্ধতির জন্য)

OpenTelemetry Helm রিপোজিটরি যোগ করুন:

helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts

my-otel-demo রিলিজ নামে চার্ট ইনস্টল করতে, নিচের কমান্ডটি চালান:

helm install my-otel-demo open-telemetry/opentelemetry-demo

kubectl ব্যবহার করে ইনস্টল করুন

নিম্নলিখিত কমান্ডটি আপনার কুবারনেটিস ক্লাস্টারে ডেমো অ্যাপ্লিকেশন ইনস্টল করবে।

kubectl create --namespace otel-demo -f https://raw.githubusercontent.com/open-telemetry/opentelemetry-demo/main/kubernetes/opentelemetry-demo.yaml

ডেমো ব্যবহার করুন

ডেমো অ্যাপ্লিকেশনের সার্ভিসগুলো ব্যবহার করতে হলে সেগুলোকে Kubernetes ক্লাস্টারের বাইরে এক্সপোজ করতে হবে। আপনি kubectl port-forward কমান্ড কমান্ড ব্যবহার করে আপনার লোকাল সিস্টেমে সার্ভিসগুলো এক্সপোজ করতে পারেন অথবা অপশনাল-ভাবে ডিপ্লয় করা ingress রিসোর্স এর সাথে সার্ভিস টাইপ (যেমন: LoadBalancer) কনফিগার করে।

kubectl port-forward ব্যবহার করে সার্ভিস এক্সপোজ করুন

frontend-proxy সার্ভিস এক্সপোজ করতে নিচের কমান্ডটি ব্যবহার করুন (আপনার Helm চার্ট রিলিজ namespace অনুযায়ী default পরিবর্তন করুন):

kubectl --namespace default port-forward svc/frontend-proxy 8080:8080

frontend-proxy port-forward সেটআপ করার পর, আপনি নিচের ঠিকানাগুলো-তে যেতে পারবেন:

সার্ভিস বা ইনগ্রেস কনফিগারেশন ব্যবহার করে ডেমো কম্পোনেন্ট এক্সপোজ করুন

ইনগ্রেস রিসোর্স কনফিগার করুন

প্রতিটি ডেমো কম্পোনেন্ট (যেমন: frontend-proxy) তার Kubernetes সার্ভিস টাইপ কনফিগার করার একটি উপায় প্রদান করে। ডিফল্টভাবে এগুলো তৈরি হয় না, তবে আপনি প্রতিটি কম্পোনেন্টের ingress প্রপার্টি ব্যবহার করে এগুলো চালু এবং কনফিগার করতে পারেন।

একটি ইনগ্রেস রিসোর্স ব্যবহার করার জন্য frontend-proxy কম্পোনেন্ট কনফিগার করতে আপনাকে আপনার values ফাইলে নিচের মতো নির্দিষ্ট করতে হবে:

components:
  frontend-proxy:
    ingress:
      enabled: true
      annotations: {}
      hosts:
        - host: otel-demo.my-domain.com
          paths:
            - path: /
              pathType: Prefix
              port: 8080

কিছু ইনগ্রেস কন্ট্রোলারের জন্য বিশেষ annotation বা সার্ভিস টাইপ প্রয়োজন। আরও তথ্যের জন্য আপনার ইনগ্রেস কন্ট্রোলারের ডকুমেন্টেশন দেখুন।

সার্ভিস টাইপ কনফিগার করুন

প্রতিটি ডেমো কম্পোনেন্ট (যেমন: frontend-proxy) তার Kubernetes সার্ভিস টাইপ কনফিগার করার একটি উপায় প্রদান করে। ডিফল্টভাবে, এগুলি ClusterIP হবে তবে আপনি প্রতিটি কম্পোনেন্টের service.type প্রপার্টি ব্যবহার করে প্রতিটি পরিবর্তন করতে পারেন।

LoadBalancer সার্ভিস টাইপ ব্যবহার করার জন্য frontend-proxy কম্পোনেন্ট কনফিগার করতে আপনাকে আপনার values ফাইলে নিচের মতো উল্লেখ করতে হবে:

components:
  frontend-proxy:
    service:
      type: LoadBalancer

ব্রাউজার টেলিমেট্রি কনফিগার করুন

ব্রাউজার থেকে স্প্যান-গুলি সঠিকভাবে সংগ্রহ করার জন্য, আপনাকে OpenTelemetry Collector কোথায় এক্সপোজ হবে তাও নির্দিষ্ট করতে হবে। frontend-proxy collector-এর জন্য /otlp-http এর পাথ prefix সহ একটি রুট নির্ধারণ করে। আপনি ফ্রন্টএন্ড কম্পোনেন্টে নিম্নলিখিত environment variable সেট করে collector এন্ডপয়েন্ট কনফিগার করতে পারেন:

components:
  frontend:
    envOverrides:
      - name: PUBLIC_OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
        value: http://otel-demo.my-domain.com/otlp-http/v1/traces

নিজের ব্যাকএন্ড ব্যবহার করুন

সম্ভবত আপনি ওয়েব স্টোরটিকে আপনার ইতিমধ্যেই থাকা একটি অবজারভেবিলিটি ব্যাকএন্ডের জন্য একটি ডেমো অ্যাপ্লিকেশন হিসাবে ব্যবহার করতে চান (যেমন, Jaeger, Zipkin - এর একটি), অথবা আপনার পছন্দের ভেন্ডর এর কোনোটি।

OpenTelemetry Collector-এর কনফিগারেশন Helm চার্টে প্রদর্শিত হয়। আপনার করা যেকোনো সংযোজন ডিফল্ট কনফিগারেশনে মার্জ করা হবে। আপনি এটি ব্যবহার করে আপনার নিজস্ব এক্সপোর্টার যোগ করতে পারেন এবং তাদের পছন্দসই পাইপলাইনে যুক্ত করতে পারেন।

opentelemetry-collector:
  config:
    exporters:
      otlphttp/example:
        endpoint: <your-endpoint-url>

    service:
      pipelines:
        traces:
          exporters: [spanmetrics, otlphttp/example]

ভেন্ডর ব্যাকএন্ডের ক্ষেত্রে আপনাকে অথেন্টিকেশনের জন্য অতিরিক্ত প্যারামিটার যোগ করতে হতে পারে, অনুগ্রহ করে তাদের ডকুমেন্টেশন দেখুন। কিছু ব্যাকএন্ডের জন্য আলাদা এক্সপোর্টার প্রয়োজন হয়, আপনি সেগুলি এবং তাদের ডকুমেন্টেশন opentelemetry-collector-contrib/exporter এ পেতে পারেন।

একটি কাস্টম my-values-file.yaml values ফাইল সহ Helm চার্ট ইনস্টল করতে ব্যবহার করুন:

helm install my-otel-demo open-telemetry/opentelemetry-demo --values my-values-file.yaml

সর্বশেষ পরিবর্তিত July 19, 2025: [bn] localization of content-bn-docs-demo-kubernetes-deployment.md (#7326) (e0af1e53)