Kubernetes: Difference between revisions
Tags: Mobile edit Mobile web edit |
|||
Line 5: | Line 5: | ||
===Background=== | ===Background=== | ||
Kubernetes runs applications across nodes which are physical or virtual machines.<br> | Kubernetes runs applications across nodes which are physical or virtual machines.<br> | ||
Each node contains a kubelet process, a container runtime | Each node contains a kubelet process, a container runtime, and possibly one or more pods.<br> | ||
Pods contain resources needed to host your application including volumes and one or more containers. | Pods contain resources needed to host your application including volumes and one or more containers. | ||
Revision as of 19:55, 23 July 2021
Kubernetes, also known as K8s, is a container orchestration service by Google.
It supposedly has a harder learning curve than docker-swarm but is heavily inspired by Google's internal borg system.
Getting Started
Background
Kubernetes runs applications across nodes which are physical or virtual machines.
Each node contains a kubelet process, a container runtime, and possibly one or more pods.
Pods contain resources needed to host your application including volumes and one or more containers.
Installation
For local development, you can install minikube.
Otherwise, install kubeadm
.
kubectl
nodes
kubectl get nodes
pods
kubectl get pods kubectl describe pods
deployment
kubectl get deployments # For one-off deployments of an image. kubectl create deployment <name> --image=<image>
proxy
kubectl proxy
containers
kubectl logs $POD_NAME kubectl exec -it $POD_NAME -- bash
service
Services handle routing to your pods.
kubectl get services kubectl expose deployment/<name> --type=<type> --port <port> kubectl describe services/<name>
Variants
minikube
minikube is a tool to quickly set up a local Kubernetes cluster on your PC.
kind
k3s
k3s is a lighter-weight Kubernetes by Rancher Labs.