• Nenhum resultado encontrado

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
107
0
0

Texto

(1)

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

(2)
(3)

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

(4)

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

(5)

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

(6)
(7)

GENERAL DISTRIBUTION

Master UI

2x Master Database

Arquitetura inicial - CloudForms

Usuá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

(8)
(9)

GENERAL DISTRIBUTION

(10)
(11)

GENERAL DISTRIBUTION

(12)

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 Tower

Trabalhando com DevOps

(13)

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

(14)
(15)

GENERAL DISTRIBUTION

(16)

6x R640 Infra Nodes com RHV

3x R740xd GlusterFS/Storage

Arquitectura Default disponible para toda LATAM con X86

Servidor 14ª servidores DellEMC PowerEdge R6402x 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 RAIDOpenStack 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 R740XD2x 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 RAIDOpenStack 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

(17)

GENERAL DISTRIBUTION 6x R740xd Infra Nodes com RHV

Arquitectura Hiperconvergente disponible para toda LATAM con x86

Servidor 14ª servidores DellEMC PowerEdge R740XD2x 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 RAIDIntel 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

(18)

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

(19)

https://www.redhat.com/en/services/training/cl010-red-hat-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.

(20)
(21)
(22)

O Desafio

OPERAÇÕES DE TI DESENVOLVEDORES

(23)

GENERAL DISTRIBUTION

Automação em todo lugar: Para onde iremos

TEST QA PROD

DEV

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

(24)

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.

(25)

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

(26)

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

(27)

GENERAL DISTRIBUTION

Máquinas virtuais e containers

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

(28)

Pensando em desempenho

Entrega de uma máquina virtual e um container

(29)

GENERAL DISTRIBUTION

Adoção de um modelo baseado em containers

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

(30)

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

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

(31)

GENERAL DISTRIBUTION

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

Entenda como o container pode te ajudar

(32)

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.

(33)

GENERAL DISTRIBUTION

Repositório

de fontes engineCI/CD

Dev container

Físico

Virtual

Cloud Privada

(34)

?

(35)

GENERAL DISTRIBUTION

$ docker build -t app:v1 .

$ docker run app:v1

(36)

$ docker build -t app/frontend:v1 .

$ docker build -t app/backend:v1 .

$ docker build -t app/database:v1 .

$ docker build -t app/cache:v1 .

(37)

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

(38)
(39)

GENERAL DISTRIBUTION

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

Lifecycle and health

Mantém os containers rodando a despeito de falhas

Scheduling

Decide onde devemos fazer o deploy dos containers

Discovery

Localiza outros containers na rede Monitoring

Visibilidade de como os containers estão rodando

Segurança

Controla quem pode fazer o que Scaling

Estala os containers Up e Down Persistência

Mantém os dados além do ciclo de vida do container

Agregação

Compor Aplicações com multiplos containers

(40)

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.

(41)

GENERAL DISTRIBUTION

(42)

DevOps utilizando Kubernets

Dev Repositório de fontes CI/CD engine

container

(43)

GENERAL DISTRIBUTION

DevOps utilizando Kubernets

NETWORK

(44)

DevOps utilizando Kubernets

IMAGE REGISTRY

NETWORK

(45)

GENERAL DISTRIBUTION

DevOps utilizando Kubernets

IMAGE

REGISTRY METRICS AND LOGGING NETWORK

heapster

(46)

DevOps utilizando Kubernets

IMAGE REGISTRY

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

APP LIFECYCLE MGMT METRICS AND LOGGING

(47)

GENERAL DISTRIBUTION

DevOps utilizando Kubernets

IMAGE REGISTRY

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

APP SERVICES APP LIFECYCLE MGMT METRICS AND LOGGING

(48)

DevOps utilizando Kubernets

IMAGE REGISTRY

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

SELF-SERVICE APP SERVICES APP LIFECYCLE MGMT METRICS AND LOGGING

(49)

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

(50)

Red Hat OpenShift Container Platform

ENTERPRISE-GRADE CONTAINER OS

Business Automation

CONTAINER CONTAINER CONTAINER CONTAINER CONTAINER Integration Data Web & Mobile frameworks3rd party

CONTAINER INFRASTRUCTURE SERVICES

(Orchestration & Scheduling, Storage, Registry, Security, Networking) LIFECYCLE AUTOMATION

(Self-service, CI/CD, Image

Stream) (Monitoring, Capacity, Policies)CONTAINER MANAGEMENT

Red Hat Enterprise Linux & Atomic Host

(51)

GENERAL DISTRIBUTION

OPENSHIFT

source

repository engineCI/CD

(52)

PaaS

Mobile AMQ Fuse 3scale API

Mgmt

Data

Virt Data Grid BRMS

EAP BPM

Apps Integration Data Automation

BARE

(53)

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

(54)

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

Container

(55)

GENERAL DISTRIBUTION

Image

(56)

Registry

(57)

GENERAL DISTRIBUTION

Repository

(58)

IP

(59)

GENERAL DISTRIBUTION

Deployment

(60)

Backend Service

(61)

GENERAL DISTRIBUTION

Backend API

(62)

Route

(63)

GENERAL DISTRIBUTION

POD

