GNU/Linux >> Znalost Linux >  >> Linux

Začínáme s OKD na ploše Linuxu

OKD je open source upstream komunitní edice kontejnerové platformy OpenShift společnosti Red Hat. OKD je platforma pro správu a orchestraci kontejnerů založená na Dockeru a Kubernetes.

OKD je kompletní řešení pro správu, nasazení a provoz kontejnerových aplikací, které (kromě funkcí poskytovaných Kubernetes) zahrnuje snadno použitelné webové rozhraní, nástroje pro automatizované sestavování, možnosti směrování a funkce pro monitorování a agregaci protokolů.

OKD nabízí několik možností nasazení zaměřených na různé požadavky s jedním nebo více master uzly, funkcemi vysoké dostupnosti, protokolováním, monitorováním a dalšími. Klastry OKD můžete vytvářet tak malé nebo velké, jak potřebujete.

Linuxové kontejnery

  • Co jsou kontejnery systému Linux?
  • Úvod do terminologie kontejnerů
  • Stáhnout:Containers Primer
  • Operátoři Kubernetes:Automatizace platformy pro orchestraci kontejnerů
  • eKniha:Vzory Kubernetes pro navrhování cloudových nativních aplikací
  • Co je Kubernetes?

Kromě těchto možností nasazení nabízí OKD způsob, jak vytvořit lokální all-in-one cluster na vlastním počítači pomocí oc nástroj příkazového řádku. Je to skvělá volba, pokud chcete OKD vyzkoušet lokálně, aniž byste museli vynakládat prostředky na vytvoření většího víceuzlového clusteru, nebo pokud chcete mít na svém počítači lokální cluster jako součást vašeho workflow nebo vývojového procesu. V tomto případě můžete vytvořit a nasadit aplikace lokálně pomocí stejných rozhraní API a rozhraní, která jsou potřebná k nasazení aplikace ve větším měřítku. Tento proces zajišťuje bezproblémovou integraci, která zabraňuje problémům s aplikacemi, které fungují v prostředí vývojáře, ale ne v produkci.

Tento tutoriál vám ukáže, jak vytvořit cluster OKD pomocí oc cluster up v krabici s Linuxem.

1. Nainstalujte Docker

Oc cluster up vytvoří místní cluster OKD na vašem počítači pomocí kontejnerů Docker. Abyste mohli tento příkaz použít, musíte mít na svém počítači nainstalovaný Docker. Pro OKD verze 3.9 a novější je minimální doporučená verze Docker 1.13. Pokud ve vašem systému není nainstalován Docker, nainstalujte jej pomocí správce distribučních balíčků. Například na CentOS nebo RHEL nainstalujte Docker pomocí tohoto příkazu:

$ sudo yum install -y docker  

Na Fedoře použijte dnf:

$ sudo dnf install -y docker  

Tím se nainstaluje Docker a všechny požadované závislosti.

2. Konfigurace nezabezpečeného registru Docker

Jakmile máte Docker nainstalovaný, musíte jej nakonfigurovat tak, aby umožňoval komunikaci s nezabezpečeným registrem na adrese 172.30.0.0/16. Tento nezabezpečený registr bude později nasazen s vaším lokálním clusterem OKD.

V systému CentOS nebo RHEL upravte soubor /etc/docker/daemon.json přidáním těchto řádků:

{
        "insecure-registries":["172.30.0.0/16"]
}

Na Fedoře upravte soubor /etc/containers/registries.conf přidáním těchto řádků:

[registries.insecure]
registry =['172.30.0.0/16']

3. Spusťte Docker

Před spuštěním Dockeru vytvořte systémovou skupinu s názvem docker a přiřaďte tuto skupinu svému uživateli, abyste mohli spouštět příkazy Dockeru se svým vlastním uživatelem, aniž byste potřebovali root nebo sudo přístup. To vám umožní vytvořit váš cluster OKD pomocí vlastního uživatele.

Toto jsou například příkazy k vytvoření skupiny a jejímu přiřazení k mému místnímu uživateli ricardo :

$ sudo groupadd docker
$ sudo usermod -a -G docker ricardo

Abyste viděli nové přidružení skupiny, musíte se odhlásit a znovu přihlásit. Po opětovném přihlášení spusťte id a ujistěte se, že jste členem dockeru skupina:

$ id
uid=1000(ricardo) gid=1000(ricardo) groups=1000(ricardo),10(kolo),1001(docker)
context=unconfined_u:unconfined_r:unconfined_t:s0 -s0:c0.c1023

Nyní spusťte a povolte démona Docker takto:

$ sudo systemctl spustit docker
$ sudo systemctl povolit docker
Vytvořen symbolický odkaz z /etc/systemd/system/multi-user.target.wants/docker.service do /usr/lib/systemd/ system/docker.service.

