Diese Anleitung zeigt wie man mit Juju eine Gruppe von Instanzen für eine Anwendung, z.B. WordPress, installiert. Wir zeigen auch wie ein Juju Environment installiert, konfiguriert und gestartet wird.

Als erstes benötig man eine Jumphost-Instanz auf der Juju installiert wird. Starten Sie diese wie im QuickStart Guide beschrieben. Wählen Sie das Image ubuntu-trusty-current. Nur in diesem Image können Sie später die aktuelle fehlerbereinigte Juju Version installieren.

Verbinden Sie sich zu dieser Jumphost-Instanz per SSH.

Installieren Sie Juju und erzeugen Sie einen individuellen SSH-Schlüssel:

sudo apt-get install juju-core
ssh-keygen -t rsa -b 2048

Generieren Sie die initiale Juju Konfigurationsdatei.

juju generate-config

Editieren Sie nun die Datei .juju/environments.yaml mit Ihrem bevorzugtem Editor und ändern Sie folgende Stellen.

default: amazon --> default: openstack
# region: --> region: RegionOne

Als nächstes erzeugen Sie die Meta Dateien. 05de2ea2-fcf1-499a-9d6c-e9a7a1464bc7 ist hier die Image ID die für die Instanzen benutzt werden soll. In diesem Beispiel ‘Ubuntu Precise 12.04.4’.

juju metadata generate-image -i 05de2ea2-fcf1-499a-9d6c-e9a7a1464bc7 -d .juju/
juju sync-tools

Wie in der Ausgabe zu lesen kann jetzt der Juju Bootstrap Prozess erfolgen.

juju bootstrap --metadata-source /home/ubuntu/.juju

Ist der Vorgang abgeschlossen, starten wir unsere Anwendung. In diesem Beispiel erzeugen wir eine WordPress Installation inklusive MySQL Datenbank.

juju deploy mysql
juju deploy wordpress
juju add-relation wordpress mysql
juju expose wordpress
juju status

Wenn der Befehl juju status zeigt, daß alle Services den Status agent-state: started haben, erreichen Sie Ihre WordPress Installation auf der angegebenen public-address IP-Adresse.

environment: openstack
machines:
"0":
agent-state: started
agent-version: 1.17.4.1
dns-name: 172.16.9.138
instance-id: e9624556-c92b-4acb-8c7c-efd873a29411
instance-state: ACTIVE
series: precise
hardware: arch=amd64 cpu-cores=1 mem=1024M root-disk=4096M
"1":
agent-state: started
agent-version: 1.17.4.1
dns-name: 172.16.9.140
instance-id: a1105c3b-af98-4b8a-8f2a-bd96a0cc82d7
instance-state: ACTIVE
series: precise
hardware: arch=amd64 cpu-cores=1 mem=1024M root-disk=4096M
"2":
agent-state: started
agent-version: 1.17.4.1
dns-name: 172.16.9.141
instance-id: 1bd2e2ce-4367-42d0-b152-cfce30ee5ccd
instance-state: ACTIVE
series: precise
hardware: arch=amd64 cpu-cores=1 mem=1024M root-disk=4096M
services:
mysql:
charm: cs:precise/mysql-36
exposed: false
relations:
cluster:
- mysql
db:
- wordpress
units:
mysql/0:
agent-state: started
agent-version: 1.17.4.1
machine: "1"
public-address: 172.16.9.140
wordpress:
charm: cs:precise/wordpress-21
exposed: true
relations:
db:
- mysql
loadbalancer:
- wordpress
units:
wordpress/0:
agent-state: started
agent-version: 1.17.4.1
machine: "2"
open-ports:
- 80/tcp
public-address: 172.16.9.141
zurück zur Übersicht