Ubuntu 24.04|22.04|20.04 Üzerine Minikube Nasıl Kurulur
Kubernetes'in gücünü keşfetmeye hazır mısınız? Bu adım adım kılavuzda, temel hipervizör olarak Libvirt(KVM) veya VirtualBox kullanarak Ubuntu Linux sistemine Minikube'u nasıl kuracağınızı gösteriyoruz. Önce Minikube'a temel bir giriş yapacağız, ardından Minikube'un gerçek kurulumuna geçip onu nasıl kullanmaya başlayacağınızı anlatacağız.
Minikube, geliştiricilerin ve sistem yöneticilerinin kendi bilgisayarlarında tek bir Kubernetes kümesini çalıştırmalarını sağlamak için geliştirilen açık kaynaklı bir araçtır. Minikube, düşük kaynak kullanımıyla yerel olarak tek bir düğüm Kubernetes kümesini başlatır. Bu, geliştirme testleri ve POC amaçları için idealdir.
Nihai Ubuntu Masaüstü Kılavuzu
Ubuntu'yu bir profesyonel gibi keşfedin - güzel masaüstü özelleştirmesinden güçlü terminal otomasyonuna kadar. Çalışma alanları üzerinde tam kontrol sahibi olmak isteyen geliştiriciler, sistem yöneticileri ve ileri düzey kullanıcılar için mükemmel.
CentOS için şuna göz atın: KVM ile CentOS 7/8 üzerinde Minikube Kurulumu.
Kısacası, Minikube bir Linux sanal makinesi paketler ve yapılandırır, ardından Docker ve tüm Kubernetes bileşenlerini içine kurar.
Minikube, aşağıdaki Kubernetes özelliklerini destekler:
- DNS
- NodePorts
- ConfigMap'ler ve Gizli Bilgiler
- Gösterge Panoları
- Konteyner Çalışma Zamanı: Docker, CRI-O ve containerd
- CNI (Konteyner Ağ Arayüzü) Etkinleştirme
- Giriş
- hostPath türündeki Kalıcı Hacimler
Ubuntu Linux’a Minikube kurulumu yapmaya başlayalım.
KVM veya VirtualBox Hypervisor'ü kur
Tüm sistem paketlerini en son sürüme güncellemek için aşağıdaki komutları çalıştırın:
sudo apt update && sudo apt upgrade -yYükseltme sonrası bir yeniden başlatma gerekiyorsa işlemi gerçekleştirin.
[ -f /var/run/reboot-required ] && sudo reboot -fVirtualBox kullanıcıları için, VirtualBox'ı şu şekilde yükleyin:
- Ubuntu'ya VirtualBox yükleyin
KVM Hipervizör Kullanıcıları
KVM hipervizörü kullanmakla ilgilenenler için, CentOS/Ubuntu/Debian üzerine KVM'in nasıl kurulacağını anlatan kılavuzumuza göz atın
Bunun yerine Minikube'u KVM üzerinde nasıl çalıştıracağınızı izleyin.
Ubuntu'da Minikube'u İndirin ve Yapılandırın
Minikube ikili dosyasını indirmeniz gerekiyor. İkili dosyayı /usr/local/bin dizinine koyacağım çünkü bu dizin `PATH` içinde.
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
chmod +x minikube-linux-amd64
sudo mv minikube-linux-amd64 /usr/local/bin/minikubeYüklü sürümü onayla
$ minikube version
minikube version: v1.33.1
commit: 5883c09216182566a63dff4c326a6fc9ed2982ffKubernetes üzerinde uygulamaları dağıtmak ve yönetmek için kullanılan komut satırı aracı olan kubectl'e ihtiyacımız var:
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectlkubectl ikili dosyasını çalıştırılabilir hale getirin.
chmod +x ./kubectl
Binary dosyasını PATH'inize taşıyın:
sudo mv ./kubectl /usr/local/bin/kubectlSürümü kontrol et:
$ kubectl version -o json --client
{
"clientVersion": {
"major": "1",
"minor": "30",
"gitVersion": "v1.30.2",
"gitCommit": "39683505b630ff2121012f3c5b16215a1449d5ed",
"gitTreeState": "clean",
"buildDate": "2024-06-11T20:29:44Z",
"goVersion": "go1.22.4",
"compiler": "gc",
"platform": "linux/amd64"
},
"kustomizeVersion": "v5.0.4-0.20230601165947-6ce0bf390ce3"
}Ubuntu üzerinde minikube başlatılıyor
Bileşenler kurulduğuna göre, minikube'u başlatabilirsiniz. VM görüntüsü indirilecek ve Kubernetes tek düğümlü kümesi için yapılandırılacaktır.
- KVM sürücüsü ile Minikube
minikube start --driver=kvm2- VirtualBox sürücüsü ile
minikube start --driver=virtualboxYürütme komutlarından örnek çıktı.
...................................
* Using the kvm2 driver based on user configuration
* https://minikube.sigs.k8s.io/docs/reference/drivers/none/
* Downloading driver docker-machine-driver-kvm2:
> docker-machine-driver-kvm2-...: 65 B / 65 B [---------] 100.00% ? p/s 0s
> docker-machine-driver-kvm2-...: 13.46 MiB / 13.46 MiB 100.00% ? p/s 100
* Downloading VM boot image ...
> minikube-v1.33.1-amd64.iso....: 65 B / 65 B [---------] 100.00% ? p/s 0s
> minikube-v1.33.1-amd64.iso: 314.16 MiB / 314.16 MiB 100.00% 37.68 MiB p
* Starting "minikube" primary control-plane node in "minikube" cluster
* Downloading Kubernetes v1.30.0 preload ...
> preloaded-images-k8s-v18-v1...: 342.90 MiB / 342.90 MiB 100.00% 38.75 M
* Creating kvm2 VM (CPUs=2, Memory=2200MB, Disk=20000MB) ...
* Preparing Kubernetes v1.30.0 on Docker 26.0.2 ...
- Generating certificates and keys ...
- Booting up control plane ...
- Configuring RBAC rules ...
* Configuring bridge CNI (Container Networking Interface) ...
* Verifying Kubernetes components...
- Using image gcr.io/k8s-minikube/storage-provisioner:v5
* Enabled addons: default-storageclass, storage-provisioner
* Done! kubectl is now configured to use "minikube" cluster and "default" namespace by defaultİndirme ve kurulumun bitmesini bekleyin, ardından her şeyin düzgün çalıştığını onaylayın.
Varsayılan Minikube sürücüsünü ayarlamak için şunu kullanın:
# VirtualBox
minikube config set driver virtualbox
# KVM
minikube config set driver kvmMinikube Temel işlemler
Küme durumunu kontrol etmek için şunu çalıştırın:
$ kubectl cluster-info
Kubernetes master is running at https://192.168.39.117:8443
KubeDNS is running at https://192.168.39.117:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.Minikube yapılandırma dosyasının ~/.minikube/machines/minikube/config.json altında bulunduğunu unutmayın
Yapılandırmayı Görüntülemek için şunu kullanın:
$ kubectl config view
apiVersion: v1
clusters:
- cluster:
certificate-authority: /root/.minikube/ca.crt
extensions:
- extension:
last-update: Sat, 13 Jul 2024 15:29:47 UTC
provider: minikube.sigs.k8s.io
version: v1.33.1
name: cluster_info
server: https://192.168.39.249:8443
name: minikube
contexts:
- context:
cluster: minikube
extensions:
- extension:
last-update: Sat, 13 Jul 2024 15:29:47 UTC
provider: minikube.sigs.k8s.io
version: v1.33.1
name: context_info
namespace: default
user: minikube
name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
user:
client-certificate: /root/.minikube/profiles/minikube/client.crt
client-key: /root/.minikube/profiles/minikube/client.keyÇalışan düğümleri kontrol etmek için:
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 5m29s v1.30.0
Minikube VM'ye ssh ile erişin:
$ minikube ssh
_ _
_ _ ( ) ( )
___ ___ (_) ___ (_)| |/') _ _ | |_ __
/' _ ` _ `\| |/' _ `\| || , < ( ) ( )| '_`\ /'__`\
| ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )( ___/
(_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____)
$ sudo su -Çalışan yerel bir Kubernetes kümesini durdurmak için şunu çalıştırın:
$ minikube stopYerel bir Kubernetes kümesini silmek için şunu kullanın:
$ minikube deleteKubernetes, bir web paneli ile birlikte gelir ve
$ minikube addons list
...
|-----------------------------|----------|--------------|--------------------------------|
| ADDON NAME | PROFILE | STATUS | MAINTAINER |
|-----------------------------|----------|--------------|--------------------------------|
| ambassador | minikube | disabled | 3rd party (Ambassador) |
| auto-pause | minikube | disabled | minikube |
| cloud-spanner | minikube | disabled | Google |
| csi-hostpath-driver | minikube | disabled | Kubernetes |
| dashboard | minikube | disabled | Kubernetes |
| default-storageclass | minikube | enabled ✅ | Kubernetes |
| efk | minikube | disabled | 3rd party (Elastic) |
| freshpod | minikube | disabled | Google |
| gcp-auth | minikube | disabled | Google |
| gvisor | minikube | disabled | minikube |
| headlamp | minikube | disabled | 3rd party (kinvolk.io) |
| helm-tiller | minikube | disabled | 3rd party (Helm) |
| inaccel | minikube | disabled | 3rd party (InAccel |
| | | | [[email ]) |
| ingress | minikube | disabled | Kubernetes |
| ingress-dns | minikube | disabled | minikube |
| inspektor-gadget | minikube | disabled | 3rd party |
| | | | (inspektor-gadget.io) |
| istio | minikube | disabled | 3rd party (Istio) |
| istio-provisioner | minikube | disabled | 3rd party (Istio) |
| kong | minikube | disabled | 3rd party (Kong HQ) |
| kubeflow | minikube | disabled | 3rd party |
| kubevirt | minikube | disabled | 3rd party (KubeVirt) |
| logviewer | minikube | disabled | 3rd party (unknown) |
| metallb | minikube | disabled | 3rd party (MetalLB) |
| metrics-server | minikube | disabled | Kubernetes |
| nvidia-device-plugin | minikube | disabled | 3rd party (NVIDIA) |
| nvidia-driver-installer | minikube | disabled | 3rd party (Nvidia) |
| nvidia-gpu-device-plugin | minikube | disabled | 3rd party (Nvidia) |
| olm | minikube | disabled | 3rd party (Operator Framework) |
| pod-security-policy | minikube | disabled | 3rd party (unknown) |
| portainer | minikube | disabled | 3rd party (Portainer.io) |
| registry | minikube | disabled | minikube |
| registry-aliases | minikube | disabled | 3rd party (unknown) |
| registry-creds | minikube | disabled | 3rd party (UPMC Enterprises) |
| storage-provisioner | minikube | enabled ✅ | minikube |
| storage-provisioner-gluster | minikube | disabled | 3rd party (Gluster) |
| storage-provisioner-rancher | minikube | disabled | 3rd party (Rancher) |
| volumesnapshots | minikube | disabled | Kubernetes |
| yakd | minikube | disabled | 3rd party (marcnuri.com) |
|-----------------------------|----------|--------------|--------------------------------|Bir modülü etkinleştirmek için şu komutu kullanın:
minikube addons enable <module>Örnek :
$ minikube addons enable portainer
! portainer is a 3rd party addon and is not maintained or verified by minikube maintainers, enable at your own risk.
! portainer does not currently have an associated maintainer.
- Using image docker.io/portainer/portainer-ce:2.15.1
* The 'portainer' addon is enabledVarsayılan tarayıcınızda doğrudan açmak için şunu kullanın:
$ minikube dashboardGösterge tablosunun URL'sini almak için
$ minikube dashboard --url
http://192.168.39.117:30000Favori tarayıcınızda URL'yi açarak Kubernetes Dashboard'a erişin. Daha fazla bilgi için bakınız:
- Hello Minikube Serisi: https://kubernetes.io/docs/tutorials/stateless-application/hello-minikube/
- Yeni başlayanlar için Minikube rehberleri şurada mevcuttur: https://kubernetes.io/docs/getting-started-guides/minikube/
Kubernetes hakkında daha fazla rehber:
- Pod’ları Kubernetes Kontrol Düzlemi (Master) Düğümlerine Zamanla
- Yeni Kubernetes Worker Node'un var olan bir kümeye eklenmesi
- Ansible ve Calico CNI ile CentOS Üzerinde Kubernetes Kümesi Kurulumu
- Metrics Sunucusunu Kubernetes Kümesine Dağıt
- Kubernetes kubeadm tarafından kullanılan konteyner görüntülerini manuel olarak çekin
- Kubernetes Kümesi Üzerinde Helm 3 Kurulumu ve Kullanımı