Giriş
Açıklaması şöyle. Windows ve Linux'ta çalışabilir.
minikube is a local Kubernetes cluster packaged as a virtual machine. It’s great if you’re on Windows, Linux, and Mac as it takes five minutes to create a cluster.
Not : minikube kurmak istemiyorsak Docker Desktop kullanılabilir.
Settings menüsünde Kubernetes sekmesinde "Enable Kubernetes" seçeneği var
VM Tipleri
Minikube farklı VM'ler ile çalıştırabilir. Bunlar şöyle. Yardım sayfasında "Defaults to autodetect" deniyor
$ minikube config defaults driver * virtualbox - Windows/Linux İçin * vmwarefusion - Mac İçin * kvm2 - Linux İçin * vmware * none * docker * podman * ssh
none için açıklama şöyle
Minikube also supports a --driver=none option that runs the Kubernetes components on the host and not in a VM. Using this driver requires Docker and a Linux environment but not a hypervisor.
WSL2 ile şöyle gösteriyor yani docker kullanıyor. Minisihft ise örneğin vmware kullanıyor
~$ minikube start 😄 minikube v1.25.2 on Ubuntu 20.04 ✨ Automatically selected the docker driver
Container Tipleri
Açıklaması şöyle
Minikube supports multiple container runtimes (CRI-O, containerd, docker)
Kubernetes Sürümleri
Minikube farklı Kubernetes sürümlerini çalıştırabilir. Açıklaması şöyle
Minikube works on every platform and lets you configure lots of options. If you’re running Linux then you can turn off the VM so it runs natively.
The other cool thing is that it supports every Kubernetes version so you can exactly match the versions you’re running on your laptop to the version you’re running on your servers.
Add-on Tipleri
Şu özellikleri destekler
Minikube supports multiple features such as LoadBalancer, filesystem mounts, and FeatureGates.
Liste şöyle
addon-manager, coredns, dashboard, default-storageclass, efk, freshpod, heapster, ingress, kube-dns, metrics-server, nvidia-driver-installer, nvidia-gpu-device-plugin, registry, registry-creds, storage-provisioner
Node Sayısı
Normalde tek node'lu cluster çalıştırır. Açıklaması şöyle
Minikube runs a single-node Kubernetes cluster and lets you interact with the cluster by writing kubectl commands.
Diğer Alternatifler
Minikube yerine k3d ve kind kullanılabilir. Minishift ise OpenShift alternatifi olabilir.
Linux Kurulum
Şöyle yaparız. Burada cp ve chmod ile kuruluyor.
# Install minikube binary $ wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 $ sudo cp minikube-linux-amd64 /usr/local/bin/minikube $ sudo chmod +x /usr/local/bin/minikube # Install kubectl binary $ curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl $ sudo chmod +x kubectl $ sudo mv kubectl /usr/local/bin/
Örnek
Şöyle yaparız. Burada install ile kuruluyor.
$ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-PLATFORM-amd64 $ sudo install minikube-PLATFORM-amd64 /usr/local/bin/minikube
Başlatmak
Örnek
Şöyle başlatırız
$ minikube start --driver=docker
Her şey kube-system isim alanı (namespace) altında çalışır. Görmek için şöyle yaparız
$ kubectl top pod --all-namespaces NAMESPACE NAME CPU(cores) MEMORY(bytes) default hello-node-55b49fb9f8-fzb5q 0m 10Mi kube-system coredns-5c98db65d4-jjz8s 4m 11Mi kube-system coredns-5c98db65d4-txdpc 4m 13Mi kube-system etcd-minikube 29m 43Mi kube-system heapster-b6n49 0m 16Mi kube-system influxdb-grafana-sq7nb 1m 37Mi kube-system kube-addon-manager-minikube 8m 5Mi kube-system kube-apiserver-minikube 47m 254Mi kube-system kube-controller-manager-minikube 20m 35Mi kube-system kube-proxy-cvcdj 2m 9Mi kube-system kube-scheduler-minikube 2m 10Mi kube-system kubernetes-dashboard-7b8ddcb5m 0m 14Mi kube-system metrics-server-84bb785897-nt4xs 0m 8Mi kube-system storage-provisioner 0m 27Mi
Kullanım
Adımlar burada
1. "minikube start" seçeneğiyle bir cluster başlat. Başladıktan sonra "minikube status" seçeneğiyle kontrol et
2. "kubectl create deployment ..." ile deployment yap3. bir service yap
4. İşin bitince sırasıyla service'i ve deployment' ı sil
5. "minikube stop" ile cluster'ı durdur
6. "minikube delete" ile cluster'ı sil
addons seçeneği
Listelemek için şöyle yaparız
$ minikube addons list - addon-manager: enabled - dashboard: enabled - default-storageclass: enabled - efk: disabled - freshpod: disabled - gvisor: disabled - heapster: enabled - ingress: disabled - logviewer: disabled - metrics-server: disabled - nvidia-driver-installer: disabled - nvidia-gpu-device-plugin: disabled - registry: disabled - registry-creds: disabled - storage-provisioner: enabled - storage-provisioner-gluster: disabled
Örnek
Şöyle yaparız
minikube addons enable ingress
config seçeneği
Config dosyasındaki ayarları gösterir veya değiştirir.
Örnek
Şöyle yaparız
minikube config set cpus 8minikube config set memory 24000minikube config set driver hyperkit
Ayarları görmek için şöyle yaparız
$ minikube config view - cpus: 8 - driver: hyperkit - memory: 24000
dashboard seçeneği
Açıklaması şöyle
You can also monitor your Kubernetes cluster via the browser and visually interpret the cluster state by accessing the Kubernetes dashboard from Minikube.
Şöyle yaparız
minikube dashboard
delete seçeneği
Şöyle yaparız
minikube delete
docker-env seçeneği
docker-env seçeneği yazısına taşıdım
image load seçeneği
image load seçeneği yazısına taşıdım
service seçeneği
service seçeneği yazısına taşıdım
start seçeneği
Açıklaması şöyle. Kubernetes'i Docker içinde çalıştırır. Tek düğümlü bir cluster başlatılır
By default, minikube will run the latest Kubernetes in the docker container if you are not specifying VM-DRIVER. ...
Once you run minikube start, you will have a single node cluster running in docker.
Örnek
Şöyle yaparız
$ minikube start minikube v1.14.0 on Darwin 10.15.7 ... Preparing Kubernetes v1.19.2 on Docker 19.03.12 ... Verifying Kubernetes components... Enabled addons: storage-provisioner, default-storageclass Done! kubectl is now configured to use "minikube" by default
-n ile node
Örnek
Açıklaması şöyle
running four-node cluster with calico as CNI and using containerd runtime.
Şöyle yaparız
$ minikube start -n=4 --cni='calico' --container-runtime='containerd'...Preparing Kubernetes v1.21.2 on containerd 1.4.6 ...
Örnek
Minukube'ü bir VM içinde çalıştırmak için şöyle yaparız. Burada kvm2 Linux VM'i içinde çalışıyor
minikube start -n=3 --cni='calico' --container-runtime='containerd' --vm-driver kvm2
--memory ile bellek
Örnek
8 GB bellek kullanan bir cluster için şöyle yaparız
minikube start \--memory 8096 \--extra-config=controller-manager.horizontal-pod-autoscaler-upscale-delay=1m \--extra-config=controller-manager.horizontal-pod-autoscaler-downscale-delay=2m \--extra-config=controller-manager.horizontal-pod-autoscaler-sync-period=10s
ssh seçeneği
minikube ssh seçeneği yazısına taşıdım
status seçeneği
Ayarları görmek için şöyle yaparız
$ minikube status minikube type: Control Plane host: Running kubelet: Running apiserver: Running kubeconfig: Configured
version seçeneği
Kurulu minikube sürümünü gösterir.
Hiç yorum yok:
Yorum Gönder