Giter Site home page Giter Site logo

k8s-exemplos's Introduction

k8s (exemplos)

  • PARTE 1:

    Download dos arquivos que serão usados para fazer o Deployment no K8S e criar o serviço do tipo NodePort (usaremos no minikube)

    git clone https://github.com/tonanuvem/k8s-slackpage.git

    cd k8s-slackpage

    Editar o arquivo deploy_fiap.yml para apontar para a imagem publicada na 1a aula (verificar em http://hub.docker.com)

    DE :      image: "tonanuvem/fiap_slackpage"

    PARA:      image: "USUARIO/fiap_slackpage"

    Criar o Deployment:

    kubectl create -f deploy_fiap.yml

    Criar o Serviço:

    kubectl create -f svc_fiap.yml

    Verificar quais recursos foram criados:

    kubectl get all

    Abrir a página e testar

    minikube service fiapslackpage


  • PARTE 2:

    Realizando um deploy (Rolling Update) on the fly...

    Editar o Deploy:

    kubectl edit deployment fiapslackpage

    Usar a imagem publicada pelo Vizinho

    DE :      image: "tonanuvem/fiap_slackpage"

    PARA:      image: "USUARIO_VIZINHO/fiap_slackpage"

    Verificar a nova versão do Deployment que foi gerada, possibilitando um fácil rollback:

    kubectl rollout history deployment/fiapslackpage

    Realizar o rollback:

    kubectl rollout undo deployment/fiapslackpage

    Verificar novamente o histórico:

    kubectl rollout history deployment/fiapslackpage


    Link Exemplo StatefulSet : https://kubernetes.io/docs/tasks/run-application/run-replicated-stateful-application/

  • PARTE 3:

    Exemplo: Sock Shop : A Microservice Demo Application

    Link: https://github.com/microservices-demo/microservices-demo

    Executar a stack:

    kubectl create -f microservice-demo-weaveworks-socks.yaml

    Verificar os serviços em execução no namespace sock-shop:

    kubectl get svc -n sock-shop

    Verificar todos os objetos do namespace sock-shop

    kubectl get all -n sock-shop

    Opção 2: Rodando com istio-inject

    kubectl create ns sock-shop

    kubectl label namespace sock-shop istio-injection=enabled --overwrite

    kubectl get namespace -L istio-injection

    kubectl apply -f https://tonanuvem.github.io/k8s-exemplos/demo-weaveworks-socks.yaml


  • PARTE 4:

    Exemplo: Chat Websocket

    kubectl create -f https://tonanuvem.github.io/k8s-exemplos/chat_deploy_svc.yml

    Exemplo: Wordpress com BD Mysql

    kubectl create -f https://tonanuvem.github.io/k8s-exemplos/wordpress_mysql.yaml


  • PARTE 5:

    RUN ALL:

    wget https://tonanuvem.github.io/k8s-exemplos/run.sh

    chmod +x run.sh; ./run.sh

    RUN via comandos:

    kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4

    kubectl expose deployment hello-node --type=NodePort --port=8080

    kubectl scale deploy hello-node --replicas=2


    DEBUG:

    kubectl run debug --image=k8s.gcr.io/busybox -it --rm --restart=Never -- sh

    ping NOME_SERVICO

    kubectl exec -ti NOME_POD_APP -- bash

    curl localhost:PORTA


    EXTRA:

    Para verificar o significado dos campos no manifesto dos recursos K8S, pode-se usar o comando : kubectl explain

    Exemplos:

    kubectl explain deployment

    kubectl explain deployment.metadata

    kubectl explain deployment.spec

    kubectl explain deployment.spec.replicas

    kubectl explain deployment.spec.template.spec

    kubectl explain deployment.spec.template.spec.containers

    kubectl explain deployment.spec.template.spec.containers.image

  • k8s-exemplos's People

    Contributors

    tonanuvem avatar

    Watchers

    James Cloos avatar

    Recommend Projects

    • React photo React

      A declarative, efficient, and flexible JavaScript library for building user interfaces.

    • Vue.js photo Vue.js

      🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

    • Typescript photo Typescript

      TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

    • TensorFlow photo TensorFlow

      An Open Source Machine Learning Framework for Everyone

    • Django photo Django

      The Web framework for perfectionists with deadlines.

    • D3 photo D3

      Bring data to life with SVG, Canvas and HTML. 📊📈🎉

    Recommend Topics

    • javascript

      JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

    • web

      Some thing interesting about web. New door for the world.

    • server

      A server is a program made to process requests and deliver data to clients.

    • Machine learning

      Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

    • Game

      Some thing interesting about game, make everyone happy.

    Recommend Org

    • Facebook photo Facebook

      We are working to build community through open source technology. NB: members must have two-factor auth.

    • Microsoft photo Microsoft

      Open source projects and samples from Microsoft.

    • Google photo Google

      Google ❤️ Open Source for everyone.

    • D3 photo D3

      Data-Driven Documents codes.