Como ajudar suas equipes de desenvolvimento a começar a usar o Kubernetes

Cómo ayudar a sus equipos de desarrollo a comenzar con Kubernetes

Si su empresa realmente quiere ser ágil y competitiva, Kubernetes debe ser parte de la ecuación.

Imagem em destaque

Las aplicaciones en contenedores y los microservicios están de moda en todo el panorama empresarial. Hay una razón (o doce) para esto. En primer lugar, los contenedores permiten a las empresas escalar rápidamente (incluso automáticamente) sus implementaciones según sea necesario. También existe un nivel de automatización que las aplicaciones monolíticas tradicionales no pueden alcanzar.

Dejando a un lado las razones para implementar aplicaciones en contenedores, una vez que comience a adentrarse en esta madriguera, eventualmente se dará cuenta de que conduce directamente a Kubernetes.

¿Qué es Kubernetes? En pocas palabras, Kubernetes es una plataforma de orquestación de contenedores que permite no solo implementar sino también gestionar esas implementaciones con un control muy granular y a escala.

Pero es probable que sus equipos de desarrollo puedan lanzarse directamente a las aguas de Kubernetes sin saber primero en qué se están metiendo. Ahí es donde entras tú. Con un poco de ayuda suya (u otros gerentes), puede preparar a sus equipos para que no tropiecen y tengan problemas con Kubernetes.

¿Por qué es esto necesario? Porque Kubernetes no es fácil. De hecho, es muy posible que sea una de las piezas de tecnología más desafiantes que utilizarán sus equipos de desarrollo.

Dicho esto, descubramos cómo puede ayudar a estos equipos a comenzar con Kubernetes.

Todo comienza con Docker

Aquí está la cuestión: Docker y Kubernetes ya trabajaron muy bien juntos. De hecho, Kubernetes solía depender de Docker para funcionar. Sin embargo, Kubernetes eliminó el soporte de Docker de la plataforma en versiones recientes. Es una pena, ya que Docker es una de las formas más sencillas de aprender a utilizar e implementar contenedores.

Pero aunque Docker se haya retirado de Kubernetes, aún puede iniciar su empresa de desarrollo de Kubernetes con Docker. Debido a que Docker es tan fácil de entender y usar, sus desarrolladores pueden comprender cómo funcionan las aplicaciones en contenedores casi sin esfuerzo.

Descubre los componentes

Además del tiempo de ejecución (como Docker, Podman, Containerd), sus equipos de desarrollo deberán estar familiarizados con el resto de los componentes que componen Kubernetes. Estos componentes son:

  • kube-apiserver: expone la API de Kubernetes para que sea posible hablar con el clúster.
  • etcd: almacén distribuido de valores clave donde se almacenan los datos relacionados con el clúster.
  • kube-scheduler: responsable de programar todos los pods en los nodos trabajadores.
  • kube-controller-manager: responsable de observar un objeto dentro del clúster y garantizar que el estado actual coincida con el estado deseado.
  • administrador-controlador de nube: le permite vincular su clúster a un proveedor de nube.
  • kubelet: responsable de la comunicación con Kubernetes.
  • kube-proxy: proxy de red que se ejecuta en todos los nodos.
  • nodo: una máquina trabajadora conectada al clúster.

JSON

Cada manifiesto de Kubernetes tiene varias cosas en común, pero todo comienza con JSON, que significa notación de objetos JavaScript. Es el formato en el que se escriben todos los manifiestos de Kubernetes.

Comprender el formato JSON es esencial para aprender Kubernetes. Un ejemplo de manifiesto de Kubernetes podría verse así:

 Versión api: aplicaciones/v1
 tipo: Despliegue
 metadatos:
 nombre: implementación de nginx
 etiquetas:
 aplicación: nginx
 Especificaciones:
 réplicas: 3
 selector:
 coincidirEtiquetas:
 aplicación: nginx
 plantilla:
 metadatos:
 etiquetas: 
aplicación: nginx
 Especificaciones:
 contenedores:
 - nombre: nginx
 imagen: nginx: 1.14.2
 puertos:
 - puerto de contenedores: 80

Es muy importante comprender cómo funciona el diseño y cómo depende en gran medida de la coherencia de la sangría. Si las sangrías en sus manifiestos no son consistentes, las implementaciones fallarán.

Todo sobre la línea de comando

Existen muchas herramientas GUI potentes que puede utilizar para Kubernetes, pero en algún momento, sus desarrolladores tendrán que sentirse cómodos con la línea de comandos. Ya sea que esté implementando sus aplicaciones y microservicios en contenedores en un centro de datos interno o en un host en la nube de terceros (como AWS o Azure), la interfaz de línea de comandos (CLI) se convertirá en una necesidad.

Esto es especialmente cierto si planea agregar CI/CD (integración continua/implementación continua) a la combinación.

Hablando de CI/CD...

GitHub

Si su empresa planea aprovechar CI/CD para flujos de trabajo ágiles e implementaciones automatizadas, sus equipos de desarrollo deberán tener un conocimiento sólido de cómo funciona GitHub. Y no estamos hablando sólo de la interfaz basada en web, sino también de la línea de comandos. Sus equipos deben poder conectarse (y trabajar desde) un repositorio de GitHub y vincularlo a su clúster de Kubernetes si quieren lograr algún nivel de automatización ágil y consistente.

Empieza pequeño

En lugar de que sus equipos se sumerjan directamente en Kubernetes, sería mejor que dieran pequeños pasos con productos como MiniKube, que hace que sea realmente fácil configurar un clúster de Kubernetes local en macOS, Linux y Windows. Con MiniKube en uso, sus desarrolladores individuales pueden familiarizarse con cómo funciona Kubernetes sin interactuar directamente con sus implementaciones de producción.

Utilice Minikube como campo de pruebas y entrenamiento. Una vez que sus desarrolladores dominen esta tecnología, deberían estar listos para pasar a la tecnología real.

Conclusión

Aunque Kubernetes es una plataforma muy desafiante, si sus desarrolladores se lanzan a ella con un poco de planificación y comprensión, no deberían tener problemas para ayudar a que su empresa se enfrente a la competencia. Agregue estos mismos desarrolladores a la mezcla sin un poco de control y pueden surgir problemas.

Conteúdo Relacionado

O Rails 8 sempre foi um divisor de águas...
A GenAI está transformando a força de trabalho com...
Entenda o papel fundamental dos testes unitários na validação...
Aprenda como os testes de carga garantem que seu...
Aprofunde-se nas funções complementares dos testes positivos e negativos...
Vídeos deep fake ao vivo cada vez mais sofisticados...
Entenda a metodologia por trás dos testes de estresse...
Descubra a imprevisibilidade dos testes ad hoc e seu...
A nomeação de Nacho De Marco para o Fast...
Aprenda como os processos baseados em IA aprimoram o...
No Kubernetes, um Secret é um objeto que armazena...
À medida que as empresas adotam cada vez mais...
O Kubernetes está impulsionando o futuro da computação em...
Um dia, durante uma atualização planejada do cluster k8s,...
Quando as equipes de TI, virtualização, backup, armazenamento e...
Inicialmente vistos como entidades separadas, CF e K8s gradualmente...
Kubernetes (K8s) inegavelmente transformou a implantação e o gerenciamento...
À medida que mais organizações adotam o Kubernetes para...
Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.