Cloud


PG1


kubectl create deployment nginx --image=nginx:latest


kubectl scale deployment nginx --replicas=3

Output

kubectl get pods


kubectl set image deployment/nginx nginx=nginx:1.21.0


Output

kubectl rollout status deployment/nginx

kubectl get pods -o wide


kubectl rollout undo deployment/nginx

output

kubectl rollout status deployment/nginx



PG2


kubectl create configmap my-config --from-literal=app_name=MyK8sApp --from-literal=version=1.0


output

kubectl get configmap my-config -o yaml



kubectl create secret generic my-secret --from-literal=username=admin --from-literal=password=SuperSecret123


output

kubectl get secret my-secret -o yaml


 kubectl get secret

 kubectl get configmap


  kubectl delete configmap my-config

  kubectl delete secret my-secret



PG3


nano pv.yaml


apiVersion: v1

kind: PersistentVolume

metadata:

  name: my-pv

spec:

  capacity:

    storage: 1Gi # Defines total storage capacity

  accessModes:

    - ReadWriteOnce # Single node can read/write

  persistentVolumeReclaimPolicy: Retain # Retains data even if PVC is deleted

  hostPath:

    path: "/mnt/data" # Storage path on the host node



kubectl apply -f pv.yaml


output

kubectl get pv

kubectl describe pv my-pv


nano pvc.yaml


apiVersion: v1

kind: PersistentVolumeClaim

metadata:

  name: my-pvc

spec:

  accessModes:

    - ReadWriteOnce # PVC can be mounted by a single node

  resources:

    requests:

      storage: 500Mi # Requests 500MiB from an available PV



kubectl apply -f pvc.yaml


output

kubectl get pvc

kubectl describe pvc my-pvc



PG4


notepad pod.yaml


apiVersion: v1

kind: Pod

metadata:

  name: my-app

spec:

  containers:

    - name: app-container

      image: nginx

      volumeMounts:

        - mountPath: "/usr/share/nginx/html"

          name: storage

  volumes:

    - name: storage

      persistentVolumeClaim:

        claimName: my-pvc


kubectl apply -f pod.yaml


ouput

kubectl get pods

kubectl describe pod my-app




PG5



nano multi-container-pod.yaml



apiVersion: v1

kind: Pod

metadata:

  name: multi-container-pod

spec:

  containers:

    - name: app

      image: nginx

    - name: sidecar

      image: busybox

      command: ["sh", "-c", "while true; do echo 'Logging...'; sleep 5; done"]




      OR




apiVersion: v1

kind: Pod

metadata:

  name: multi-container-pod

spec:

  containers:

    - name: nginx-container

      image: nginx

      ports:

        - containerPort: 80

      volumeMounts:

        -mountPath: "/usr/share/nginx/html"

         name: shared-storage


    - name: busybox-container

      image: busybox

      command: ["/bin/sh", "-c", "while true; do echo 'Hello from BusyBox' > /output/index.html; sleep 5; done"]

      volumeMounts:

         - mountPath: "/output"

    name: shared-storage




kubectl apply -f multi-container-pod.yaml


kubectl get pods


kubectl describe pod multi-container-pod


kubectl logs multi-container-pod -c busybox-container




PG6


nano cronjob.yaml



apiVersion: batch/v1

kind: CronJob

metadata:

  name: periodic-job

spec:

  schedule: "*/5 * * * *" 

  jobTemplate:

    spec:

      template:

        spec:

          containers:

            - name: cronjob-container

              image: busybox

              command: ["date"]

          restartPolicy: OnFailure




kubectl apply -f cronjob.yaml


output

kubectl get cronjob

kubectl describe cronjob periodic-job




Comments

Popular posts from this blog

ML