Co je Minikube?
Minikube byl vyvinut, aby uživatelům umožnil lokální spuštění Kubernetes. Když na svém počítači nainstalujete a spustíte Minikube, spustí uvnitř virtuálního počítače klastr Kubernetes s jedním uzlem.
Proč Minikube?
Minikube je určen jak pro nové uživatele, tak pro běžné vývojáře. Instalace Kubernetes je časově náročná a náročná na zdroje. S Minikube získáte ve svém osobním počítači menší pracovní verzi klastru Kubernetes s jedním uzlem.
Pokud se učíte, dává vám to možnost pohrát si a porozumět základním pojmům. Jakmile se stanete běžným praktikem, můžete Minikube stále používat k lokálnímu testování vašich nápadů, než je nasadíte do svého datového centra nebo serveru. Může fungovat jako vaše testovací prostředí.
Co můžete dělat s Minikube?
Minikube je skvělé pro učení Kubernetes a testování vašich konceptů a nápadů během vývoje.
Předpoklad
I když to pro tento kurz není nutné, základní znalosti kontejnerů, jako je Docker, jsou užitečné k pochopení Minikube / Kubernetes.
Základní definice konceptů Minikube / Kubernetes
Abyste mohli používat Minikube, musíte porozumět základním myšlenkám popsaným níže. Definice se nesnaží tuto technologii vysvětlit do hloubky. Poskytuje vám pouze pochopení základních konceptů Kubernetes. V této diskusi znamenají Kubernetes a Minikube totéž
- Kontejner - V Minikube se kontejnery používají jako stavební kameny pro vytváření aplikací.
- Lusk - Pod je kolekce jednoho nebo více kontejnerů, které sdílejí úložiště a síťové prostředky. Pody obsahují definici toho, jak by měly být kontejnery spuštěny v Minikube. Minikube používá tyto definice k udržení potřebných zdrojů. Například můžete definovat, že potřebujete dva lusky. Pokud během spuštění padne pod, Minikube automaticky vystřelí nový pod.
- Servis - Protože lusky jsou vyměnitelné, Minikube potřebuje abstrakční vrstvu, aby byla interakce mezi různými lusky bezproblémová. Pokud například zemře pod a vytvoří se nový pod, uživatelé aplikace by se neměli zabývat podrobnostmi o síťových adresách a souvisejících problémech. Služby jsou obálky kolem lusků, které vytvářejí úrovně abstrakce.
- Mistr - Master koordinuje klastr. Je to jako mozek operace.
- Uzel - Pracovníci, kteří provozují lusky.
- kubectl - Je to rozhraní příkazového řádku pro spouštění příkazů v klastru Kubernetes.
Abyste lépe porozuměli tomu, jak tyto koncepty zapadají do sebe v Kubernetes, podívejte se na toto krátké video:
Jak nainstalovat Minikube
Vaše hardwarové potřeby mají v systému BIOS vašeho počítače povolenou virtualizaci. Dobrou zprávou je, že nejmodernější stroj to již má zapnuté.
Zde jsou kroky k instalaci Minkube na váš počítač:
- Nainstalujte VirtualBox
- Nainstalujte kubectl
- Nainstalujte si Minikube
Jednoduchý příklad nasazení na Minikube
Jakmile máte vše nainstalované, můžete Minikube spustit pomocí následujícího příkazu:
$ minikube startK dispozici je novější verze minikube (v0.28.0). Stáhněte si jej zde:
https: // github.com / kubernetes / minikube / releases / tag / v0.28.0
Chcete-li toto oznámení deaktivovat, spusťte následující:
konfigurační sada minikube WantUpdateNotification false
Spouštění místních Kubernetes v1.9.0 shluk…
Spouštění VM ..
Získání adresy IP virtuálního počítače ..
Přesouvání souborů do klastru…
Nastavení certifikátů…
Připojování ke clusteru…
Nastavení kubeconfig…
Spouštění součástí clusteru…
Kubectl je nyní nakonfigurován pro použití clusteru.
Načítání obrázků v mezipaměti z konfiguračního souboru.
Při prvním spuštění bude chvíli trvat, než vypálíte Minikube, protože pro vás vytvoří virtuální počítač. Můžete si zkontrolovat VirtualBox, abyste viděli, jak se virtuální stroj Minikube točí:
Později, když restartujete Minikube, bude to rychlejší.
Ke kontrole stavu Minikube můžete použít následující příkaz:
stav minikube $minikube: Běží
cluster: Běží
kubectl: Správně nakonfigurováno: ukazuje na minikube-vm na 192.168.99.100
Skvělou vlastností Minikube je palubní deska. Na palubní desce můžete vidět vše, co se v Minikube děje. Prostředky ve vašem clusteru můžete také ovládat z řídicího panelu. Pomocí následujícího příkazu spustíte řídicí panel ve výchozím prohlížeči:
$ minikube přístrojová deskaOtevírá se řídicí panel kubernetes ve výchozím prohlížeči…
Takto by měl řídicí panel vypadat:
Nasadíme aplikaci NGINX na Minikube. Tady jsou kroky:
1. Vytvořte pod:
$ kubectl spustit mynginxapp --image = nginx: nejnovější --port = 80nasazení „mynginxapp“ vytvořeno
2. Vytvořit službu:
$ kubectl vystavuje nasazení mynginxapp --type = NodePortslužba „mynginxapp“ vystavena
3. Zkontrolujte svůj pod a stav služby:
$ kubectl získat luskySTAV JMÉNA PŘIPRAVENO VĚC RESTARTŮ
mynginxapp-6d64b788cc-j5crt 1/1 Běh 0 4m
$ kubectl získat služby
TYP JMÉNA CLUSTER-IP VĚK EXTERNÍ IP IP VĚK
kubernetes ClusterIP 10.96.0.1
mynginxapp NodePort 10.97.47.26
Můžete vidět, že pod a služba běžící na mynginxapp.
4. Zjistíme, na jaké adrese a portu Minikube běží mynginxapp:
$ Minikube služba mynginxapp --URLhttp: // 192.168.99.100: 30964
Pokud přejdete na vrácenou adresu URL (v tomto případě je to http: // 192.168.99.100: 30964) ve vašem prohlížeči byste měli vidět spuštěnou službu NGINX.
5. Znovu zkontrolujte palubní desku:
$ Minikube přístrojová deskaOtevírá se panel kubernetes ve výchozím prohlížeči…
6. Odstraňte službu a pod a zastavte Minikube
$ kubectl smazat službu mynginxappslužba „mynginxapp“ smazána
$ kubectl smazat nasazení mynginxapp
nasazení „mynginxapp“ odstraněno
$ Minikube stop
Zastavení místního klastru Kubernetes…
Stroj se zastavil.
Shrnutí příkladu
V tomto příkladu jste nejprve nasadili NGINX pod s názvem mynginxapp. Image NGINX byl stažen z Docker Hubu. Pak jste vytvořili službu na podporu modulu. Službu jste viděli z prohlížeče. Nakonec jste smazali modul a službu a poté zastavili Minikube.
Podrobnější příklad Minikube
Podívejte se na naše Kubernetes: Začínáme článek, který obsahuje podrobnější příklad Minikube.
Kvíz - otestujte své znalosti
- Můžete vysvětlit koncept kontejnerů, lusků a služeb?
- Jak kontejnery, pody a služby vzájemně spolupracují?
- Co je kubectl?
- Kolik klastrů Kubernetes můžete na Minikube spustit?
Další studie
- https: // kubernetes.io / docs / tutorials / hello-minikube
- https: // kubernetes.io / dokumenty / domov
- https: // www.digitalocean.com / community / tutorials / an-Introduction-to-Kubernetes