Juju Charms gebruiken om eenvoudig services in Ubuntu te implementeren
Een van de grootste voordelen van Ubuntu is de eenvoud van het APT-pakketsysteem. U vindt een desktopprogramma dat u zoekt, geeft een opdracht en het is klaar om te worden uitgevoerd. Voor server-side-applicaties installeert deze APT-installatie echter soms alleen de bestanden die u nodig hebt om het programma uit te voeren - u zult het programma (vaak een service of daemon) zelf moeten instellen en uitvoeren. Maar het juju- systeem heeft als doel om toegang tot server-gebaseerde programma's net zo eenvoudig te maken als die voor de desktop. Hier is hoe het te gebruiken.
Installatie en initiële set-up
Het opzetten van juju is een beetje meer betrokken dan, bijvoorbeeld, het installeren van een LAMP-stack met tasksel, omdat het is ontworpen voor cloud-omgevingen. Eerst moeten we juju en zijn afhankelijkheden installeren:
sudo apt-get installeren juju libvirt-bin lxc apt-cacher-ng libzookeeper-java dierenverzorger
Opmerking : hoewel er een versie van juju is in de Universe-bibliotheken voor Precise, heeft het team van "Juju-hackers" enkele PPA's met bijgewerkte versies. Ik zal de versie van de repositories gebruiken.
Zodra dit is voltooid, moet u een SSH-sleutel voor uw server genereren, als u die nog niet heeft:
ssh-keygen -t rsa
Ten slotte moet uw gebruiker een groep zijn die is gekoppeld aan de virtualisatie-daemon libvirtd :
sudo usermod -a -G libvirtd [je gebruikersnaam]
Dit komt omdat uw juju-omgeving feitelijk een virtuele Ubuntu-omgeving is binnen uw huidige machine. Vervolgens moet u het "bootstrap" -proces starten, waarbij deze virtuele omgeving wordt gedownload en geïnstalleerd:
juju bootstrap
Oops! We missen een configuratiebestand ... gelukkig heeft juju op zijn minst een voorbeeld voor ons gemaakt. Gebruik de gewenste teksteditor om het bestand ~ / .juju / environments.yaml aan te passen om het volgende te matchen:
standaard: wordpress omgevingen: wordpress: type: local admin-secret: [hier een unieke zin aanmaken] standaard-serie: precieze data-dir: / home / [uw gebruikersnaam] / [een map die u kiest]
Als u nu de server kunt uitschakelen, zorgt opnieuw opstarten ervoor dat alle services correct worden gestart. Laten we wat charmes gaan halen.
Charms installeren en uitvoeren
Zoals gezegd, Charms zijn vergelijkbaar met APT-pakketten, maar zijn ook gericht op alle dingen die moeten gebeuren om een service te laten draaien. We zullen hier een instantie van WordPress als voorbeeld implementeren met de volgende opdracht:
juju deploy wordpress
Nu moeten we naar het IP-adres van onze server kunnen gaan en kunnen bloggen ... we kunnen bevestigen dat WordPress wordt uitgevoerd met de volgende opdracht:
juju-status
Maar wacht, er is hier een fout! Dit komt omdat juju de afhankelijkheden niet automatisch verwerkt. WordPress vereist een MySQL-database om te werken en deze is niet automatisch geïnstalleerd. Laten we dit instellen:
juju deploy mysql
Nu moeten we de twee samen verbinden:
juju add-relation wordpress mysql
Ten slotte laten we het zichtbaar maken voor de wereld:
juju stelt wordpress bloot
Op dit punt is het moeilijkste deel van het proces: geduld . Hoewel deze opdrachten lijken te zijn voltooid, zal er eigenlijk een behoorlijk aantal dingen gebeuren op de achtergrond, met name de download, installatie en configuratie van de "virtuele" Ubuntu-omgeving. U ziet twee vermeldingen onder "services:" wanneer u het juju status
opgeeft, één genaamd "wordpress" (dit is de eigenlijke WordPress-instantie) en "mysql" (dit is de MySQL-instantie). Onder elke regel staat een "agent-status" -regel, die waarschijnlijk "in behandeling" zal zeggen. Je kunt ook horen dat je harde schijf karnt ... dat is OK, dat is gewoon een groot aantal pakketten die worden geïnstalleerd (bekijk de resultaten van ps ax
om te zien een deel van wat er gaande is).
Het volstaat om te zeggen dat je moet wachten tot beide dienstenlijsten " agent-status: gestart ." Blijf juju status
gebruiken om de voortgang te controleren. Zodra ze allebei zijn gestart, kun je je WordPress-installatie bekijken door het IP-adres te bezoeken dat wordt vermeld in de regel "public-address" van de uitvoer van juju status
(de mijne was http://10.0.3.66).