automatizar aplicações no Utilizando Operator-Framework ... · INTRODUÇÃO K8S/OPENSHIFT API'S...

Post on 05-Jun-2020

8 views 0 download

Transcript of automatizar aplicações no Utilizando Operator-Framework ... · INTRODUÇÃO K8S/OPENSHIFT API'S...

Utilizando Operator-Framework paraautomatizar aplicações noKubernetes/OpenShift

   

  

 CAMILA MACEDO

SR. Software Engineer

RED HAT CLOUD SERVICESRED HAT CLOUD SERVICES

AGENDAAGENDA

INTRODUÇÃOINTRODUÇÃO

K8S/OPENSHIFT API'SK8S/OPENSHIFT API'S

RECURSOS CUSTOMIZADOS (CR/CRD)RECURSOS CUSTOMIZADOS (CR/CRD)

OPERATOR-FRAMEWORKOPERATOR-FRAMEWORK

DISPONIBIZANDO O SEU OPERATORDISPONIBIZANDO O SEU OPERATOR

POR ONDE COMEÇAR?POR ONDE COMEÇAR?

DEMODEMO

PERGUNTAS ?PERGUNTAS ?

1 CONTAINERSCONTAINERS

2 ORQUESTRAÇÃO DE CONTAINERSORQUESTRAÇÃO DE CONTAINERS

3 CONFIGURAÇÕES NAS PLATAFORMASCONFIGURAÇÕES NAS PLATAFORMAS

 

 

CONTAINERSCONTAINERS

Text

$ docker pull postgres

$ docker pull redis

$ docker pull minhaaplicacao 

ORQUESTRAÇÃO DE CONTAINERSORQUESTRAÇÃO DE CONTAINERS

ORQUESTRAÇÃO DE CONTAINERSORQUESTRAÇÃO DE CONTAINERS

CONFIGURAÇÕESCONFIGURAÇÕES

NAS PLATAFORMASNAS PLATAFORMAS 

CONFIGURAÇÕESCONFIGURAÇÕES

NAS PLATAFORMASNAS PLATAFORMAS

K8S/OPENSHIFT API'SK8S/OPENSHIFT API'S

# tells which API and version you’re using to create this objectapiVersion: apps/v1 kind: Deployment # What kind of object you want to create

metadata: # Data that helps uniquely identify the object  name: redhat-appspec:  # tells deployment to run 2 pods matching the template   replicas: 2   template:    metadata:      labels:        app: redhat-app    spec:      containers:      - name: redhat-app        # tells the docker image and tag which should be used        image: docker.io/cmacedo/redhat-app:master         ports:        - containerPort: 80 

12

3

45

6789101112

131415

1617

181920

Exemplo não funcional.

KS8/OPENSHIFT API'SKS8/OPENSHIFT API'S

CRIANDO RECURSOS CUSTOMIZADOSCRIANDO RECURSOS CUSTOMIZADOS(CUSTOM RESOURCES/CUSTOM RESOURCES DEFINITIONS)

“  CR: Objeto que estende a API doKubernetes ou permite que vocêintroduza sua própria API em umprojeto ou cluster.

“  CRD: Define seus próprios tiposde objeto e permite que o servidorde API manipule todo o ciclo devida.

apiVersion: redhat.example.com/v1alpha1kind: Appmetadata:  name: redhat-appspec:  nome: "Segredo do Universo"  id: 42

1

2

34

56

7

OPERATOR-FRAMEWORKOPERATOR-FRAMEWORK

“  O Operator Framework é um projeto OpenSource o qual fornece ferramentas erecursos com o objetivo de auxliar o desenvolvimento de projetos que realizam"operações" utilizando as API's em tempo de execução no cluster.

# Cria novo projeto 

$ operator­sdk new redhat­operator 

$ cd redhat­operator 

 

# Adiciona no projeto AppService CR e CRD (API para AppService)  

$ operator­sdk add api ­­api­version=redhat­operator.example.com/v1alpha1 ­­kind=App 

 

# Adiciona no projeto controller para AppService  

$ operator­sdk add controller ­­api­version=redhat­operator.example.com/v1alpha1 ­­kind=App 

OPERATOR-FRAMEWORKOPERATOR-FRAMEWORK

OPERATOR-FRAMEWORKOPERATOR-FRAMEWORK

kubectl

DISPONIBIZANDO O SEU OPERATORDISPONIBIZANDO O SEU OPERATOR  

DISPONIBIZANDO O SEU OPERATORDISPONIBIZANDO O SEU OPERATOR  

DISPONIBIZANDO O SEU OPERATORDISPONIBIZANDO O SEU OPERATOR  

POR ONDE COMEÇAR?POR ONDE COMEÇAR?

 

Getting Started: 

 

Blog: 

https://github.com/operator-framework/getting-started

https://dev4devs.com/2019/03/08/kubernates-openshift-operators-getting-started-from-a-to-z/

DEMODEMOMOBILE SECURITY SERVICE OPERATOR

Application ( REST + UI ) DATABASE

https://github.com/aerogear/mobile-security-service-operator

PERGUNTAS ?PERGUNTAS ?

MUITO OBRIGADA :-)MUITO OBRIGADA :-)  

EU ESPERO QUE VOCÊEU ESPERO QUE VOCÊTENHA GOSTADOTENHA GOSTADO