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

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:

  • kubectl the command line tool for interacting with Kubernetes
  • helm - a package manager for Kubernetes