OpenShift è un Platform-as-a-Service gratuito e open source sviluppato da Red Hat. OpenShift viene utilizzato per sviluppare, ospitare e scalare applicazioni nell'ambiente cloud. OpenShift fornisce supporto per molti linguaggi come Java EE6, Ruby, PHP, Python, Perl, MongoDB, MySQL e PostgreSQL. OpenShift è una piattaforma applicativa Kubernetes leader nel cloud e nelle aziende, considerata affidabile da oltre 1000 aziende. Openshift ti consente di creare, modificare e distribuire applicazioni secondo le tue esigenze.
In questo tutorial impareremo come installare OpenShift Origin a nodo singolo sul server Ubuntu 18.04 LTS.
Requisiti
- Un server che esegue Ubuntu 18.04 con minimo 2 GB di RAM.
- Sul server è configurata una password di root.
Per iniziare
Prima di iniziare, aggiorna il tuo sistema con l'ultima versione stabile. Puoi farlo con il seguente comando:
apt-get update -y
apt-get upgrade -y
Una volta aggiornato, riavvia il server per applicare tutte le modifiche alla configurazione.
Installa Docker CE
OpenShift viene eseguito sul contenitore Docker. Quindi, dovrai installare Docker CE sul tuo server. Per impostazione predefinita, l'ultima versione di Docker CE non è disponibile nel repository predefinito di Ubuntu 18.04. Quindi, dovrai aggiungere il repository Docker CE al tuo sistema.
Per installare Docker CE, scarica e aggiungi la chiave Docker GPG con il seguente comando:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
Una volta aggiunto, aggiungi il repository Docker CE con il seguente comando:
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Quindi, aggiorna e installa Docker CE con il seguente comando:
apt-get update -y
apt-get install docker-ce -y
Una volta installato, controlla lo stato di Docker CE con il seguente comando:
systemctl status docker
Dovresti vedere il seguente output:
? docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-08-07 08:06:57 UTC; 33s ago Docs: https://docs.docker.com Main PID: 19052 (dockerd) Tasks: 8 CGroup: /system.slice/docker.service ??19052 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.372084572Z" level=warning msg="Your kernel does not support swap memory limit" Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.372483783Z" level=warning msg="Your kernel does not support cgroup rt period" Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.372711298Z" level=warning msg="Your kernel does not support cgroup rt runtime" Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.373275104Z" level=info msg="Loading containers: start." Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.612047102Z" level=info msg="Default bridge (docker0) is assigned with an IP ad Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.712918131Z" level=info msg="Loading containers: done." Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.938574106Z" level=info msg="Docker daemon" commit=74b1e89 graphdriver(s)=overl Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.939341612Z" level=info msg="Daemon has completed initialization" Aug 07 08:06:57 hitesh systemd[1]: Started Docker Application Container Engine. Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.989385865Z" level=info msg="API listen on /var/run/docker.sock"
Una volta terminato, puoi procedere al passaggio successivo.
Installa OpenShift
Innanzitutto, dovrai scaricare l'ultima versione stabile di OpenShift dal repository Git. Puoi scaricare l'ultima versione di OpenShift dal repository Git con il seguente comando:
cd /opt
wget https://github.com/openshift/origin/releases/download/v3.9.0/openshift-origin-client-tools-v3.9.0-191fece-linux-64bit.tar.gz
Una volta scaricato, estrai il file scaricato con il seguente comando:
tar -zvxf openshift-origin-client-tools-v3.9.0-191fece-linux-64bit.tar.gz
Quindi, cambia la directory nella directory estratta e copia oc binary nella directory /usr/local/bin con il seguente comando:
cd openshift-origin-client-tools-v3.9.0-191fece-linux-64bit
cp oc /usr/local/bin/
Ora puoi verificare la versione di oc con il seguente comando:
oc version
Dovresti vedere il seguente output:
oc v3.9.0+191fece kubernetes v1.9.1+a0ce1bc657 features: Basic-Auth GSSAPI Kerberos SPNEGO
Successivamente, dovrai aggiungere il registro non sicuro al demone Docker. Puoi farlo con il seguente comando:
nano /etc/docker/daemon.json
Aggiungi le seguenti righe:
{ "insecure-registries" : [ "172.30.0.0/16" ] }
Salva e chiudi il file, quando hai finito. Quindi, riavvia il servizio Docker per applicare le modifiche alla configurazione:
systemctl restart docker
Una volta terminato, puoi procedere al passaggio successivo.
Avvia il cluster OpenShift
Ora avvia il cluster OpenShift specificando il tuo indirizzo IP o nome host come mostrato di seguito:
oc cluster up --public-hostname=38.143.69.14
Una volta che il server è stato avviato correttamente, dovresti vedere il seguente output:
WARNING: Binding DNS on port 8053 instead of 53, which may not be resolvable from all clients. Using Docker shared volumes for OpenShift volumes Using public hostname IP 38.143.69.14 as the host IP Using 38.143.69.14 as the server IP Starting OpenShift using openshift/origin:v3.9.0 ... OpenShift server started. The server is accessible via web console at: https://38.143.69.14:8443 You are logged in as: User: developer Password: To login as administrator: oc login -u system:admin
Nota:sostituisci l'indirizzo IP del tuo server con 38.143.69.14.
Ora accedi al tuo cluster con il seguente comando:
oc login -u system:admin
Dovresti vedere il seguente output:
Logged into "https://38.143.69.14:8443" as "system:admin" using existing credentials. You have access to the following projects and can switch between them with 'oc project': default kube-public kube-system * myproject openshift openshift-infra openshift-node openshift-web-console Using project "myproject".
Ora puoi modificare il progetto in default con il seguente comando:
oc project default
Dovresti vedere il seguente output:
Now using project "default" on server "https://38.143.69.14:8443".
Ora puoi controllare lo stato del progetto con il seguente comando:
oc status
Dovresti vedere il seguente output:
In project default on server https://38.143.69.14:8443 svc/docker-registry - 172.30.1.1:5000 dc/docker-registry deploys docker.io/openshift/origin-docker-registry:v3.9.0 deployment #1 deployed 3 minutes ago - 1 pod svc/kubernetes - 172.30.0.1 ports 443->8443, 53->8053, 53->8053 svc/router - 172.30.106.228 ports 80, 443, 1936 dc/router deploys docker.io/openshift/origin-haproxy-router:v3.9.0 deployment #1 deployed 3 minutes ago - 1 pod View details with 'oc describe/ ' or list everything with 'oc get all'.
Crea un progetto di prova su OpenShift
OpenShift è ora installato e funzionante. Quindi, accedi a OpenShift con l'utente sviluppatore:
oc login
Fornisci nome utente e password come sviluppatore / sviluppatore e premi invio. Dovresti vedere il seguente output:
Authentication required for https://38.143.69.14:8443 (openshift) Username: developer Password: Login successful. You have one project on this server: "myproject" Using project "myproject".
Ora crea un nuovo progetto di prova con il seguente comando:
oc new-project dev --display-name="test - Dev" --description="Test Project"
Dovresti vedere il seguente output:
Now using project "dev" on server "https://38.143.69.14:8443". You can add applications to this project with the 'new-app' command. For example, try: oc new-app centos/ruby-22-centos7~https://github.com/openshift/ruby-ex.git to build a new example application in Ruby.
Quindi, crea una nuova applicazione Ruby su questo progetto con il seguente comando:
oc new-app centos/ruby-22-centos7~https://github.com/openshift/ruby-ex.git
Ora controlla lo stato del progetto corrente con il seguente comando:
oc status
Dovresti vedere il seguente output:
In project test - Dev (dev) on server https://38.143.69.14:8443 svc/ruby-ex - 172.30.16.207:8080 dc/ruby-ex deploys istag/ruby-ex:latest <- bc="" ruby-ex="" source="" builds="" https:="" github="" com="" openshift="" git="" on="" istag="" ruby-22-centos7:latest="" build="" 1="" running="" for="" 54="" seconds="" -="" c00ecd7:="" merge="" pull="" request="" 25="" from="" pvalena="" master="" honza="" horak="" hhorak="" redhat="">) deployment #1 waiting on image or update
Una volta terminato, puoi procedere al passaggio successivo.
Accedi alla console Web di OpenShift
Ora apri il tuo browser web e digita l'URL https://your-server-ip:8443. Verrai reindirizzato alla seguente pagina:
Fornisci il nome utente e la password dello sviluppatore. Quindi, fai clic su Accedi pulsante. Dovresti vedere la dashboard predefinita di OpenShift nella pagina seguente:
Ora, fai clic su Il mio progetto sul lato destro. Dovresti vedere la seguente pagina:
Ora, fai clic sul test - Dev. Dovresti vedere la tua app Ruby distribuita nella pagina seguente:
Congratulazioni! hai installato e configurato correttamente OpenShift sul server Ubuntu 18.04. Puoi creare un nuovo progetto e distribuire la tua applicazione utilizzando OpenShift. Sentiti libero di chiedermi se hai domande. Questo articolo non è consigliato per l'uso in produzione. Per ulteriori informazioni puoi fare riferimento alla documentazione ufficiale su OpenShift.