Openshift ORIGIN : Instalação no RHEL / CentOS

 

Neste post será apresentado como instalar o Openshift origin em um ambiente CentOS / RHEL.

OpenShift é a Plataforma como Serviço (PaaS) da Red Hat, que permite aos desenvolvedores desenvolver, hospedar e escalar aplicativos rapidamente em um ambiente em nuvem privada ou pública. OpenShift Origin é versão opensource, nele temos suporte embutido para uma variedade de idiomas, runtimes e camadas de dados, incluindo Java EE, Ruby, PHP, Python, Perl, MongoDB, MySQL e PostgreSQL.

A última versão do Openshift utiliza o docker como serviço de containers , deixo abaixo os links falando sobre Docker e Kubernetes :

http://fajlinux.com.br/devops/docker/

openstackplusopenshift

 

1) Componentes do Openshift :

 

Broker
A função Broker consiste nos OpenShift Broker RPMs e um cliente MCollective. O Broker serve como um hub central da implantação OpenShift e fornece uma interface web onde os usuários podem gerenciar seus aplicativos hospedados.

DBServer
Esta função consiste no banco de dados MongoDB que o Broker usa para rastrear usuários e aplicativos.

MsgServer
A função MsgServer inclui o servidor ActiveMQ mais um cliente MCollective.

Node
A função do node é atribuída a qualquer host que realmente será usado para armazenar e servir os aplicativos hospedados no OpenShift. Oo-install suporta a implantação de Nós como parte de uma instalação inicial e como parte de um fluxo de trabalho para adicionar um novo Nó a uma implantação OpenShift existente.

 

2) Arquitetura

Na arquitetura do openshift podemos levantar as vantagens :

  • Baseado no modelo the containerização com Docker
  • Utiliza o Kubernetes para orquestração de containers
  • Arquitetura baseada em  microservices, tornando a administração da aplicação mais fácil.

architecture_overview

 

3) Instalação :

 

Ambiente
10.0.10.250 – Servidor openshift-01
4Gbs de RAM
2 vcpu
1 Disco para o SO
1 Disco para o Docker

 

3.1) Configuração dos requisitos :

Repositório do CentOS

yum install epel-release -y 

Instalação dos Pacotes

yum update -y
yum -y install vim  wget git net-tools bind-utils iptables-services bridge-utils bash-completion pyOpenSSL docker ansible

 

Configurando o Docker Storage no arquivo /etc/sysconfig/docker-storage-setup

vim /etc/sysconfig/docker-storage-setup

DEVS=/dev/sdb
VG=docker-vg

Execute o comando docker-storage-setup

captura-de-tela-2016-11-26-as-13-42-08

 

3.2) Configuração do openshift

Baixe o pacote e copie os arquivos necessários

cd /tmp
 wget -v https://github.com/openshift/origin/releases/download/v1.3.0/openshift-origin-server-v1.3.0-3ab7af3d097b57f933eccef684a714f2368804e7-linux-64bit.tar.gz
cd openshift-origin-server-*
sudo mv k* o* /usr/local/sbin/

 

Configure o script do systemctl /usr/local/bin/start_openshift.sh :

#!/bin/bash
cd /opt/openshift/
openshift start --public-master='https://PUBLIC_IP:8443' --master='https://PRIVATE_IP:8443'

 

Configure o serviço /etc/systemd/system/openshift.service :

 

captura-de-tela-2016-11-26-as-14-38-04

 

Inicie o serviço :

 chmod u+x /usr/local/bin/start_openshift.sh
 mkdir /opt/openshift/
 systemctl daemon-reload
 systemctl start openshift

 

Para exibir aplicativos em seu IP público, será necessário instalar um roteador OpenShift. O roteador escuta nas portas TCP 80 e 443 e encaminha solicitações para aplicativos específicos com base em seus nomes de domínio. O OpenShift usa um registro do Docker para armazenar imagens do Docker para facilitar o gerenciamento do ciclo de vida de seu aplicativo.

Para autenticar nosso novo cluster OpenShift para adicionar esses serviços, primeiro precisaremos informar as ferramentas da CLI onde estão nossas configurações e o certificado da CA.

 

vim /etc/profile

export KUBECONFIG=/opt/openshift/openshift.local.config/master/admin.kubeconfig
export CURL_CA_BUNDLE=/opt/openshift/openshift.local.config/master/ca.crt

 

Atualize as variáveis e faça login

source /etc/profile
oc login -u system:admin

Adicione e registre as rotas

oadm policy add-scc-to-user hostnetwork -z router
oadm router
oadm registry

 

Restarte o serviço e valide se https://PUBLIC_IP:8443 está no ar

 systemctl start openshift

 

Tela de login :

captura-de-tela-2016-11-26-as-14-56-37

 

3.3) Configuração final :

Logue com qualquer usuário , este usuário será criado no primeiro acesso :

captura-de-tela-2016-11-26-as-14-59-29

 

Crie um novo projeto :

captura-de-tela-2016-11-26-as-15-00-01

 

Projeto :

captura-de-tela-2016-11-26-as-15-00-21

 

4) Deploy da primeira aplicação no openshift

 

Será realizado deploy de uma aplicação do Docker Images do Openshift chamada hello-openshift

captura-de-tela-2016-11-26-as-15-02-12

 

O openshift tem um hub do docker no link :

https://hub.docker.com/r/openshift/hello-openshift/

 

Console com a aplicação configurada

captura-de-tela-2016-11-26-as-15-14-25

 

Será necessário criar uma rota para a aplicação deployada indo em Applications > Routes

 

captura-de-tela-2016-11-26-as-15-34-02

 

Sendo criado o OpenShift irá gerar um hostname para ser usado para acessar do aplicativo. Ao configurar isso em produção, você vai precisar criar um wildcard de um carácter curinga em seu DNS para permitir o roteamento automático de todos os aplicativos para seu cluster OpenShift.

*.openshift.mydomain.com   A   PUBLIC_IP;

 

 

Teste da Aplicação

 

captura-de-tela-2016-11-26-as-16-09-15

 

 

Referências :

https://www.clouda.ca/blog/general/openshift-on-centos-7-quick-installation/
https://keithtenzer.com/2016/04/11/openshift-enterprise-3-1-lab-setup/
https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-openshift-origin-on-centos-6-5
https://access.redhat.com/documentation/en/openshift-enterprise/3.0/single/architecture/
https://gist.github.com/boube/76660589e208ffe6032a
http://sudhaker.com/10/install-the-latest-openshift-v3-on-centos-7-1