Es gibt verschiedene Use Cases, um schnell mal eine OpenShift Plattform zu starten. Sei es für eine erste Evaluation, Demonstration oder auch mal als fortgeschrittener User etwas auszuprobieren. Wenn man im Netz sucht, dann findet man viele verschiedene Arten OpenShift zu installieren:
- oc client utility
- minishift
- vagrant
- ansible playbooks
Wobei ich nur die ersten drei zu den „Schnell“ Installationen zählen würde. Die Installation per Ansible führt man für produktive Systeme durch. Gehen wir die einzelnen Varianten durch.
oc cluster up
Die oc cluster up
Methode unterstützt Linux, macOS, Windows und benötigt ein installiertes Docker. Es gibt genug ausführliche Dokus wie man Docker auf seinem jeweiligen System installiert. Hier nur ein Schnelldurchlauf auf einem CentOS basierten System:
$ sudo -i
# sudo yum -y install docker
# systemctl enable docker
Das oc tool wird eine lokale Docker Registry installieren, welches wir als „insecure“ registry im docker daemon konfigurieren müssen.
# cat << EOF >/etc/docker/daemon.json
{
"insecure-registries": [
"172.30.0.0/16"
]
}
EOF
# systemctl start docker
Falls eine lokale Firewall aktiv ist, müssen wir einige Regeln erstellen, welche OpenShift braucht:
# firewall-cmd --permanent --new-zone dockerc
# firewall-cmd --permanent --zone dockerc --add-source 172.17.0.0/16
# firewall-cmd --permanent --zone dockerc --add-port 8443/tcp
# firewall-cmd --permanent --zone dockerc --add-port 53/udp
# firewall-cmd --permanent --zone dockerc --add-port 8053/udp
# firewall-cmd --reload
Da es sich ja um kein Produktivsystem handelt, sollte die lokale Firewall keine Rolle spielen und man kann es auch mit systemctl stop firewalld
und systemctl disable firewalld
stoppen.
Als nächstes können wir das oc tool selbst installieren:
# yum -y install centos-release-openshift-origin39
# yum -y install origin-clients
Starten eines OpenShift-Clusters: Sobald alle Voraussetzungen erfüllt sind, können Sie den Cluster starten, indem Sie oc cluster up ausführen. Der Befehl lädt alle erforderlichen Docker-Images aus öffentlichen Repositories herunter und führt dann alle erforderlichen Container aus:
# oc cluster up --version=v3.9.0
Starting OpenShift using openshift/origin:v3.9.0 ...
...
output truncated for brevity
...
OpenShift server started.
The server is accessible via web console at:
https://127.0.0.1:8443
You are logged in as:
User: developer
Password: <any value>
To login as administrator:
oc login -u system:admin
Wir haben oben eine spezifische Versionsnummer angegeben. Wenn man es weglässt wird die neueste Version benutzt (zur Zeit 3.11). Standradmäßig bindet sich OpenShift an die LoopBack Adresse (127.0.0.1). Wenn man das ändern möchte nutzen man den parameter --public-hostname=
Ein komplette Liste der Parameter kann man mit oc cluster up --help
aufrufen. Nach dem Starten des Clusters und einloggen als system:admin sieht man eine Liste der bereits vorhandenen namespaces:
# oc login -u system:admin
Logged into "https://127.0.0.1:8443" as "system:admin" using existing credentials.
You have access to the following projects and can switch between them with 'oc project <projectname>':
default
kube-public
kube-system
* myproject
openshift
openshift-infra
openshift-node
Using project "myproject".
Das oc tool installiert alle benötigten OpenShift Komponenten als docker container auf dem lokalen Node. Mit oc cluster down
kann ich das cluster wieder stoppen (container).
oc cluster up ist nicht für die Produktion gedacht, sondern lediglich zum ausprobieren von OpenShift auf einem einzigen Node.
Die anderen Schnellstart Optionen behandele ich in den nächsten Posts.