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.
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: 80