Jak nainstalovat kontejnery rkt na Fedora 24

Možná jste slyšeli o CoreOSu a jeho raketových kontejnerech. Je to soutěžitel na dockeru, ale neviděl mnoho využití mimo CoreOS. Instalace na jinou distribuci Linuxu je někdy náročná, zejména na CentOSu kvůli starému jádru, které má problémy při spuštění rkt. V tomto článku budeme používat rackové kontejnery ve Fedora Workstation na svém notebooku. Balíček pro snadnou instalaci není k dispozici, takže budeme provádět ruční instalaci.

Nastavení rkt

Umožňuje nejprve stáhnout rkt:

wget https://github.com/coreos/rkt/releases/download/v1.10.1/rkt-v1.10.1.tar.gz

stahování rkt

Potom jej extrahujte:

tar xzvf rkt-v1.10.1.tar.gz

Dále jsme se dostali do adresáře kopírování rkt binary do / usr / bin

cd rkt-v1.10.1

cp rkt / usr / bin /

Poté se přesuneme na vytvoření skupiny a přidání vašeho uživatele bez uživatele root do skupiny. Přidaji se, takže budete muset změnit "miki" na vaše skutečné uživatelské jméno. To neposkytuje všechna oprávnění uživateli, který není uživatelem root, jako v doku, ale umožní pouze snadnější správu a sledování snímků. U většiny příkazů byste ještě potřebovali sudo nebo root.

groupadd rkt

gpasswd -a miki rkt && newgrp rkt

Pak musíme nastavit adresář dat do adresáře / var / lib / rkt a naštěstí tam je dobrý skript, který je distribuován s rkt.

./scripts/setup-data-dir.sh

Teď potřebujeme kopírovat obrázky stage1

mkdir -p / usr / lib / rkt / stage1-obrázky

cp stage1 - * .csci / usr / lib / rkt / stage1-images /

Pak zkopírujeme systémové služby. Všimněte si, že rkt ve skutečnosti nemá dlouhou běžící službu, kterou má systémd spustit. Služby, které kopírujeme v následujících příkazech, se týkají správy obrázků a sběru odpadků.

cp init / systemd / tmpfiles.d / rkt.conf /usr/lib/tmpfiles.d/

cp init / systemd / rkt-metadata. * / usr / lib / systemd / system /

cp init / systemd / rkt-gc. * / usr / lib / systemd / systém /

systemctl daemon-reload

Budeme také budovat obraz, takže musíme stáhnout a nainstalovat Acbuild

wget https://github.com/appc/acbuild/releases/download/v0.4.0/acbuild-v0.4.0.tar.gz

tar xzvf acbuild-v0.4.0.tar.gz

cd acbuild-v0.4.0 /

cp acbuild-acrobat-chroot acbuild-script / usr / bin /

SElinux nehraje dobře s rkt, takže umožňuje nastavit do permisivního režimu

sed-i "/ SELINUX = vynucení / SELINUX = permisivní / '/ etc / selinux / config
setenforce Přípustné

Po tom bychom měli mít rkt nastavit.

Použití rkt k nasazení httpd

Budeme používat lehký alpínský Linux, abychom vyzkoušeli aplikační kontejnery rkt. Budeme nasazovat Apache httpd.

nano image-build

A pak vložte tento skript

skript #! / usr / bin / env acbuild

# Spusťte sestavu s prázdným ACI
začít

# Název ACI
set-name example.com/apache

# Na základě alpských
dep přidat quay.io/coreos/alpine-sh

# Nainstalujte apache
run - apk update
run - apk přidejte apache2

spustit - / bin / sh -c "echo" Název_serveru localhost '>> /etc/apache2/httpd.conf "

# Přidejte port pro přenos http na portu 80
port přidat http tcp 80

# Přidejte bod připojení pro zobrazování souborů
mount přidejte html / var / www / localhost / htdocs

# Spusťte apache a zůstaňte v popředí
set-exec - / bin / sh -c "chmod 755 / && / usr / sbin / httpd -D FOREGROUND"

# Napište výsledek
write-overwrite apache-nejnovější-linux-amd64.aci

Pak do skriptu přidáme spustitelný bit

chmod + x image-build

A pak spustíme skript

./image-build

obraz budovy

Nakonec můžeme spustit náš kontejner a zkontrolovat, zda máme server spuštěný.

rkt spustit -dns 8.8.8.8 -net = hostitel apache-latest-linux-amd64.aci -insecure-options = image

Je důležité, aby byl tento příkaz spuštěn ve stejném adresáři, kde je vytvořen obrázek, jinak nebude fungovat. Umožňuje pak vypálit prohlížeč a přejít na localhost:

Vstupní stránka Apache

Vidíme, že to funguje, ale Alpine Linux kvůli tomu, že je odlehčený, nevydává běžnou vstupní stránku Apache.

Prozkoumání shellu a mazání kontejnerů

Pokud nechcete spustit apache a chcete pouze použít shell v kontejneru, můžete tento příkaz vyzkoušet v jiném kontejneru:

rkt run -interaktivní -dns 8.8.8.8 -net = host quay.io/coreos/alpine-sh

To vám dá shell, s nímž budete pracovat. Místo vysokohorské můžete snadno spustit i fedoru. Stačí spustit tento příkaz, abyste získali shell uvnitř kontejneru fedora:

rkt spustit -dns 8.8.8.8 -interaktivní -net = hostitelský docker: // fedora -insecure-options = image -exec = / bin / bash

Po dokončení práce s kontejnery byste je normálně chtěli smazat, takže používáme garbage collector, příkaz gc. Tento příkaz má dobu odkladu 30 minut a na programu CoreOS se spouští automaticky, ale chceme vše vymazat. Takže použijeme příkaz s tímto příznakem:

rkt gc-grace-period = 0

sběr odpadků s rkt

Toto přesune kontejnery do odpadků a poté po uplynutí doby odkladu vymaže. Ale sine naše doba odkladu je nastavena na nula vteřin, to všechno najednou.

závěr

Takže nyní máme základní nastavení a porozumění kontejnerům rkt na Fedora 24. Raketové kontejnery mohou být také použity s Kubernetes, nebo mohou být nastaveny mnoha různými způsoby. Pro detailní dokumentaci, navštívit tuto stránku. Nezapomeňte zkontrolovat všechny nové události, protože rkt je rychle se měnící technologie a pravidelně získává nové funkce. Děkujeme za čtení, to je vše pro tento článek.

Příspěvek Jak nainstalovat kontejnery rkt na Fedora 24 se objevil nejprve na LinOxide.

Napsat komentář

Tyto stránky používají Akismet k omezení spamu. Zjistěte, jak jsou vaše údaje komentářů zpracovávány.