Ověřte, zda je Docker spuštěn:

Verze dockeru $
Klient:
 Verze:        1.13.1
 Verze rozhraní API:    1.26
 Verze balíčku:docker-1.13.1-75.git8633870.el7.centos. x86_64
 Přejít verzi:     go1.9.4
 Git commit:     8633870/1.13.1
 Vytvořeno:          Pá 28. září 19:45:08 2018/ 6. 2018: 04. Aru br />
Server:
 Verze:        1.13.1
 Verze rozhraní API:    1.26 (minimální verze 1.12)
 Verze balíčku:docker-1.13.1-75.git8633870.el7. centos.x86_64
 Přejít na verzi:     go1.9.4
 Git commit:     8633870/1.13.1
 Vytvořeno:          Pá 28. září 28. září 19:45:08 / 201. amd64
 Experimentální:   false

Ujistěte se, že byla povolena možnost nezabezpečeného registru spuštěním docker info a hledáte tyto řádky:

$ docker info
... Přeskakování dlouhého výstupu ...
Nezabezpečené registry:
 172.30.0.0/16
 127.0.0.0/8

4. Otevřete porty brány firewall

Dále otevřete porty firewallu, aby vaše kontejnery OKD mohly komunikovat s hlavním API. Ve výchozím nastavení mají některé distribuce povolený firewall, který blokuje potřebnou konektivitu z kontejnerů OKD na master API. Pokud má váš systém povolenou bránu firewall, musíte přidat pravidla pro povolení komunikace na portech 8443/tcp pro hlavní API a 53/udp pro překlad DNS v podsíti Docker bridge.

Pro CentOS, RHEL a Fedoru můžete použít firewall-cmd nástroj příkazového řádku pro přidání pravidel. Pro jiné distribuce můžete použít dodaný správce brány firewall, jako je UFW nebo iptables.

Před přidáním pravidel brány firewall získejte adresu síťové podsítě mostu Docker takto:

$ docker network inspect bridge | grep Subnet
                    "Podsíť":"172.17.0.0/16",

Povolte pravidla brány firewall pomocí této podsítě. Pro CentOS, RHEL a Fedoru použijte firewall-cmd pro přidání nové zóny:

$ sudo firewall-cmd --permanent --new-zone okdlocal
úspěch

Zahrňte adresu podsítě, kterou jste získali dříve, jako zdroj pro novou zónu:

$ sudo firewall-cmd --permanent --zone okdlocal --add-source 172.17.0.0/16
úspěch

Dále přidejte požadovaná pravidla do okdlocal zóna:

$ sudo firewall-cmd --permanent --zone okdlocal --add-port 8443/tcp
úspěch
$ sudo firewall-cmd --permanent --zone okdlocal --add-port 53 /udp
úspěch
$ sudo firewall-cmd --permanent --zone okdlocal --add-port 8053/udp
úspěch

Nakonec znovu načtěte firewall, abyste povolili nová pravidla:

$ sudo firewall-cmd --reload
úspěch

Ujistěte se, že platí nová zóna a pravidla:

$ sudo firewall-cmd --zone okdlocal --list-sources
172.17.0.0/16
$ sudo firewall-cmd --zone okdlocal --list-ports
8443/ tcp 53/udp 8053/udp

Váš systém je připraven ke spuštění clusteru. Je čas stáhnout si klientské nástroje OKD.

5. Stáhněte si klientské nástroje OKD

Nasadit lokální cluster OKD pomocí oc , je třeba si stáhnout balíček klientských nástrojů OKD. U některých distribucí, jako je CentOS a Fedora, lze tento balíček stáhnout jako RPM z oficiálních repozitářů. Upozorňujeme, že tyto balíčky mohou následovat cyklus aktualizace distribuce a obvykle se nejedná o nejnovější dostupnou verzi.

Pro tento tutoriál si stáhněte klientský balíček OKD přímo z oficiálního úložiště GitHub, abyste získali nejnovější dostupnou verzi. V době psaní tohoto článku se jednalo o OKD v3.11.

Přejděte na stránku stahování OKD, kde najdete odkaz na nástroje OKD pro Linux, a poté si jej stáhněte pomocí wget :

$ cd ~/Downloads/
$ wget https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux -64bit.tar.gz

Dekomprimujte stažený balíček:

$ tar -xzvf openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz  

A konečně, aby bylo snazší používat oc příkaz v celém systému, přesuňte jej do adresáře obsaženého ve vaší $PATH variabilní. Dobré umístění je /usr/local/bin :

$ sudo cp openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit/oc /usr/local/bin/ 

Jedna z nejhezčích funkcí oc příkaz je, že je to statická jediná binární. Chcete-li jej používat, nemusíte jej instalovat.

Zkontrolujte, že oc příkaz funguje:

