Differences between revisions 2 and 6 (spanning 4 versions)
Revision 2 as of 2021-10-20 10:26:30
Size: 898
Editor: PieterSmit
Comment:
Revision 6 as of 2021-10-21 19:22:20
Size: 2128
Editor: PieterSmit
Comment:
Deletions are marked like this. Additions are marked like this.
Line 21: Line 21:

 * Pod, eq in Docker ENTRYPOINT->command & CMD->args {{{
apiVersion: v1
kind: Pod
metadata:
  name: ubuntu-sleeper-pod
spec:
  containers:
    - name: ubuntu-sleeper
      image: ubuntu-sleeper
      command: ["sleep2.0"]
      args: ["10",]
      ...
      envFrom:
        - configMapRef:
             name: app-conf-map
        - secretRef:
             name: app-secret
      ...
      env:
        - name: APP_COLOR1
          value: pink

        - name: App_COLOR2
          valueFrom:
               configMapKeyRef:

        - name: App_PWD
          valueFrom:
               secretKeyRef:
                  name: app-secret
                  key: DB_Password

      ...
  volumes:
    - name: app-secret-volume
      secret:
         secretName: app-secret
}}}

 * Multi-container pods
   * Types
     1. SideCar
     1. Adapter
     1. Ambassador
   * All containers are expected to stay alive in POD. If any fail, the POD restarts.
     * InitContainers: separate section in line with containers:
       * Runs one at a time, before Containers: and must all complete before real container starts.
         * if an InitContainer fails, Pod restarts

{{{
}}}

k8s Pods

  • PODs
    • smallest object in k8s, contains containers, can contain one or more containers
    • scale service by creating more pod instances.
    • additional container could be helper container.
    • network space is shared between containers in the same pod, they can communicate on localhost.
  • Static Pods
    • On standalone VM, the kubelet can be configured to

      • read pod definitions from
        1. (Option:--pod-manifest-path=/etc/kubernetes/manifests).

          •  ps ax | grep kubeconfig 

        2. kubeconfig.yaml staticPodPath: /etc/kubernetes/manifest.
      • It also assures they stay alive.
      • Only POD's , nothing else.
      • view with  docker ps 

      • the kubeadm k8s setup uses static pods to run the k8s management software as pods on nodes.
    • Static Pods and DaemonSets are ignored by the Kube-Scheduler

  • Pod, eq in Docker ENTRYPOINT->command & CMD->args

    apiVersion: v1
    kind: Pod
    metadata:
      name: ubuntu-sleeper-pod
    spec:
      containers:
        - name: ubuntu-sleeper
          image: ubuntu-sleeper
          command: ["sleep2.0"]
          args: ["10",]
          ...
          envFrom:
            - configMapRef:
                 name: app-conf-map
            - secretRef:
                 name: app-secret
          ...
          env:
            - name: APP_COLOR1
              value: pink
    
            - name: App_COLOR2
              valueFrom:
                   configMapKeyRef:
    
            - name: App_PWD
              valueFrom:
                   secretKeyRef:
                      name: app-secret
                      key: DB_Password    
    
          ...
      volumes:
        - name: app-secret-volume
          secret:
             secretName: app-secret  
  • Multi-container pods
    • Types
      1. SideCar

      2. Adapter
      3. Ambassador
    • All containers are expected to stay alive in POD. If any fail, the POD restarts.
      • InitContainers: separate section in line with containers:

        • Runs one at a time, before Containers: and must all complete before real container starts.

k8s/StudyNotes/Pods (last edited 2021-10-21 19:22:20 by PieterSmit)