(64)

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)

➔ Provido pela Ailos

(65)

GENERAL DISTRIBUTION

(66)
(67)

GENERAL DISTRIBUTION

(68)
(69)

GENERAL DISTRIBUTION

(70)
(71)

GENERAL DISTRIBUTION

(72)
(73)

GENERAL DISTRIBUTION

(74)
(75)

GENERAL DISTRIBUTION

(76)
(77)

GENERAL DISTRIBUTION

(78)

Roteamento e Load Balance

Texto

(79)

GENERAL DISTRIBUTION

(80)
(81)

GENERAL DISTRIBUTION

Get Start!

OPERAÇÕES DE TI DESENVOLVEDORES

(82)
(83)

GENERAL DISTRIBUTION

Como?

OPERAÇÕES DE TI DESENVOLVEDORES

(84)

A Solução

Adotar uma estratégia de containers irá permitir que as aplicações sejam

facilmente compartilhadas e implantadas.

(85)

GENERAL DISTRIBUTION

A Solução

Adotar uma estratégia de containers irá permitir que as aplicações sejam

facilmente compartilhadas e implantadas.

(86)

A Solução

Adotar uma estratégia de containers irá permitir que as aplicações sejam

facilmente compartilhadas e implantadas.

(87)

GENERAL DISTRIBUTION

A Solução

Adotar uma estratégia de containers irá permitir que as aplicações sejam

facilmente compartilhadas e implantadas.

(88)

A Solução

Adotar uma estratégia de containers irá permitir que as aplicações sejam

facilmente compartilhadas e implantadas.

(89)

GENERAL DISTRIBUTION

A Solução

Adotar uma estratégia de containers irá permitir que as aplicações sejam

facilmente compartilhadas e implantadas.

(90)

A Solução

Adotar uma estratégia de containers irá permitir que as aplicações sejam

facilmente compartilhadas e implantadas.

(91)

GENERAL DISTRIBUTION

A Solução

Adotar uma estratégia de containers irá permitir que as aplicações sejam

facilmente compartilhadas e implantadas.

(92)

A Solução

Adotar uma estratégia de containers irá permitir que as aplicações sejam

facilmente compartilhadas e implantadas.

(93)

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"

(94)

# yum -y install wget git net-tools bind-utils

iptables-services bridge-utils bash-completion

kexec-tools sos psacct

# yum -y update

# reboot

# yum -y install openshift-ansible

# yum -y install cri-o docker

(95)

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

(96)

Configure OpenShift Container Platform

$ oc login -u system:admin

$ oc get nodes

oauthConfig:

...

identityProviders:

- challenge: true

login: true

name: htpasswd_auth provider

provider:

apiVersion: v1

kind: HTPasswdPasswordIdentityProvider

file: /etc/origin/master/htpasswd

(97)

GENERAL DISTRIBUTION

# yum -y install httpd-tools

# touch /etc/origin/master/htpasswd

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

redhat

# master-restart api

(98)

$ oc adm policy add-role-to-user

cluster-admin cluster-admin

$ oc login -u admin

$ oc project default

$ oc delete all -l router=router

$ oc adm router --replicas=1

--service-account=router

(99)

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>/r

uby-ex

(100)

$ oc logs -f bc/ruby-ex

$ oc status

$ oc expose service ruby-ex

$ oc get route

$ oc edit bc/ruby-ex

triggers

- github:

secret: Q1tGY0i9f1ZFihQbX07S

type: GitHub

$ oc describe bc ruby-ex

(101)

GENERAL DISTRIBUTION

A Solução

Adotar uma estratégia de containers irá permitir que as aplicações sejam

facilmente compartilhadas e implantadas.

(102)
(103)
(104)
(105)

GENERAL DISTRIBUTION

(106)
(107)

powered by

TT

Obrigado!

ANK YOU

Caio Candido,

caio.candido@dell.com

Referências

Documentos relacionados

•  Construção: empacota sua aplicação numa imagem (docker build).. •  Distribuição: Move a imagem entre diferentes maquinas

Containers consultar no final da tabela / Containers consulter à la fin du tarif Containers consultar no fin de la tarifa / Containers check at the end of price list... SP 1/1 SP160

professores da escola também atuam como consultores na Inova Consulting, que desenvolve projetos em empresas nas áreas de pesquisa de tendências, cultura de

Na forma de pagamento Pós-Paga ou na hi- pótese de haver a alteração automática da forma de pagamento para Pré-Paga durante o período de Permanência Mínima, no caso de

A partir destes espectros, que são obtidos de forma rápida e não destrutiva, consegue-se construir curvas de calibração para predição de diversas propriedades que podem ser

Sendo o modelo tradicional de grade de programação ainda responsável pela organização dos programas de TV e, portanto, compreendido como o dispositivo por excelência da

• Os sinais elétricos presentes nos terminais do soquete da matriz multi-eletrodo são analógicos, de baixa amplitude (entre 5 uV e 200 mV);.. • Para serem registrados no computador

• O cérebro contém metade da quantidade total de fosfatidilserina do organismo; • Há decréscimo de fosfatidilserina com o envelhecimento (Cenacchi et al., 1993).. Níveis Teciduais