Kubernetes is an Orchestration tool first created by Google.

Good high level overview of concepts from IBM.

Definitions

  • Node: A machine that Kubernetes runs on, can be physical or virtual machine
  • Pod: The smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster.
  • Namespace: An abstraction used by Kubernetes to support multiple virtual clusters on the same physical cluster.
  • NodePort: A map of external port on a node which is logically distributed inside pods to a specific port inside. A type of Service.
  • ReplicaSet: maintains a set of replica pods running at any given time. ie. if 3 Pods are specified to run - it will make sure 3 pods are running.
  • Deployment: An API object that manages a replicated application (ReplicaSet), typically by running Pods with no local state.
  • Service: A method to expose an application running on a set of Pods over the network.
  • Operator: A controller that extends Kubernetes with custom logic for managing an application or system.
  • ConfigMap: Non-secret configuration data for workloads.
  • Secret: Sensitive configuration data such as passwords, tokens, and certificates.
  • PersistentVolume: Storage made available to the cluster.
  • PersistentVolumeClaim: A workload’s request for storage.
  • StorageClass: A way to request a type of dynamically provisioned storage.
  • ServiceAccount: An identity used by workloads inside the cluster.
  • RBAC: Permissions that control access to the Kubernetes API.

See what’s running on Kubernetes cluster:

kubectl get all,cm,secret,ing

More Definitions on Kubernetes.io

Cheat Sheet of Commands

Jeff Geerling’s Kubernetes 101

Simple service definition:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-deployment
    spec:
      selector:
        matchLabels:
          app: nginx
      replicas: 2
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx:1.17.10
            ports:
            - containerPort: 80

See also:

Anki

id: kubernetes-definition deck: Computer Science::Infrastructure::Kubernetes tags: kubernetes orchestration

Q: What is Kubernetes? A: Kubernetes is a container orchestration system that manages workloads across a cluster of machines.

id: kubernetes-pod-definition deck: Computer Science::Infrastructure::Kubernetes tags: kubernetes pod workload

Q: What is a Kubernetes Pod? A: A Pod is the smallest deployable Kubernetes object and represents one or more containers that run together.

id: kubernetes-node-definition deck: Computer Science::Infrastructure::Kubernetes tags: kubernetes node infrastructure

Q: What is a Kubernetes Node? A: A Node is a machine, physical or virtual, that runs workloads in a Kubernetes cluster.

id: kubernetes-deployment-vs-statefulset deck: Computer Science::Infrastructure::Kubernetes tags: kubernetes deployment statefulset workload

Q: When should you use a Deployment instead of a StatefulSet in Kubernetes? A: Use a Deployment for stateless replicated services where Pods are mostly interchangeable; use a StatefulSet when replicas need stable identity or persistent storage.

id: kubernetes-service-purpose deck: Computer Science::Infrastructure::Kubernetes tags: kubernetes service networking

Q: What problem does a Kubernetes Service solve? A: A Service gives stable network access to a set of Pods, even as individual Pods are replaced.

id: kubernetes-ingress-purpose deck: Computer Science::Infrastructure::Kubernetes tags: kubernetes ingress networking

Q: What is a Kubernetes Ingress used for? A: An Ingress routes external HTTP or HTTPS traffic to Services inside the cluster.

id: kubernetes-configmap-vs-secret deck: Computer Science::Infrastructure::Kubernetes tags: kubernetes configmap secret configuration

Q: What is the difference between a ConfigMap and a Secret in Kubernetes? A: A ConfigMap stores non-sensitive configuration, while a Secret stores sensitive values such as passwords, tokens, and certificates.

id: kubernetes-pv-vs-pvc deck: Computer Science::Infrastructure::Kubernetes tags: kubernetes storage pv pvc

Q: What is the difference between a PersistentVolume and a PersistentVolumeClaim in Kubernetes? A: A PersistentVolume is storage available to the cluster; a PersistentVolumeClaim is a workload’s request for storage.

id: kubernetes-controller-reconciliation deck: Computer Science::Infrastructure::Kubernetes tags: kubernetes controller reconciliation

Q: What does a Kubernetes controller do? A: A controller watches cluster state and reconciles actual state toward the desired state declared in the Kubernetes API.

id: kubernetes-operator-definition deck: Computer Science::Infrastructure::Kubernetes tags: kubernetes operator controller crd

Q: What is a Kubernetes Operator? A: An Operator is a controller that uses custom operational logic, often with CRDs, to manage an application or system on Kubernetes.

id: kubernetes-crd-purpose deck: Computer Science::Infrastructure::Kubernetes tags: kubernetes crd extensibility

Q: What is a Custom Resource Definition in Kubernetes? A: A Custom Resource Definition adds a new resource type to the Kubernetes API so custom systems can be modeled as Kubernetes resources.

id: kubernetes-rbac-purpose deck: Computer Science::Infrastructure::Kubernetes tags: kubernetes rbac security

Q: What does Kubernetes RBAC control? A: RBAC controls who or what can perform actions against the Kubernetes API.

id: kubernetes-daemonset-purpose deck: Computer Science::Infrastructure::Kubernetes tags: kubernetes daemonset workload

Q: When would you use a DaemonSet in Kubernetes? A: Use a DaemonSet when you need a Pod to run on every selected node, such as for logging, monitoring, networking, or storage agents.

id: kubernetes-job-vs-cronjob deck: Computer Science::Infrastructure::Kubernetes tags: kubernetes job cronjob workload

Q: What is the difference between a Job and a CronJob in Kubernetes? A: A Job runs finite work until completion; a CronJob creates Jobs repeatedly on a schedule.

id: kubernetes-control-plane-purpose deck: Computer Science::Infrastructure::Kubernetes tags: kubernetes control-plane infrastructure

Q: What does the Kubernetes control plane do? A: The control plane manages cluster state, exposes the Kubernetes API, schedules workloads, and runs controllers.