Containers - Moodle USP: e-Disciplinas

107
powered by Containers Soluções Dell EMC utilizando Red Hat Estratégia de uso de containers, automação e gerência de infraestrutura Caio Candido Senior Technology Strategist, Latin America Ready Solutions & Red Hat Specialist

Transcript of Containers - Moodle USP: e-Disciplinas

Page 1: Containers - Moodle USP: e-Disciplinas

powered by

Containers

Soluções Dell EMC utilizando Red Hat Estratégia de uso de containers, automação e gerência de infraestrutura

Caio CandidoSenior Technology Strategist, Latin America Ready Solutions & Red Hat Specialist

Page 2: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Softwares para sua estratégia on premises e cloud

Page 3: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Definindo os time e esforços

APPLICATION

HARDWARE

OPERATING SYSTEM

Application Runtime

Application Services

Application Workflow

Container Scheduling

Container Orchestration

Container Engine

IaaS

Operating System

Virtual / Physical Infrastructure

DEV

APP OPS

SYS OPS

Page 4: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Satellite+ CloudForms + Ansible

Nutanix

Vxrail

Vmware

Amazon AWS

Service Providers

Azzure

OpenStack

Gestor de nuvem híbrida

Automação de todo o ambiente de hardware e software

Container

Virtual Machine

Page 5: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Arquitetura inicial – Satellite

1x Satellite Server

SysAdmin

➔ 16GB de memória ➔ 2 cores (4 vCPUs)➔ Disco com 350GB➔ vNIC x2 Network

Red Hat Insights

Servidores DellEMC x86 com RHEL

Mount Point Size Função

/ 20 GB Arquivos do Sistema e Serviços

/var/log 4 GB Logs do Sistema

/var 3 GB Variáveis

/tmp 1 GB Arquivos temporários do SO

/home 2 GB Arquivos de usuários não admin

/var/cache/pulp 30 GB Temporário usado durante sincronização

/var/lib/qpidd 10 GB Suporte para até 30.000 content hosts

/var/lib/pgsql 10 GB Banco de Dados

/var/lib/pulp 200 GB Repositórios

/var/lib/mongodb 50 GB Base para conteúdo do Satellite

/opt 5 GB Serviços Opcionais

Page 6: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

CloudForms

Page 7: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Master UI

2x Master Database

Arquitetura inicial - CloudFormsUsuários

4x CFME: workers

SysAdmin

Balanceador de Carga

➔ 16GB de memória ➔ 2 cores (4 vCPUs)➔ Disco com 60GB➔ Disco adicional de 100GB DB

➔ 12GB de memória ➔ 2 cores (4 vCPUs)➔ Disco com 60GB

Page 8: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Como o Ansible pode fazer parte da sua estartégia?

Page 9: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Como começamos esta jornada?

Page 10: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Os diferenciais do Ansible

Page 11: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

As diferenças entre Ansible e Ansible Tower

Page 12: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Gerenciamento das Tarefas

Serviços de Mensagens

Auto Escaling e inventários

Agendamento das Tarefas

Execução remota

Acesso e Segurança garantida

Suporte e Desenvolvimento Global

Visibilidade de tudo

Principais Diferencias do Ansible TowerTrabalhando com DevOps

Dashboard Integrado Criação de Playbooks automatizados

Page 13: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

1x Ansible Database

Arquitetura inicial - Ansible

Usuários

SysAdmin

➔ 16GB de memória ➔ 2 cores (8 vCPUs)➔ Disco adicional de 120GB DB

1x Ansible Tower

Git Server/ repositório

➔ 8GB de memória ➔ 1 cores (4 vCPUs)➔ Disco com 60GB

Automação do Ambiente x86

Servidores DellEMC x86 com RHEL

Page 14: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Como posso obter mais conhecimento?

Page 15: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

RHV-M

Page 16: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

6x R640 Infra Nodes com RHV

3x R740xd GlusterFS/Storage

Arquitectura Default disponible para toda LATAM con X86

• Servidor 14ª servidores DellEMC PowerEdge R640• 2x Processador Intel Xeon Gold 6148 • 128GB RAM | 4 x pentes de memória de 128GB RDIMM, Dual Rank• 2 x Discos de 2.4TB 10K RPM SAS 12Gbps 512e 2.5in Hot-plug Hard Drive• Tarjeta de control BOSS + com 2 M.2 Sticks 240G (RAID 1),FH• Control PERC HBA330 RAID, 12Gb Minicard - NO RAID• OpenStack Cloud Compute NOD• Network Intel X710 DP 10Gb DA/SFP+, + I350 DP 1Gb Ethernet, Network