Verze $ oc
oc v3.11.0+0cbc58b
kubernetes v1.11.0+d4cacc0
funkce:Basic-Auth GSSAPI Kerberos SPNEGO

6. Spusťte svůj OKD cluster

Jakmile máte všechny předpoklady na místě, spusťte svůj lokální cluster OKD spuštěním tohoto příkazu:

$ oc cluster up 

Tento příkaz se připojí k vašemu místnímu démonu Docker, stáhne všechny požadované obrázky z Docker Hub a spustí kontejnery. Při prvním spuštění trvá dokončení několik minut. Po dokončení se zobrazí tato zpráva:

... Přeskočení dlouhého výstupu ...

Server OpenShift spuštěn.

Server je přístupný přes webovou konzoli na adrese:
    https://127.0 .0.1:8443

Jste přihlášeni jako:
    Uživatel:    vývojář
    Heslo:

Pro přihlášení jako správce:
    oc přihlášení -u system:admin

Vstupte do webové konzole OKD pomocí prohlížeče a přejděte na https://127.0.0.1:8443:

Z příkazového řádku můžete zkontrolovat, zda cluster běží, zadáním tohoto příkazu:

Stav klastru $ oc
Adresa URL webové konzoly:https://127.0.0.1:8443/console/

Konfigurace je v hostitelském adresáři
Svazky jsou v hostitelském adresáři
Trvalé svazky jsou v hostitelském adresáři /home/ricardo/openshift.local.clusterup/openshift.local.pv
Při zničení clusteru budou data zahozena

Můžete také ověřit, že váš cluster funguje, když se přihlásíte jako system:admin uživatele a kontrolu dostupných uzlů pomocí oc nástroj příkazového řádku:

$ oc login -u system:admin
Přihlášeno do „https://127.0.0.1:8443“ jako „system:admin“ pomocí stávajících přihlašovacích údajů.

Máte přístup k následující projekty a lze mezi nimi přepínat pomocí 'oc project ':

    default
    kube-dns
    kube-proxy
    kube-public
    kube-system
  * myproject
    openshift
    openshift-apiserver
    openshift-controller-manager
    openshift-core-operators
    openshift-infra
    openshift-node
    openshift-service-cert-signer
    openshift-web-console

Pomocí projektu "myproject".

$ oc získat uzly
JMÉNO        STAV    ROLE     VĚK       VERZE
localhost   Připraveno        52m       v1.11.0+d4cacc0

Protože se jedná o místní cluster typu vše v jednom, uvidíte pouze localhost v seznamu uzlů.

7. Smoke-test your cluster

Nyní, když je spuštěn váš lokální cluster OKD, vytvořte testovací aplikaci, abyste jej otestovali. Použijte OKD k vytvoření a spuštění ukázkové aplikace, abyste měli jistotu, že různé komponenty fungují.

Začněte přihlášením jako vývojář uživatel:

$ oc login -u developer
Přihlášeno do „https://127.0.0.1:8443“ jako „vývojář“ pomocí stávajících přihlašovacích údajů.

Na tomto serveru máte jeden projekt:"myproject"

Použití projektu "myproject".

Jste automaticky přiřazeni k novému prázdnému projektu s názvem myproject . Vytvořte ukázkovou aplikaci PHP založenou na existujícím úložišti GitHub, jako je tato:

$ oc new-app php:5.6~https://github.com/rgerardi/ocp-smoke-test.git 
--> Nalezeno obrázek 92ed8b3 (5 měsíců starý) ve streamu obrázků "openshift/ php" pod značkou "5.6" pro "php:5.6"

    Apache 2.4 s PHP 5.6
    -------------------- ---
    PHP 5.6 dostupné jako kontejner je základní platforma pro vytváření a spouštění různých aplikací a rámců PHP 5.6. PHP je skriptovací jazyk vestavěný do HTML. PHP se snaží vývojářům usnadnit psaní dynamicky generovaných webových stránek. PHP také nabízí integrovanou databázovou integraci pro několik komerčních i nekomerčních systémů pro správu databází, takže vytvoření webové stránky s podporou databáze pomocí PHP je poměrně jednoduché. Nejběžnější použití kódování PHP je pravděpodobně jako náhrada za CGI skripty.

    Tagy:builder, php, php56, rh-php56

    * Zdrojové sestavení využívající zdrojový kód z https://github.com/rgerardi/ocp-smoke-test.git bude vytvořen
      * Výsledný obrázek bude přenesen do značky streamu obrázků "ocp-smoke-test:latest"
      * Použijte „start-build“ ke spuštění nového sestavení
    * Tento obrázek bude nasazen v konfiguraci nasazení „ocp-smoke-test“
    * Porty 8080/tcp, 8443/tcp budou vyrovnány zatížením podle služby "ocp-smoke-test"
      * Jiné kontejnery mají k této službě přístup prostřednictvím názvu hostitele "ocp-smoke-test"

