पहला (Stateless) एप्लिकेशन डिप्लॉय करना

Kubernetes परिचय

Frank Heilmann

Platform Architect and Freelance Instructor

"kubectl" के बारे में और

  • kubectl: Kubernetes ऑब्जेक्ट्स से इंटरैक्ट करने का मुख्य कमांड
  • ऑब्जेक्ट्स जैसे pod, service, आदि

$$

  • सामान्य उपयोग पैटर्न:

    • kubectl create -f <Manifest.yml>: नए ऑब्जेक्ट बनाते हैं, -f मतलब "filename"
    • kubectl apply -f <Manifest.yml>: नए ऑब्जेक्ट बनाते हैं और ऑब्जेक्ट्स की state बदलते हैं
    • kubectl get <object>: Kubernetes पर डिप्लॉय ऑब्जेक्ट्स का ओवरव्यू
    • kubectl describe <object>: किसी ऑब्जेक्ट की विस्तृत जानकारी

    $$

  • कमांड लाइन विकल्प --help से विस्तृत मदद उपलब्ध

Kubernetes परिचय

Manifests के बारे में और

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 5
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.25.4
        ports:
        - containerPort: 80
  • याद रखें: Manifests declarative होते हैं
  • आमतौर पर YAML, पर JSON भी हो सकता है
  • दो मुख्य सेक्शन:
    • metadata: ऑब्जेक्ट/रिसोर्स की आवश्यक जानकारी
    • spec: ऑब्जेक्ट/रिसोर्स की स्पेसिफिकेशन्स या desired state
  • रिसोर्स पर निर्भर करके सेक्शन काफ़ी गहरे हो सकते हैं
Kubernetes परिचय

Stateless एप्लिकेशन

  • Stateless ऐप्स:

    • सामान्य अवधारणा
    • Kubernetes-विशिष्ट नहीं
    • आंतरिक state या प्रोसेस्ड डेटा का कॉन्टेक्स्ट सेव नहीं करते
  • बाधित होने पर, stateless ऐप की नई replica बनती है और चलना शुरू करती है।

  • उदाहरण:
    • डेटाबेस बैकएंड को क्वेरी करता हुआ डेटाबेस फ्रंटएंड
    • फुल-टेक्स्ट इंडेक्स को क्वेरी करता हुआ सर्च ऐप
    • एक डेटा स्ट्रीम ऐप जो IoT सेंसर के temperature readings को °F से °C में बदलता है
Kubernetes परिचय

Kubernetes Deployments

  • "Stateless applications" को Kubernetes में "Deployments" से मैप किया जाता है
  • एक सैंपल Manifest में होते हैं:
    • apiVersion और kind
    • metadata और spec
  • spec में replicas की संख्या, selector, और template परिभाषित होते हैं
  • selector पर आगे और जानकारी
  • template Deployment में pods बनाने का विवरण बताता है
apiVersion: apps/v1
kind: Deployment
metadata:
  name: <deployment name>
  labels:
    app: <a label for the application>
spec:
  replicas: <number of initial replicas>
  selector:
    matchLabels:
      app: <matches the label above>
  template:
    metadata:
      labels:
        app: <label to be given to each pod>
    spec:
      containers:
      - name: <container name>
        image: <the image to be used>
        ports:
        - containerPort: <ports for networking>
Kubernetes परिचय

Kubernetes क्लस्टर पर डिप्लॉय करना

  • kubectl apply -f <manifest.yml> से pods बनाएँ और बदलाव अप्लाई करें।
  • Kubernetes Control Plane Nodes पर Deployment शेड्यूल करेगा।
    • फिर Nodes पर Pods बनना ट्रिगर होता है।
  • हर Pod को यूनिक, पर रैंडम (अनपेक्षित) पहचान मिलती है; हर Pod "किसी भी अन्य जितना ही उपयुक्त" होता है।
Kubernetes परिचय

अभ्यास करते हैं!

Kubernetes परिचय

Preparing Video For Download...