Containers101 Flashcards
What is Kubernetes?
Kubernetes is an open source container orchestration tool developed by Google.
Describe what a “container” is.
Similar to a VM, a container has it’s own files stem, vCPU, memory, process space, dependencies, and more. Containers are decoupled from the underlying infrastructure, and portable across clouds and OS distributions.
What are the advantages of of containers over VMs?
Containers are inherently much lighter than a fully-featured OS, and are lightweight isolated processes that run on the operating system kernel.
VMs run on a single machine with the help of a hypervisor.
List some actions that can be performed using Kubernetes.
- Sharing resources
- Orchestrating containers across multiple hosts
- Installing new hardware configurations
- Running health checks and self-healing applications
- Scaling containerized applications
List the 12 Kubernetes components.
- kube-proxy
- kube-controller-manager
- kube-scheduler
- etcd
- kube-apiserver
- kubelet
- kubectl
- Node
- container runtime
- Persistent storage
- container-registry
- Pod
What is the purpose of kube-proxy?
Runs on every node in the cluster and maintains the network traffic between the Kubernetes resources.
What is the purpose of kube-controller-manager?
Governs the state of the cluster.
What is the purpose of kube-scheduler?
Allocates Pods to nodes.
What is the purpose of etcd?
Stores cluster data.
What is the purpose of kube-apiserver?
Validates and configures data for the API objects.
What is the purpose of kubelet?
Runs on nodes and reads the container manifests. Ensures that the defined containers have started and are running.
What is the purpose of kubectl?
Allows you to define how you want to run workloads. Use the kubectl command to interact with the kube-apiserver.
What is the purpose of a node?
A node is a physical machine or a VM in a kubernetes cluster. The control plane manages every node and schedules pods across the nodes in the Kubernetes cluster.
What is the purpose of container runtime?
Container runtime runs containers on a host operating system. You must install a container runtime on each node so that Pods can run on the node.
What is the purpose of persistent storage?
Stores the data even after the device is shut down. Kubernetes uses persistent volumes to store the application data.