Docker-K8s-GitOps

Page 1

GitOps

Argo CD - Despliegue Continuo para Kubernetes

¡ Gracias !

15/04/2023
2
¡Feliz
cumpleaños Docker #10!

Celebremos Juntos ¡Feliz cumpleaños Docker #10!

15/04/2023 ¡Feliz cumpleaños Docker #10! 3

Agenda

¿QuéesDevOps?

¿QuéesKubernetesoK8s?

¿QuéesGitOps?

◼ Introducción ◼ ¿? ◼
¿Quéesuncontenedor? ◼
15/04/2023 ¡Feliz cumpleaños Docker #10! 4

¡Hola!

● Soy Johan Giraldo (@jsgiraldoh

Redes sociales)

● DevOps Engineer

● Grupo Docker Community Leaders

● Me gusta compartir conocimientos

● Autor del Blog:

Aprende Docker en Español

����
5

��️Mi trabajo

Me he desempeñado como Ingeniero DevOps, influenciando en los equipos de desarrollo y operaciones para que aumenten su comunicación y cooperación;mostrándolesdiversasprácticascomo por ejemplo la integración y despliegue continuo (CI/CD). Obteniendo como resultado mejoras en el ciclo de vida del desarrollo de software, evitando los errores humanos y las demoras en las entregas del software, para entregar un software de calidad.

(Herramientas: Bitbucket, GitHub, Jenkins, Kubernetes, Rancher, Docker, Argo-CD, Helm, Ansible,Terraform,Vagrant)

6

Ustedes como ingenieros, tecnólogos, desarrolladores o apasionados por la tecnología, ¿Como seleccionan la herramientaadecuadaparasolucionarunproblema?

¿?
15/04/2023 ¡Feliz cumpleaños Docker #10! 7

CNCF Cloud Native Interactive

Landscape

15/04/2023 ¡Feliz cumpleaños Docker #10! 8

¿Qué es Docker?

15/04/2023 ¡Feliz cumpleaños Docker #10! 9

¿Qué es Docker?

15/04/2023 ¡Feliz cumpleaños Docker #10! 10

¿Qué es Docker?

15/04/2023 ¡Feliz cumpleaños Docker #10! 11

Repositorio con los archivos

https://github.com/jsgiraldoh/Docker-colombia/tree/ main/meetup/2023-abril-15

15/04/2023 ¡Feliz cumpleaños Docker #10! 12

Llamado a la acción

◼ Construir la página web

◼ Construir el dockerfile

◼ Construir la imagen de docker docker build -t hb1od .

◼ Ejecutar el contenedor con la imagen anterior docker run –name hb10d -d -p 1000:80 hb1od

15/04/2023 ¡Feliz cumpleaños Docker #10! 13

docker init

15/04/2023 ¡Feliz cumpleaños Docker #10! 14

¿Qué es Kubernetes?

Kubernetes es una plataforma portable y extensible de código abierto para administrar cargas de trabajo y servicios. Kubernetes facilita la automatización y la configuración declarativa. Tiene un ecosistema grande y en rápido crecimiento. El soporte, las herramientas y los serviciosparaKubernetesestánampliamentedisponibles.

Google liberó el proyecto Kubernetes en el año 2014.

Kubernetes se basa en l a experiencia de Google corriendo aplicaciones en prod ucción a gran escala por década y media

,juntoalasmejoresideasyprácticasdelacomunidad.

15/04/2023 ¡Feliz cumpleaños Docker #10! 15

Llamado a la acción

◼ Construir los archivosYML (deployment, svc)

◼ Ejecutar el comando kubectl apply -f .

◼ Verificar el puerto del cluster kubectl get svc

◼ Ingresar al navegador wer http://localhost:puerto

15/04/2023 ¡Feliz cumpleaños Docker #10! 16

Llamado a la acción watchkubectlgetpods

kubectldeletepodnombre--force--grace-period0

15/04/2023 ¡Feliz cumpleaños Docker #10! 17

Integración y despliegue continuo

Repositorio

Usuario

15/04/2023 ¡Feliz cumpleaños Docker #10! 18
Jenkins

¿Qué es GitOps?

GitOps usa los repositorios de Git como única fuente de verdad para ofrecer una infraestructura como código. El código enviado verifica el proceso de integración continua (CI), mientras que el proceso de distribución continua (CD) comprueba y aplica los requisitos en torno a la seguridad, la infraestructura como código o cualquier otro límite establecido para el marco de la aplicación.

Dado que se hace un seguimiento de todos los cambios en el código, resulta más sencillo implementar las actualizaciones.

Además, se puede usar el control de versiones para restaurar el sistema, en caso de ser necesario.

15/04/2023 ¡Feliz cumpleaños Docker #10! 19

GitOps ofrece:

◼ Un flujo de trabajo estándar para el desarrollo de las aplicaciones

◼ Mayor seguridad para definir los requisitos de las aplicaciones por anticipado

◼ Confiabilidad mejorada con un sistema de supervisión y control de versiones a través deGit

◼ Uniformidad en todos los clústeres, las nubes y los entornos locales

15/04/2023 ¡Feliz cumpleaños Docker #10! 20

¿Qué es GitOps?

