Поиск по сайту:

Как установить и настроить PaaS-сервер OpenShift Origin в Ubuntu 18.04


Это руководство существует для этих версий ОС

  • Ubuntu 20.04 (Focal Fossa)
  • Ubuntu 18.04 (Bionic Beaver)

На этой странице

  1. Требования
  2. Начало работы
  3. Установите Docker CE
  4. Установить OpenShift
  5. Запустить кластер OpenShift
  6. Создание тестового проекта в OpenShift
  7. Доступ к веб-консоли OpenShift

OpenShift — это бесплатная платформа как услуга с открытым исходным кодом, разработанная Red Hat. OpenShift используется для разработки, размещения и масштабирования приложений в облачной среде. OpenShift поддерживает множество языков, таких как Java EE6, Ruby, PHP, Python, Perl, MongoDB, MySQL и PostgreSQL. OpenShift — это ведущая облачная и корпоративная платформа приложений Kubernetes, которой доверяют более 1000 компаний. Openshift позволяет создавать, изменять и развертывать приложения в соответствии с вашими требованиями.

В этом руководстве мы узнаем, как установить OpenShift Origin с одним узлом на сервер Ubuntu 18.04 LTS.

Требования

  • Сервер под управлением Ubuntu 18.04 с оперативной памятью не менее 2 ГБ.
  • Пароль root настроен на сервере.

Начиная

Перед запуском обновите свою систему до последней стабильной версии. Вы можете сделать это с помощью следующей команды:

apt-get update -y
apt-get upgrade -y

После обновления перезапустите сервер, чтобы применить все изменения конфигурации.

Установите Докер СЕ

OpenShift работает в контейнере Docker. Итак, вам нужно будет установить Docker CE на свой сервер. По умолчанию последняя версия Docker CE недоступна в стандартном репозитории Ubuntu 18.04. Итак, вам нужно будет добавить репозиторий Docker CE в вашу систему.

Чтобы установить Docker CE, загрузите и добавьте ключ Docker GPG с помощью следующей команды:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -

После добавления добавьте репозиторий Docker CE с помощью следующей команды:

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

Затем обновите и установите Docker CE с помощью следующей команды:

apt-get update -y
apt-get install docker-ce -y

После установки проверьте состояние Docker CE с помощью следующей команды:

systemctl status docker

Вы должны увидеть следующий вывод:

? 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"

Как только вы это сделаете, вы можете перейти к следующему шагу.

Установить OpenShift

Во-первых, вам нужно будет загрузить последнюю стабильную версию OpenShift из репозитория Git. Вы можете загрузить последнюю версию OpenShift из репозитория Git с помощью следующей команды:

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

После загрузки извлеките загруженный файл с помощью следующей команды:

tar -zvxf openshift-origin-client-tools-v3.9.0-191fece-linux-64bit.tar.gz

Затем измените каталог на извлеченный каталог и скопируйте двоичный файл oc в каталог /usr/local/bin с помощью следующей команды:

cd openshift-origin-client-tools-v3.9.0-191fece-linux-64bit
cp oc /usr/local/bin/

Теперь вы можете проверить версию oc с помощью следующей команды:

oc version

Вы должны увидеть следующий вывод:

oc v3.9.0+191fece
kubernetes v1.9.1+a0ce1bc657
features: Basic-Auth GSSAPI Kerberos SPNEGO

Далее вам нужно будет добавить незащищенный реестр в демон Docker. Вы можете сделать это с помощью следующей команды:

nano /etc/docker/daemon.json

Добавьте следующие строки:

{
    "insecure-registries" : [ "172.30.0.0/16" ]
}

Сохраните и закройте файл, когда закончите. Затем перезапустите службу Docker, чтобы применить изменения конфигурации:

systemctl restart docker

Как только вы это сделаете, вы можете перейти к следующему шагу.

Запустить кластер OpenShift

Теперь запустите кластер OpenShift, указав свой IP-адрес или имя хоста, как показано ниже:

oc cluster up --public-hostname=38.143.69.14

После успешного запуска сервера вы должны увидеть следующий вывод:

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

Примечание. Замените IP-адрес вашего сервера на 38.143.69.14.

Теперь войдите в свой кластер с помощью следующей команды:

oc login -u system:admin

Вы должны увидеть следующий вывод:

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".

Теперь вы можете изменить проект по умолчанию с помощью следующей команды:

oc project default

Вы должны увидеть следующий вывод:

Now using project "default" on server "https://38.143.69.14:8443".

Теперь вы можете проверить статус проекта с помощью следующей команды:

oc status

Вы должны увидеть следующий вывод:

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'.

Создайте тестовый проект в OpenShift

Теперь OpenShift установлен и работает. Затем войдите в OpenShift под пользователем разработчика:

oc login

Укажите имя пользователя и пароль в качестве разработчика/разработчика и нажмите Enter. Вы должны увидеть следующий вывод:

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".

Теперь создайте новый тестовый проект с помощью следующей команды:

oc new-project dev --display-name="test - Dev" --description="Test Project"

Вы должны увидеть следующий вывод:

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.

Затем создайте новое приложение Ruby для этого проекта с помощью следующей команды:

oc new-app centos/ruby-22-centos7~https://github.com/openshift/ruby-ex.git

Теперь проверьте состояние текущего проекта с помощью следующей команды:

oc status

Вы должны увидеть следующий вывод:

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

Как только вы это сделаете, вы можете перейти к следующему шагу.

Доступ к веб-консоли OpenShift

Теперь откройте веб-браузер и введите URL-адрес https://your-server-ip:8443. Вы будете перенаправлены на следующую страницу:

Укажите имя пользователя и пароль разработчика. Затем нажмите на кнопку Войти. Вы должны увидеть панель инструментов OpenShift по умолчанию на следующей странице:

Теперь нажмите «Мой проект» справа. Вы должны увидеть следующую страницу:

Теперь нажмите на тест - Dev. Вы должны увидеть развернутое приложение Ruby на следующей странице:

Поздравляем! вы успешно установили и настроили OpenShift на сервере Ubuntu 18.04. Вы можете создать новый проект и развернуть собственное приложение с помощью OpenShift. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы. Эта статья не рекомендуется для использования в производственной среде. Для получения дополнительной информации вы можете обратиться к официальной документации на OpenShift.