Combina Docker Swarm y Kubernetes

12

Mi compañía está tratando de ponerse al día en el espacio de DevOps. He estado investigando mucho sobre la contenedorización de aplicaciones y los sistemas de orquestación que la acompañan. Me encontré con un artículo (uno que desearía haber guardado) en el que hablaban sobre combinar Swarm con Kubernetes para obtener una mejor funcionalidad. En este artículo no definieron lo que ganaron al hacer eso.

Me preguntaba qué beneficios proporcionaría esto. ¿Agregar la capa adicional de complejidad realmente le dará mucho retorno?

EDITAR: Estoy buscando pro / contra técnicos. KISS es un buen lema, pero no se sostiene en un debate con su CEO o Junta.

Estoy casi seguro de que seleccionaremos Docker para nuestros contenedores y Swarm para una orquestación. Sin embargo, me gustaría ver a Kubernetes en nuestro espacio, por lo que me intriga la propuesta de que podrían fusionar las tecnologías para obtener una solución más sólida. Gracias por cualquier idea.

EvanM
fuente
1
Las palabras operativas aquí son 'me intriga'. Eres parte de un negocio. Debe haber una razón comercial válida para hacerlo. No es su interés, no la magia técnica, una razón comercial sólida para combinar esos dos. Si no hay tal razón comercial para comenzar, inventarla es simplemente poco ético. Lo que está proponiendo está llevando al desperdicio de los recursos del negocio por razones personales y éticamente es similar a la malversación de fondos.
Jiri Klouda
Debatí si responder a esto o no porque, francamente, siento que esta conversación es una pérdida de tiempo. Sí, soy parte de un negocio, sí, me intriga, no, no estoy inventando nada y la actitud que ha tenido desde el principio es injustificada. La intriga es lo que impulsa la tecnología hacia adelante, buscar las razones por las cuales / por qué no es parte del trabajo y simplemente hacer preguntas a quienes se han ido antes que usted es una buena práctica. Esta pregunta estaba destinada a obtener comentarios de personas que realmente han trabajado en estas plataformas y tienen opiniones válidas sobre el tema.
EvanM
No busco un debate filosófico sobre palabras de moda o acrónimos lindos. Estoy buscando beneficios técnicos o deficiencias y dónde se pueden llenar los vacíos si es necesario. Todo lo publicado ha sido una opinión sin argumentos de hecho. Le agradecería si pudiera explicar qué tecnología utiliza para resolver la contenedorización y la orquestación y las deficiencias que ha encontrado con ella. En ese punto, corresponde a mí y a mi empresa decidir cuál es el mejor camino que debemos tomar. La investigación no es malversación o robo, se llama duediligence y es cómo la buena tecnología se convierte en excelentes soluciones.
EvanM
Quizás estés preguntando en un foro equivocado entonces. DevOps es una disciplina sobre cómo hacer que los negocios sean más eficientes a través de la cultura, los procesos y los medios técnicos. Tenemos una discusión animada sobre la tecnología, pero es desde esta perspectiva. Si está buscando una respuesta desde un punto de vista estrictamente técnico, estoy seguro de que hay muchos grupos de trabajo técnicos para Kubernetes que pueden darle la respuesta que busca.
Jiri Klouda

Respuestas:

10

Actualización: Docker acaba de lanzar soporte para Kubernetes como programador, lo que cambia la situación y hace de Kubernetes un programador alternativo para Docker Swarm.

TL; DR: NO LO HAGAS. Los ingenieros siempre intentan crear estos cerdos. Cada tecnología innecesaria que traigas traerá otro conjunto completo de fallas. Si puedes elegir uno, elige uno y sé feliz de no tener que hacer las dos cosas. Si te gusta jugar con Kubernetes, solo obtén una cuenta privada en Google Cloud y juega con ella todo lo que quieras. Pero no haga que todos en su empresa sufran complicaciones innecesarias.

Esas son dos tecnologías paralelas y en su mayoría equivalentes . Si su empresa tenía una razón comercial legítima para desplegarse en múltiples proveedores de Cloud por confiabilidad, por ejemplo, y deseaba implementar tanto en AWS ECS (Elastic Container Service - basado en Docker) como en Google GKE (Container Engine - basado en Kubernetes) y estaba preguntando cómo ¿Construye una tubería, que construiría su software y paquete en contenedores para su implementación en ambos , eso sería otra cosa, pero hacerlo solo porque quiere jugar con una nueva tecnología es muy irresponsable.

Jiri Klouda
fuente
No diría que quiero 'jugar' con Kubernetes. Hay razones comerciales por las que lo prefiero a Swarm. Uno es la comunidad y su suposición de que solo quiero hacer algo está mal. No estoy en desacuerdo con su comentario de perro-cerdo, proveniente de un puesto de ingeniero de sistemas que he visto / evitado muchas veces, o al menos lo he intentado. No ha proporcionado ninguna indicación de que ha trabajado con las lecciones aprendidas ni con detalles técnicos de por qué; No creo que esto aborde mi pregunta.
EvanM
Utilizo 'jugar con' en lugar de 'trabajar con' a veces en parte en el sentido de trabajo divertido y en parte basado en el favorito de mi madre: "Simplemente juegas con computadoras todo el día y nunca haces ningún trabajo real". :)
Jiri Klouda
Gotcha, yo hago lo mismo. Solo quería dejar en claro que este no era un intento de medio riesgo para obligar a Kubernetes a pasar por la garganta de mi compañía. De ahí la pregunta. El presentimiento es que no hay una "buena" razón, pero tampoco podría ignorar ese artículo.
EvanM
1
Mira, todos hemos estado allí. El negocio planea ir con una tecnología, cuando creas que la otra es mejor y quieres trabajar de alguna manera con la otra o al menos con ambas y mostrarles cómo tu elección fue mucho mejor. Es un clásico. No importa lo que piense, no combine los dos para hacerlo o para demostrar que tiene razón. Incluso si pudiera justificarlo, su trabajo es diseñar la solución para evitar hacerlo. BESO. Haz que funcione con Swarm, convence a todos de que usen Kubernetes o dejen de fumar y trabajen en el lugar donde usarán Kubernetes.
Jiri Klouda
0

Una razón para usar Kubernetes como programador si usa o consideraría a Azure como proveedor de la nube es su servicio AKS relativamente nuevo (kubernetes administrados). Sin embargo, en este caso no combinarías kubernetes con enjambre de docker.

Esto para mí es una clara indicación de hacia dónde va la comunidad. No quisiera aprender algo que luego necesitaría tirar a la basura.

El gato con botas
fuente