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/
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.
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
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 :
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 :
3.3) Configuração final :
Logue com qualquer usuário , este usuário será criado no primeiro acesso :
Crie um novo projeto :
Projeto :
4) Deploy da primeira aplicação no openshift
Será realizado deploy de uma aplicação do Docker Images do Openshift chamada hello-openshift
O openshift tem um hub do docker no link :
https://hub.docker.com/r/openshift/hello-openshift/
Console com a aplicação configurada
Será necessário criar uma rota para a aplicação deployada indo em Applications > Routes
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
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