Configuración de RAID no configurada

Copia de 3x Arquivos

• Servidor 14ª servidores DellEMC PowerEdge R740XD• 2x Processador Intel Xeon Gold 5118 • 128GB RAM | 4 x pentes de memória de 128GB RDIMM, Dual Rank• 16 x Discos de 8TB 10K RPM SAS 12Gbps 512e 3.5in Hot-plug Hard Drive• Tarjeta de control BOSS + com 2 M.2 Sticks 240G (RAID 1),FH• Control PERC HBA330 RAID, 12Gb Minicard - NO RAID• OpenStack Cloud Compute NOD• Intel X710 Quad Port 10Gb Direct Aattach, SFP+, Converged Network Adapter• Network Intel X710 DP 10Gb DA/SFP+, + I350 DP 1Gb Ethernet, Network

Configuración de RAID no configurada

Page 17: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

6x R740xd Infra Nodes com RHV

Arquitectura Hiperconvergente disponible para toda LATAM con x86

• Servidor 14ª servidores DellEMC PowerEdge R740XD• 2x Processador Intel Xeon Gold 6148 • 128GB RAM | 4 x pentes de memória de 128GB RDIMM, Dual Rank• 18 x Discos de 2.4TB 10K RPM SAS 12Gbps 512e 2.5in Hot-plug Hard Drive• Tarjeta de control BOSS + com 2 M.2 Sticks 240G (RAID 1),FH• Control PERC HBA330 RAID, 12Gb Minicard - NO RAID• Intel X710 Quad Port 10Gb Direct Aattach, SFP+, Converged• Network Intel X710 DP 10Gb DA/SFP+, + I350 DP 1Gb Ethernet, • Configuración de RAID no configurada

Copia de 3x Arquivos

Page 18: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Como obter mais conhecimento?https://www.redhat.com/en/services/training/rh024-red-hat-linux-

technical-overview

https://www.redhat.com/en/services/training/rh018-virtualization-

and-infrastructure-migration-technical-overview

https://www.redhat.com/en/services/training/do092-developing-

cloud-native-applications-microservices-architectures

https://www.redhat.com/en/services/training/do080-deploying-

containerized-applications-technical-overview

https://www.redhat.com/en/services/training/do007-ansible-

essentials-simplicity-automation-technical-overview

https://www.redhat.com/en/services/training/cl010-red-hat-

openstack-technical-overview

Page 19: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Os Problemas na engenharia de software

Aplicações possuem um

processo de instalação,

configuração e

integrações complexo

que deve ser realizado a

cada novo deploy.

Além disso, precisamos

gerenciar ambientes de

maneiras diferentes para

prover a infra-estrutura

por Ops e Dev consumir.

Page 20: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Page 21: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Page 22: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

O Desafio

OPERAÇÕES DE TIDESENVOLVEDORES

Page 23: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Automação em todo lugar: Para onde iremos

TEST QA PRODDEV

≠ ≠ ≠

Ferramenta de automação de ambientes - Ops

Ferramenta Multicloud, conectar de forma hibrida nossos ambientes - Ops

Ferramenta de provisionamento e gestão de ambientes - Ops

Page 24: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

A Solução

Adotar uma estratégia de

containers irá permitir que

as aplicações sejam

facilmente compartilhadas e

implantadas.

Além do uso de ferramentas

que ajudam a entregar uma

esteira DevOps.

Page 25: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Quando pensamos em DevOps …

Automação em todo lugar

Tudo como código

Continuous Integration/Delivery

A aplicação é sempre “releasable”

Monitoramento de Aplicações

Rápido Feedback

Rebuild vs. Repair

Delivery pipeline

Page 26: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

O que são containers?Depende, para quem você pergunta ...

● É uma aplicação rodando em um “Sandbox” em um ambiente onde apenas o Kernel do Linux é compartilhado

● São mais simples, leves e densos que máquinas virtuais

● Portável para qualquer ambiente

● É um pacote com minha aplicação e todas as suas dependências

