You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The entire Kubernetes architecture is API driven, so the API server is the center of a Kubernetes cluster. All operations go through the API server, like accesssing data in etcd, accepting kubectl and controller requests, and more.
While labels can be used to interact with kubernetes objects, annotations cannot. Annotations hold metadata that can be useful outside of kubernetes objects. Eamples include timestamps, etc.
# Create annotation on all pods in "prod" namespace
$ k -n prod annotate pods --all description="Prod Pods"# Modify annotation
$ k -n prod annotate --overwrite pods description="Old Prod Pods"# Delete annotation
$ k -n prod annotate pods foo description-
# For example, Weave network:
$ kubectl create -f https://git.io/weave-kube
Hyperkube
Hyperkube is similar to minikube in that it is a single binary to run all k8s components. But it is different in that it runs each k8s component in a separate container.
Get help/info on each hyperkube k8s component
$ docker run --rm gcr.io/google_containers/hyperkube:v1.10.12 /hyperkube apiserver --help
$ docker run --rm gcr.io/google_containers/hyperkube:v1.10.12 /hyperkube scheduler --help
$ docker run --rm gcr.io/google_containers/hyperkube:v1.10.12 /hyperkube controller-manager --help
Microk8s
TODO
Lorem ipsum dolor...
Pod Network
Calico
Flat layer 3
No IP encapsulation
Simple, flexible, scales well
Modifies iptables to allow for IP white and black listing
Flannel
Layer 3 IPv4 network
Focused on traffic between hosts
Can use different backends, like VXLAN
A flanneld agent on each node allocates subnet leases for the host
Canal
An integration of Calico with Flannel
Kube-Router
Feature-filled single binary. Tries to do it all.
Alpha stage, btu aims to be an LB, FW, and router for k8s
Romana
Aimed at large clusters, IPAM aware topology, and kops integration
Weave New
Typically used as add-on for CNI-enabled cluster
Optional network encryption, which also makes it much slower than alternatives
Additional Install Tools
Kubespray
Uses ansible to install and modify kerenetes cluster
Works on many different target environments
Kops
Creates k8s clusters on AWS
Can optionally generate Terraform or Cloud Formation templates
Beta support for GKE
Alpha support for VMware
Kube-aws
Uses AWS Cloud Formationto create k8s clusters on AWS
Kubicorn
Uses kubeadm to create k8s clusters
No dependency on DNS
Support for multiple OS
Uses snapshots to capture a cluster and move it
Kelsey Hightower's Kubernetes the Hard Way is also an excellent resource for learning how to install kubernetes