--> Vytváření zdrojů ...
    imagestream. image.openshift.io „ocp-smoke-test“ vytvořen
    buildconfig.build.openshift.io „ocp-smoke-test“ vytvořen
    deploymentconfig.apps.openshift.io „ocp-smoke-test“ vytvořeno
    služba "ocp-smoke-test" vytvořena
--> Úspěch
    Naplánováno sestavení, použijte 'oc logs -f bc/ocp-smoke -test' ke sledování jeho průběhu.
    Aplikace není vystavena. Služby můžete vystavit vnějšímu světu provedením jednoho nebo více příkazů níže:
     'oc expose svc/ocp-smoke-test'
    Spusťte 'oc status' a zobrazte svou aplikaci.

OKD spustí proces sestavení, který naklonuje poskytnuté úložiště GitHub, zkompiluje aplikaci (v případě potřeby) a vytvoří potřebné obrázky. Proces sestavení můžete sledovat tak, že opíšete jeho protokol pomocí tohoto příkazu:

$ oc logs -f bc/ocp-smoke-test
Klonování "https://github.com/rgerardi/ocp-smoke-test.git" ...
        Zavázat:391a475713d01ab0afab700bab8a5cc2754 Vytvořit index.php)
        Autor:Ricardo Gerardi
        Datum:  Út 2. října 13:47:25 2018 -0400
Použití 172.30.1.1:50 openshift/php@sha256:f3c95020fa870fcefa7d1440d07a2b947834b87bdaf000588e84ef4a599c7546 jako obrázek tvůrce s2i
---> Instalace zdroje aplikace s-sh-coping /2>=>> 04:53:28     Zpracování další libovolné konfigurace httpd poskytnuté službou s2i ...
=> získávání zdrojů 00-documentroot.conf ...
=> získávání zdrojů 50-mpm-tuning.conf ...
=> získávání zdrojů 40-ssl-certs.sh ...
Vložení obrázku 172.30.1.1:5000/myproject/ocp-smoke-test:latest ...
Vložení 1/10 vrstev, Dokončeno 10%
Push úspěšné

Po dokončení procesu sestavení OKD automaticky spustí aplikaci spuštěním nového modulu na základě vytvořeného obrázku. Tento nový modul můžete vidět pomocí tohoto příkazu:

$ oc získat pody
NAME                     PŘIPRAVENO     STAV      RESTARTUJE   VĚK
ocp-smoke-test-1-build   0/1         Dokončeno  / 0 d- 7 po-> 6 1       Běh     0          7 s

Můžete vidět, že jsou vytvořeny dva lusky; první (se stavem Dokončeno) je modul použitý k sestavení aplikace. Druhým (se stavem Spuštěno) je samotná aplikace.

OKD navíc pro tuto aplikaci vytváří službu. Ověřte to pomocí tohoto příkazu:

$ oc získat službu
NAME             TYP        CLUSTER-IP       EXTERNAL-IP   PORT(S)             AGE
ocp-smoke-test    TC před>

Nakonec tuto službu zpřístupněte externě pomocí tras OKD, abyste měli k aplikaci přístup z místního prohlížeče:

$ oc vystavit svc ocp-smoke-test
route.route.openshift.io/ocp-smoke-test vystaven

$ oc získat trasu
NAME             HOST/PORT PATH      SLUŽBY         PORT       UKONČENÍ   WILDCARD
ocp-smoke-test   ocp-smoke-test-myproject.127.0.0.1.nip.io                                                                                                                              

Ověřte, že vaše nová aplikace běží, přejděte ve webovém prohlížeči na http://ocp-smoke-test-myproject.127.0.0.1.nip.io:

Stav své žádosti můžete také vidět po přihlášení do webové konzole OKD:

Další informace

Více informací o OKD naleznete na oficiálních stránkách, kde je i odkaz na dokumentaci OKD.

Pokud s OKD/OpenShift spolupracujete poprvé, můžete se prostřednictvím interaktivního vzdělávacího portálu naučit základy platformy, včetně toho, jak vytvářet a nasazovat kontejnerizované aplikace. Dalším dobrým zdrojem je oficiální kanál OpenShift YouTube.


Linux
  1. Začínáme s linuxovými firewally

  2. Začínáme s PostgreSQL na Linuxu

  3. Začínáme s SSH v Linuxu

  1. Začínáme s btrfs pro Linux

  2. Rady pro začátek s GNOME

  3. Začínáme s PiFlash:Spuštění Raspberry Pi v systému Linux

  1. Přizpůsobte si plochu Linuxu pomocí KDE Plasma

  2. Začněte s Luminou pro váš počítač se systémem Linux

  3. Přizpůsobte si plochu Linuxu pomocí FVWM