Kubernetes was a project of the Cloud Native Computing Foundation
Kubernetes includes a number of concepts that are new for many developers, and that are covered in this brief introductory lab, including:
- Nodes: A node is a worker machine in a Kubernetes cluster, and in Google Container Engine, the machine is always a Google Compute Engine instance.
- Pods: A pod is a group of one or more containers, shared storage, and configuration data relating to those containers. It is common for production applications running in Kubernetes to include multiple, relatively tightly-coupled containers in a single pod.
- Replication Controllers: A replication controller works to ensure that the requested number of pod replicas are always available and running at a given time. The replication controller automatically adds or removes pods as required to maintain a desired state.
- Services: A service defines a logical set of pods and a way to access them using an IP Address and port number pair.
kubectl is a Kubernetes command-line toolGoogle engineers including Brian Grant and Tim Hockin, and was first announced by Google in mid-2014. Kubernetes development and design are heavily influenced by Google's Borg system, and many of the top contributors to the project previously worked on Borg. The original codename for Kubernetes within Google was Project Seven, a reference to Star Trek character Seven of Nine that is a 'friendlier' Borg. The seven spokes on the wheel of the Kubernetes logo is a nod to that codename.