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
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: 80See also:
- kubectl the command line tool for interacting with Kubernetes
- helm - a package manager for Kubernetes
- Kubernetes Deployment
- Kubernetes ReplicaSet
- Kubernetes StatefulSet
- Kubernetes DaemonSet
- Kubernetes Job
- Kubernetes CronJob
- Kubernetes ConfigMap
- Kubernetes Secret
- Kubernetes Persistent Volume
- Kubernetes Persistent Volume Claim
- Kubernetes StorageClass
- Kubernetes Controller
- Kubernetes Custom Resource Definition
- Kubernetes Service Account
- Kubernetes RBAC
- Kubernetes Control Plane
- Kubernetes Operator
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.