of application containers ▸ Servers 2-N ▸ Open Sourced by Google 2014 ▸ github.com/kubernetes/kubernetes ▸ Written in Go ▸ #GIFEE (Google-like Infrastructure for Everyone Else)
scale, based on years of industry expertise (Google-scale experience) ▸ High availability of the control plane and user workloads (when using pod replication), avoiding most single points of failure ▸ Modular control plane architecture, allowing many peices to be replaced without disrupting workload availability ▸ Persist all of it's internal platform state within an etcd database
LOAD BALANCER NGINX DB LOAD BALANCER K8S SERVICE K8S SERVICE K8S SERVICE NGINX.NAMESPACE.SVC.CLUSTER.LOCAL API.NAMESPACE.SVC.CLUSTER.LOCAL DB.NAMESPACE.SVC.CLUSTER.LOCAL
▸virtual IP per service ▸dns address ▸[serviceName] ▸[serviceName].[namespace] ▸[serviceName].[namespace].svc.cluster.local ▸dynamic “pods” based on label queries ▸pods are auto-injected with environment variables
users into a logically named group ▸Allows for work to be done in isolation ▸Each namespace is given its own: 1.resources (pods, services, replication controllers, etc.) 2.policies (who can or cannot perform actions in their namespace) 3.constraints (this namespace is allowed this much quota, etc.)