DC/OS wurde seitens Mesosphere (D2IQ) ab gekündigt. Dennoch kann es aus vielerlei Gründen hilfreich sein, eine MiniDCOS Umgebung lokal zu betreiben um für den Übergang der Migration patche zu entwickeln und zu testen. Die folgenden Schritte sollen dabei helfen, eine entsprechende Umgebung aufzubauen.
Als erstes benötigen wir eine Virtuelenv Umgebung für Python 3.6. Neue Versionen könnten funktionieren, haben wir jedoch nicht getestet.
cd ~/.virtualenv
virtualenv dcos --python=python3.6
pip3 install --user --upgrade git+https://github.com/dcos/dcos-e2e.git
Prüfen der Umgebung.
minidcos docker doctor
Erstellen des DCOS clusters.
wget https://downloads.dcos.io/dcos/stable/dcos_generate_config.sh
minidcos docker create ./dcos_generate_config.sh --agents 1 --variant oss
Die latest stable Version von dcos_generate_config.sh beinhaltet eine Inkompatiblität zu neueren Docker Versionen. Den
Workaround dafür haben wir in einem weiteren Schritt beschrieben. Um sich dies zu ersparen, haben wir eine entsprechende
dcos_generate_config.sh
erzeugt und hier
https://github.com/andreaspeters/dcos/releases/download/fix-mesos/dcos_generate_config.sh
bereitgestellt.
Nach dem erfolgreichen erstellen des Clusters, legen wir einen User mit einer EMail Adresse an welche bei Google oder Github registriert ist.
docker exec -it dcos-e2e-default-5edd0-master-0 /bin/bash
dcos-shell
dcos_add_user.py <EMAIL>
Als nächstes versuchen wir uns mit dem neuen Account anzumelden.
minidcos docker web
Da der Mesos Agent noch nicht läuft, müssen wir hier zunächst einen Bug in der Konfiguration entfernen.
docker exec -it dcos-e2e-default-5edd0-agent-0 /bin/bash
vi /opt/mesosphere/etc/mesos-slave-common
MESOS_ISOLATION=filesystem/linux,network/cni,cgroups/cpu,cgroups/mem,cgroups/blkio,cgroups/devices,disk/du,docker/runtime,volume/sandbox_path,volume/host_path,posix/rlimits,namespaces/pid,volume/csi,
Die MESOS_ISOLATION Zeile ist hierbei gegen die hier angegebene auszutauschen. Ist dies erfolgt, startet wenig später der Agent.
Da wir nun ein funktionierendes DCOS am laufen haben, benötigen wir als nächsten Schritt die CLI.
curl https://downloads.dcos.io/binaries/cli/linux/x86-64/dcos-1.12/dcos -o ~/.virtualenvs/dcos/bin/dcos
chmod +x ~/.virtualenvs/dcos/bin/dcos
Mit der CLI müssen wir uns zunächst am DCOS Cluster anmelden. Dies erfolgt via OpenID.
dcos cluster setup http://172.17.0.2
Die URL welche automatisch geöffnet wird, hat leider einen Fehler im redirect. Daher nutzen wir den nachfolgenden Link.
http://172.17.0.2/login?redirect_uri=urn:ietf:wg:oauth:2.0:oob
Nach der Übernahme des Authentication Tokens haben wir via CLI zugriff auf den Cluster.
> dcos node
Extracting "dcos-core-cli"...
HOSTNAME IP ID TYPE REGION ZONE
172.17.0.3 172.17.0.3 836d1d97-4c42-4feb-847e-979ec4502aad-S0 agent None None
master.mesos. 172.17.0.2 836d1d97-4c42-4feb-847e-979ec4502aad master (leader) None None