Sådan Setup Rkt Containere på Fedora 24

Du har måske hørt om CoreOS og dets Rocket-containere. Det er konkurrenten til docker, men det har ikke set meget brug uden for CoreOS. Installation på anden Linux distribution er nogle gange udfordrende, især på CentOS på grund af gamle kerner, der har problemer, når du kører rkt. I denne artikel skal vi bruge raketbeholdere i Fedora Workstation på min bærbare computer. Pakke til nem installation er ikke tilgængelig, så vi skal lave en manuel installation.

Opsætning af rkt

Lad os først downloade rkt:

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

downloading rkt

Uddrag det derefter:

tjære xzvf rkt-v1.10.1.tar.gz

Derefter kopierer vi cd'en til dir og kopierer den rkt binære til / usr / bin

cd rkt-v1.10.1

cp rkt / usr / bin /

Så flytter vi til oprettelse af en gruppe og tilføjer din ikke-root-bruger til en gruppe. Jeg vil tilføje mig selv, så du bliver nødt til at ændre "miki" til dit faktiske brugernavn. Dette giver ikke alle rettigheder til ikke-root-brugere som i docker, men det vil kun tillade nemmere billedstyring og overvågning. For de fleste kommandoer behøver du stadig sudo eller root.

groupadd rkt

gpasswd -a miki rkt && newgrp rkt

Så skal vi oprette datakatalog til / var / lib / rkt og heldigvis er der godt script til det, distribueret med rkt.

./scripts/setup-data-dir.sh

Nu skal vi kopiere stage1 billeder

mkdir -p / usr / lib / rkt / stage1-billeder

cp stage1 - *. aci / usr / lib / rkt / stage1-billeder /

Så kopierer vi systemd-tjenester. Bemærk, at rkt faktisk ikke har længe kørende service, der skal startes af systemd. Tjenester, som vi kopierer i følgende kommandoer, er til billedbehandling og affaldssamling.

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 / system /

systemctl daemon-reload

Vi skal også bygge et billede, så vi skal downloade og installere acbuild

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

tjære xzvf acbuild-v0.4.0.tar.gz

cd acbuild-v0.4.0 /

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

SElinux spiller ikke godt med rkt, så vi kan sætte det i permissive mode

sed -i "s / SELINUX = håndhævelse / SELINUX = permissive / '/ etc / selinux / config
setenforce Tilladelse

Efter dette skal vi have rkt oprettet.

Brug rkt til at installere httpd

Vi skal bruge letvægts Alpine Linux for at afprøve rkt applikationsbeholdere. Vi skal implementere Apache httpd.

nano image-build

Og indsæt derefter dette script der

#! / usr / bin / env acbuild-script

# Start bygningen med en tom ACI
begynde

# Navn ACI
set-name example.com/apache

# Baseret på alpine
dep tilføj quay.io/coreos/alpine-sh

# Installer apache
løbe - apk opdatering
løbe - apk tilføj apache2

Kør - / bin / sh -c "echo" Servernavn localhost '>> /etc/apache2/httpd.conf "

# Tilføj en port til http-trafik på port 80
port tilføj http tcp 80

# Tilføj et monteringspunkt for filer, der skal serveres
mount tilføj html / var / www / localhost / htdocs

# Kør apache og forbliver i forgrunden
set-exec - / bin / sh-c "chmod 755 / && / usr / sbin / httpd -D FORGROUND"

# Skriv resultatet
write-overwrite apache-latest-linux-amd64.aci

Derefter vil vi tilføje den eksekverbare bit til scriptet

chmod + x image-build

Og så løber vi scriptet

./image-build

bygning billede

Endelig kan vi køre vores container og kontrollere, om vi har server kørende.

rkt run -dns 8.8.8.8-net = vært apache-nyeste-linux-amd64.aci -insecure-options = billede

Det er vigtigt, at denne kommando køres i samme dir, hvor billedet er oprettet, ellers vil ikke arbejde. Lad os så slukke browseren og gå til localhost:

Apache destinationsside

Vi ser, at det virker, men Alpine Linux på grund af at være letvægt spiller ikke sædvanlig Apache destinationsside.

Udforskning af skallen og sletning af containere

Hvis du ikke vil køre apache og kun vil bruge shell i container, kan du prøve denne kommando i en anden container:

rkt run -interactive -dns 8.8.8.8 -net = vært quay.io/coreos/alpine-sh

Det vil give dig skal til at arbejde med. I stedet alpine kan du nemt køre fedora også. Udfør kun denne kommando, så du får skallen inde i fedora-beholderen:

rkt run -dns 8.8.8.8 -interactive -net = vært docker: // fedora -insecure-options = image -exec = / bin / bash

Når du er færdig med at arbejde med containere, vil du normalt slette dem, vi bruger affaldsopsamler, kommando gc. Denne kommando har grace periode på 30 minutter og på CoreOS kører den automatisk, men vi vil slette alt nu. Så vi vil bruge kommandoen med dette flag:

rkt gc-grace-periode = 0s

affaldssamling med rkt

Dette bevæger lukkede beholdere til affald, og efter at graceperioden udløber, slettes det. Men sinus vores grace periode er sat til nul sekunder, det gør alt på en gang.

Konklusion

Så vi har nu grundlæggende opsætning og forståelse af rkt containere på Fedora 24. Raketbeholdere kan også bruges med Kubernetes, eller de kan opstilles på mange forskellige måder. For detaljerede dokumentation, besøge denne side. Sørg for at tjekke alle de nye udviklinger, da Rkt er hurtig teknologi og får nye funktioner regelmæssigt. Tak for at læse, det er alt for denne artikel.

Stillingen Sådan Setup Rkt Containere på Fedora 24 dukkede først på LinOxide.

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.