Kubernetes: Difference between revisions
Jump to navigation
Jump to search
Line 137: | Line 137: | ||
* [https://kubernetes.io/docs/tutorials/kubernetes-basics/ Learn Kubernetes Basics] | * [https://kubernetes.io/docs/tutorials/kubernetes-basics/ Learn Kubernetes Basics] | ||
* [https://brennerm.github.io/posts/minikube-vs-kind-vs-k3s.html Minikube vs. kind vs. k3s] | * [https://brennerm.github.io/posts/minikube-vs-kind-vs-k3s.html Minikube vs. kind vs. k3s] | ||
* [https://www.docker.com/blog/what-is-containerd-runtime/ What is <code>containerd</code>] | |||
* [https://minikube.sigs.k8s.io/docs/start/ MiniKube start] | * [https://minikube.sigs.k8s.io/docs/start/ MiniKube start] | ||
* [https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/ Kubernetes] | * [https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/ Kubernetes] |
Revision as of 10:26, 13 June 2021
Preferred Kubernetes environments are Minikube, Kind and K3s. It's depends on your use case.
- Minikube: Getting started with Fully Kubernetes environment
- Kind: Kubernetes environment for clusters and more than a single node
- K3s: Kubernetes environment for a low spec machine that uses fewer resources
Nature | Minikube | Kind | K3s |
---|---|---|---|
Runtimes | VM |
Container |
Native
|
CPU Architectures | AMD64 |
AMD64 |
AMD64, ARMv7, ARM64
|
Container Runtimes | Docker, CRI-O, containerd, gvisor |
Docker |
Docker, containerd
|
Startup Time | 5:19 / 3:15 |
2:48 / 1:06 |
0:15 / 0:15
|
Memory | 2GB |
8GB (Windows, MacOS) |
512 MB
|
Root Access Required | ✕ |
✕ |
✓
|
Multi-Cluster | ✓ |
✓ |
✕
|
Multi-Node | ✕ |
✓ |
✓
|
Project Home | Minikube | Kind | K3s |
Install
Minikube
Get-ComputerInfo OsName,OsVersion,OsBuildNumber
choco install docker-desktop -y
choco install minikube -y
# minikube start --driver=hyperv
# minikube start --driver=none
minikube start
minikube delete
minikube start --v=7
kubectl get nodes
Kind
choco install kubernetes-cli -y
choco install kind -y
# kind create cluster
# kind delete cluster
kind create cluster --name k8s-ns12-pc04
# kind delete cluster --name k8s-ns12-pc04
kubectl cluster-info --context kind-k8s-ns12-pc04
cat <<EOF > kind-config.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
EOF
K3s
choco install multipass -y
multipass launch -n node1
multipass list
multipass set local.driver=hyperv
multipass set local.driver=virtualbox
Get-NetConnectionProfile
Set-NetConnectionProfile -InterfaceIndex 13 -NetworkCategory Private
multipass list
cat C:\Windows\System32\drivers\etc\hosts.ics
multipass delete --purge --all
multipass exec node1 -- bash -c "curl -sfL https://get.k3s.io | sh -"
multipass exec node1 -- sudo kubectl get nodes
Knowledge
choco -v
wsl -l -v
wsl --list --verbose
Restart-Service LxssManager
Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V
apt install -y conntrack
apt install -yqq daemonize dbus-user-session fontconfig
docker --help
docker version
kubectl proxy
kubectl --help
kubectl version
kubectl get nodes
kubectl cluster-info
kubectl cluster-info dump
kubectl cluster-info --context kind-kind
kubectl get all --all-namespaces
kubectl get all --namespace kubernetes-dashboard
kubectl patch node $NODENAME -p '{"metadata":{"finalizers":[]}}' --type=merge
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')