También se pueden combinar otras herramientas para diseñar un marco de GitOps, como los repositoriosdeGit, Kubernetes,lasherramientasde integración y distribución continuas (CI/CD) y las degestióndelaconfiguración.

15/04/2023 ¡Feliz cumpleaños Docker #10! 21

Kelsey Hightower @kelseyhightower

15/04/2023 ¡Feliz cumpleaños Docker #10! 22

GitOps es lo mejor desde la configuración como código.Git cambió la forma en que colaboramos, pero la configuración declarativa es la clave para manejar la infraestructura a escala y sienta las bases para la próxima generación de herramientas de administración.

Kelsey Hightower @kelseyhightower
15/04/2023 ¡Feliz cumpleaños Docker #10! 23

Weave GitOps

15/04/2023 ¡Feliz cumpleaños Docker #10! 24

Weave GitOps

Weave GitOps es un producto de entrega continua gratuito y de código abierto para ejecutar aplicaciones en cualquier Kubernetes. Está alimentadoporFlux,queWeaveworksdonóaCNCF.

Experimente lo fácil que es habilitar GitOps y ejecutar sus aplicaciones en un clúster. Use Git para colaborarconlosmiembrosdelequipohaciendoque lasnuevasimplementacionesseanfácilesyseguras.

15/04/2023 ¡Feliz cumpleaños Docker #10! 25

Weave GitOps

15/04/2023 ¡Feliz cumpleaños Docker #10! 26

Motivos para elegir GitOps

GitOpsutilizalasfilosofíasylosenfoquesofrecidosa quienes invierten en la cultura de DevOps y proporciona un marco para empezar a obtener resultados. Según el informe anual

StateofDevOpsReport, las empresas que implementan las prácticas de DevOps logran mejorar considerablemente la estabilidad y la velocidad con que generan innovaciones para las aplicacionesyelcódigo.

15/04/2023 ¡Feliz cumpleaños Docker #10! 27

Motivos para elegir GitOps

GitOps utiliza los flujos de trabajo de Git que conocen los desarrolladores para ampliar los procesos actuales, desde el desarrollo de la aplicación hasta la implementación, la gestión del ciclo de vida y la configuración de la infraestructura. Los cambios que se implementan durante el ciclo de vida de la aplicación se registran en el repositorio de Git y se pueden auditar. Esto permite que los desarrolladores finalmente puedan trabajar a gusto: escriben el código a su propio ritmo sin tener que esperar a que los equipos de operaciones les asignen o aprueben los recursos.

15/04/2023 ¡Feliz cumpleaños Docker #10! 28

Motivos para elegir GitOps

En cuanto a los equipos de operaciones, el hecho de que puedan obtener información sobre los cambios implica que les será posible rastrear y solucionar los problemas con rapidez para mejorar la seguridad general. Los registros de auditoría actualizados permiten que las empresas reduzcan el riesgo de enfrentarse a cambios no deseados y los corrijan antesdequelleguenalaetapadeproducción.

15/04/2023 ¡Feliz cumpleaños Docker #10! 29

Motivos para elegir GitOps

Estos cambios en el código, desde la etapa de desarrollo hasta la de producción, agilizan la capacidad de respuesta de las empresas en el panoramaempresarialycompetitivo.

15/04/2023 ¡Feliz cumpleaños Docker #10! 30

Get GitOps Certified Argo

15/04/2023 ¡Feliz cumpleaños Docker #10! 31

¿Qué es la entrega progresiva?

What is Progressive Delivery

La entrega progresiva es la práctica de implementar unaaplicacióndemaneragradual,loquepermiteun tiempo de inactividad mínimo y reversiones fáciles. Hay varias formas de entrega progresiva, como blue/green, canary, a/b y feature flags.

15/04/2023 ¡Feliz cumpleaños Docker #10! 32

Introducción a los lanzamientos de Argo

Argo Rollouts es un controlador de entrega progresivo creado para Kubernetes. Le permite implementar su aplicación con un tiempo de inactividad mínimo o nulo al adoptar una forma gradual de implementación en lugar de adoptar un enfoque de "todo a la vez".

Argo Rollouts potencia su clúster de Kubernetes y, además de las actualizaciones continuas, ahora puede hacer lo siguiente:

◼ Despliegues azul/verde

◼ Despliegues canarios

◼ PruebasA/B

◼ Retrocesos automáticos

◼ Análisis métrico integrado

15/04/2023 ¡Feliz cumpleaños Docker #10! 33

Controllers

En Kubernetes, los controladores son bucles de controlquevigilanelestadodesugrupo,luegohaga o solicite cambios cuando sea necesario. Cada controlador intenta acercar el estado actual del clústeralestadodeseado.

15/04/2023 ¡Feliz cumpleaños Docker #10! 34

Llamado a la acción

Siguientespasos…

15/04/2023 ¡Feliz cumpleaños Docker #10! 35
Referencias 15/04/2023 36 ◼https://www.redhat.com/es/topics/devops/w hat-is-gitops ◼https://www.youtube.com/watch?v=KlUjaPZr z9c&t=838s ◼https://mmorejon.io/eventos/ ¡Feliz cumpleaños Docker #10!

¡ GRACIAS !

15/04/2023 37 ¡Feliz cumpleaños Docker #10!

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.