● Implantação (deploy) para qualquer ambiente em segundos e permite o CI/CD

● Acesso fácil e compartilhado de ambientes containerizados

INFRAESTRUTURA APLICAÇÕES

Page 27: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Máquinas virtuais e containers

As diferenças de uso na entrega de Máquinas e/ou Containers

Page 28: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Pensando em desempenho

Entrega de uma máquina virtual e um container

Page 29: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Adoção de um modelo baseado em containers

Pensando nos futuros pápeis e responsábilidades do Dev e do Ops

Page 30: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

O que o container nos ajuda no dia-a-dia?

Aqui não possuimos uma estratégia de infra ágil

Page 31: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Você não precisa “matar” sua infra atual

Entenda como o container pode te ajudar

Page 32: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Docker é uma tecnologia de software que fornece contêineres, promovido pela empresa Docker, Inc. O Docker fornece uma camada adicional de abstração e automação de virtualização de nível de sistema operacional no Windows e no Linux.

Page 33: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Repositório de fontes

CI/CDengine

Dev container

Físico

Virtual

Cloud Privada

Cloud Pública

Page 34: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

?container

Page 35: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

$ docker build -t app:v1 .

$ docker run app:v1

Page 36: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

$ docker build -t app/frontend:v1 .$ docker build -t app/backend:v1 .$ docker build -t app/database:v1 .$ docker build -t app/cache:v1 .$ docker build -t app/messaging:v1 .

Page 37: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

$ docker run app/frontend:v1 link-to-backend$ docker run app/frontend:v1 link-to-backend$ docker run app/backend:v1 link-to-db-cache-messaging$ docker run app/backend:v1 link-to-db-cache-messaging$ docker run app/database:v1$ docker run app/cache:v1 link-to-db$ docker run app/messaging:v1

Page 38: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

?

Page 39: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Não é suficiente! Necessitamos ir além de containers!

Lifecycle and healthMantém os containers rodando a despeito de falhas

SchedulingDecide onde devemos fazer o deploy dos containers

DiscoveryLocaliza outros containers na rede

MonitoringVisibilidade de como os containers estão rodando

SegurançaControla quem pode fazer o que

ScalingEstala os containers Up e Down

PersistênciaMantém os dados além do ciclo de vida do container

AgregaçãoCompor Aplicações com multiplos containers

Page 40: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Kubernetes é um sistema OpenSource para

automação de deployment, operações, e scaling

de aplicações conteinerizadas através de

múltiplos hosts. O Kubernets é um Gerenciador

(a nível)de Containers muito poderoso.

Page 41: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

kubernetes

Page 42: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

DevOps utilizando Kubernets

DevRepositório de fontes CI/CD

engine

container

Kubernets

Page 43: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

DevOps utilizando Kubernets

NETWORK

Não é suficiente! Precisamos de networking!

Page 44: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

DevOps utilizando Kubernets

IMAGEREGISTRY

NETWORK

Não é suficiente! Necessitamos de registro das imagens!

Page 45: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

DevOps utilizando Kubernets

IMAGEREGISTRY

METRICS AND LOGGING

NETWORK

heapster

Não é suficiente! Necessitamos de métricas e logging!

Page 46: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

DevOps utilizando Kubernets

IMAGEREGISTRY

Não é suficiente! Necessitamos de gerenciamento de ciclo de vida!

APP LIFECYCLE MGMT

METRICS AND LOGGING

NETWORK

Page 47: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

DevOps utilizando Kubernets

IMAGEREGISTRY

Não é suficiente! Necessitamos de App Services, exemplo: DBs e messageria

APP SERVICES

APP LIFECYCLE MGMT

METRICS AND LOGGING

NETWORK

Page 48: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

DevOps utilizando Kubernets

IMAGEREGISTRY

Não é suficiente! Necessitamos de portal de self-service!

SELF-SERVICE

APP SERVICES

APP LIFECYCLE MGMT

METRICS AND LOGGING

NETWORK

Page 49: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Não é suficiente! Necessitamos ir além de Kubernets!

Routing & Load Balancing

Multi-tenancy

CI/CD Pipelines

Role-based Authorization

Capacity Management

Chargeback

Vulnerability Scanning

Container Isolation

Image Build Automation

Quota Management

Teams and Collaboration

Infrastructure Visibility

Page 50: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Red Hat OpenShift Container Platform

