logo

Topics to Learn

Kubernetes

![][image3]

  1. aka k8s

  2. pros

    1. other pros from doc
  3. imperative vs declarative

  4. self heading/ auto-heal

  5. scaling, auto-scale

    1. HorizontalPodAutoscaler
  6. cluster

  7. context

  8. namespaces

  9. annotation

  10. namespaces vs annotation vs labels

  11. Finalizers

  12. Node

    1. master node
    2. worker node
    3. node pool
    4. Node status
    5. Node heartbeats
    6. Node controller
      1. what it does
      2. CIDR block
    7. Node topology
    8. Graceful node shutdown
      1. grace period
      2. non-graceful shutdown
  13. Pod

    1. communicate via
    2. ephemeral
    3. atomic
    4. scaling
    5. Pods life cycle
      1. when creating
      2. when deleting
        1. grace period
    6. Pod state
      1. pending
      2. running
      3. succeeded
      4. failed
      5. unknow
      6. CrashLoopBackOff
    7. init container
    8. Multi container pods
      1. sidecar pattern
      2. ambassador pattern
      3. adaptor pattern
  14. Container

    1. Images
    2. - Serial and parallel image pulls
    3. - image pull policy
    4. Container Environment
    5. Container Lifecycle Hooks
      1. PostStart
      2. PreStop
  15. Kubelet

  16. Selectors

    1. metadata > labels
    2. spec > selector
  17. Workloads

    1. pod
    2. replicaSet
      1. self-heading
      2. template
    3. deployment
      1. replicas
      2. revisionHistoryLimit
      3. Strategy
        1. RollingUpdate
        2. - maxSurge
        3. - maxUnavailable
        4. - default
        5. - rollback
        6. - rollout
        7. Recreate
    4. daemonSet
      1. daemon controller
      2. uses
      3. spec > toleration
    5. statefulSet
      1. persistent identifier
      2. creation & deletion
      3. uses
      4. headless service
    6. job, cron job
    7. replicaSet vs deployment
    8. pods vs deployment
  18. Volumes

    1. persistent volume
      1. claim
      2. HostPath
      3. drawback
      4. reclaim policies
        1. delete (default)
        2. retain
      5. access modes
        1. ReadWriteMany
        2. ReadOnlyMany
        3. ReadWriteOnce
      6. states
        1. available
        2. bound
        3. released
        4. failed
    2. storage class
    3. static and dynamic
  19. Objects

  20. ConfigMap

    1. static
    2. solve static with volume
  21. Secret

    1. type
  22. Service

    1. clusterIP
      1. port
      2. targetPort
    2. nodePort
    3. load balancer
      1. L4
      2. round robin
    4. ingress
      1. L7
  23. NodePort

  24. k8s Cluster arch

    1. Node
      1. container runtime
        1. containerized
        2. CRI-O
      2. kubelet
      3. kube proxy
    2. Control Plane / Master node
      1. kube-api server
      2. kube-scheduler
        1. factor when scheduling
      3. Kube controller manager
        1. built-in controllers
        2. Node controller
        3. job controller
        4. endpointSlice controller
        5. serviceAccount controller
      4. Cloud controller manager
      5. ETCD
      6. Addons
      7. - DNS
      8. - WEBUI (dashboard)
      9. - cluster level logging
      10. - container resource monitoring
  25. Cluster > Node > pod > container

  26. CRI

  27. Garbage Collection

  28. Mixed Version Proxy

  29. KubeCTL

  30. Minikube

    1. rollout
  31. Open Service Broker.

  32. Ingress

  33. Docker Swarm vs Kubernetes

  34. Security

  35. Image

    1. Untrusted registries
    2. Vulnerabilities in tools of OS or libraries
  36. Authentication & Authorization

  37. practices

    1. use linear images
    2. image scanning
    3. don’t use root user
    4. manage user and permission
      1. RBAC
  38. statefulSet

    1. master
    2. slave
  39. Yaml

  40. apiVersion

  41. kind

  42. metdat

    1. name
    2. label
    3. namespace
  43. spec

    1. containers
  44. Commands k8s

    1. alias k=kubernetes
    2. k get
      1. pods
      2. svc
      3. deploy
    3. k delete -f <deployment.yaml> -f <service.yaml>
    4. k exec <pod> – nslookup <svc>
  45. k config

    1. current-context
    2. get-contexts
    3. use-context <name>
    4. delete-context <name>
  46. namespace

    1. k get ns or namespace
    2. k create ns <name>
    3. k delete ns <name>
    4. k config set-context --current --ns=<namespace>
    5. k get pods -n <namespace>
  47. node

    1. k get nodes
    2. k describe node
  48. Probes

    1. startup
    2. readiness
    3. liveness
  49. Good to know

  50. grep

  51. docker compose watch - https://www.youtube.com/live/I-htDVxmFGM?si=5Um3NCnMi0BeAgCz

  52. chroot

  53. Service Mesh