ENTERPRISE-GRADE CONTAINER OS

Business Automation

CONTAINER CONTAINERCONTAINER CONTAINER CONTAINER

Integration DataWeb & Mobile

3rd party frameworks

CONTAINER INFRASTRUCTURE SERVICES(Orchestration & Scheduling, Storage, Registry, Security, Networking)

LIFECYCLE AUTOMATION(Self-service, CI/CD, Image

Stream)CONTAINER MANAGEMENT

(Monitoring, Capacity, Policies)

Red Hat Enterprise Linux & Atomic Host

Tradicional, Stateful & Microservices como base para Apps

Page 51: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

OPENSHIFT

sourcerepository

CI/CDengine

dev container

Page 52: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

PaaS

Mobile AMQ Fuse3scale API

Mgmt

Data Virt

Data Grid

BRMSEAP BPM

Apps Integration Data Automation

BARE METAL

VIRTUAL

Build | Deploy | Scheduling | Scaling | Elasticity | Metrics | Logging

Page 53: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Implementação baseada em Open Container Initiative do Kubernetes Container Runtime Interface. Arquitetura mínima e segura. Otimizado para trabalhar com o Kubernetes. Executa qualquer imagem compatível com OCI (incluindo Docker).

Page 54: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Um contêiner é a menor unidade de um sistema operacional na computação

Container

Page 55: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Image

Contêineres são criados a partir de imagens de contêiner

Page 56: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Registry

As imagens do contêiner são armazenadas em um registro de imagem

Page 57: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Repository

Um repositório de imagens contém todas as versões de uma imagem no registro de imagens

Page 58: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

IP

Contêineres são agrupados em grupos de unidades de implantação e gerenciamento

Page 59: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Deployment

A configuração de pods é definida em uma implementação

Page 60: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Backend Service

Serviços fornecem balanceamento de carga interno e descoberta de serviço em pods

Page 61: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Backend API

Os aplicativos podem conversar entre si por meio de serviços

Page 62: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Route

Rotas adicionam serviços ao balanceador de carga externo e fornecem URLs legíveis para o aplicativo

Page 63: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

POD

Projetos isolam aplicativos em ambientes, equipes, grupos e departamentos

Page 64: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Balanciador de carga

2x Infra Nodes 3x Master Nodes

3x App Nodes

4x OCS/Storage

➔ 32GB de memória

➔ 2 core (4 vCPUs)

➔ Disco com 65GB (/var com 40GB)

➔ 8GB de memória

➔ 2 cores (4 vCPUs)

➔ Disco com 45GB (/var com 20GB)

➔ Disco adicional 50GB

➔ 16GB de memória

➔ 4 cores (8 vCPUs)

➔ Disco com 45GB (/var com 20GB)

➔ Disco adicional 50GB (Images)

Arquitetura inicial - OpenShift

➔ 32GB de memória

➔ 2 cores (4 vCPUs)

➔ Disco com 200GB➔ Ponto de montagem / (50GB)➔ Ponto de montage /var (150GB)➔ 1 vNIC Gigabit Ethernet

➔ Provido pela Ailos

Replicas de 3x Arquivos

Page 65: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Podemos ter mais de uma alternativa para Infra

Page 66: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Instâncias de Nodes com RHEL onde o app funciona

Page 67: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Apps funcionando em Containers

Page 68: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Pods são as unidades de orquestração

Page 69: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

O Master faz todo o controle

Page 70: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

API de identificação

Page 71: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Estado valido e desejado

Page 72: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Integração com o container Registry

Page 73: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Orquestração e Agendamento

Page 74: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Inserção de políticas

Page 75: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Escalação de Pods

Page 76: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Serviços e Descovery

Page 77: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Dados persistentes dos containers

Page 78: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Roteamento e Load Balance

Texto

Page 79: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Acesso via Web, CLI, IDE e API

Page 80: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Estratégia de Esteira e Pipeline

Page 81: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Get Start!

OPERAÇÕES DE TIDESENVOLVEDORES

Page 82: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Page 83: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Como?

OPERAÇÕES DE TIDESENVOLVEDORES

Page 84: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

A Solução

Adotar uma estratégia de

containers irá permitir que

as aplicações sejam

facilmente compartilhadas e

implantadas.

Page 85: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

A Solução

Adotar uma estratégia de

containers irá permitir que

as aplicações sejam

facilmente compartilhadas e

implantadas.

Page 86: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

A Solução

Adotar uma estratégia de

containers irá permitir que

as aplicações sejam

facilmente compartilhadas e

implantadas.

Page 87: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

A Solução

Adotar uma estratégia de

containers irá permitir que

as aplicações sejam

facilmente compartilhadas e

implantadas.

Page 88: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

A Solução

Adotar uma estratégia de

containers irá permitir que

as aplicações sejam

facilmente compartilhadas e

implantadas.

Page 89: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

A Solução

Adotar uma estratégia de

containers irá permitir que

as aplicações sejam

facilmente compartilhadas e

implantadas.

Page 90: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

A Solução

Adotar uma estratégia de

containers irá permitir que

as aplicações sejam

facilmente compartilhadas e

implantadas.

Page 91: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

A Solução

Adotar uma estratégia de

containers irá permitir que

as aplicações sejam

facilmente compartilhadas e

implantadas.

Page 92: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

A Solução

Adotar uma estratégia de

containers irá permitir que

as aplicações sejam

facilmente compartilhadas e

implantadas.

Page 93: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Install OpenShift Container Platform

# subscription-manager register# subscription-manager refresh# subscription-manager list --available# subscription-manager attach --pool=<pool_id>

# subscription-manager repos --enable="rhel-7-server-rpms" \

--enable="rhel-7-server-extras-rpms" \--enable="rhel-7-server-ose-3.11-rpms" \--enable="rhel-7-server-ansible-2.6-rpms"

Page 94: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

# yum -y install wget git net-tools bind-utilsiptables-services bridge-utils bash-completion kexec-tools sos psacct

# yum -y update# reboot

# yum -y install openshift-ansible

# yum -y install cri-o docker

Page 95: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

$ ssh-keygen

$ for host in master.openshift.example.com \node.openshift.example.com; \do ssh-copy-id -i ~/.ssh/id_rsa.pub $host; \done

$ cd /usr/share/ansible/openshift-ansible$ ansible-playbook -i <inventory_file> playbooks/prerequisites.yml

$ cd /usr/share/ansible/openshift-ansible$ ansible-playbook -i <inventory_file> playbooks/deploy_cluster.yml

Page 96: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Configure OpenShift Container Platform

$ oc login -u system:admin$ oc get nodesoauthConfig:

...identityProviders:- challenge: truelogin: truename: htpasswd_auth providerprovider:

apiVersion: v1kind: HTPasswdPasswordIdentityProviderfile: /etc/origin/master/htpasswd

Page 97: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

# yum -y install httpd-tools

# touch /etc/origin/master/htpasswd

# htpasswd -b /etc/origin/master/htpasswd admin redhat

# master-restart api

# master-restart controllers

Page 98: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

$ oc adm policy add-cluster-role-to-user cluster-admin admin

$ oc login -u admin

$ oc project default

$ oc delete all -l router=router

$ oc adm router --replicas=1 --service-account=router

Page 99: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Creating a Project

$ oc login -u=<username> -p=<password> --server=<your-openshift-server> --insecure-skip-tls-verify$ oc login <https://api.your-openshift-server.com> --token=<tokenID>$ oc new-project <projectname> --description="<description>" --display-name="<display_name>"$ oc new-app openshift/ruby-20-centos7~https://github.com/<your_github_username>/ruby-ex

Page 100: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

$ oc logs -f bc/ruby-ex

$ oc status

$ oc expose service ruby-ex$ oc get route

$ oc edit bc/ruby-extriggers- github:

secret: Q1tGY0i9f1ZFihQbX07Stype: GitHub

$ oc describe bc ruby-ex

Page 101: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

A Solução

Adotar uma estratégia de

containers irá permitir que

as aplicações sejam

facilmente compartilhadas e

implantadas.

Page 102: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

$ docker build -t app:v1 .

Page 103: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Page 104: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Page 105: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Como aprender tudo isso?

Page 106: Containers - Moodle USP: e-Disciplinas

GENERAL DISTRIBUTION

Como começar hoje?

Page 107: Containers - Moodle USP: e-Disciplinas

powered by

TT Obrigado!ANK YOU

Caio Candido,

[email protected]

https://www.linkedin.com/in/ccandido/ 111-200-002