De contenedores Docker a Google Kubernetes

Pregunta:

Este es un poco teórico, pero tengan paciencia conmigo.

Actualmente tengo un servidor que ejecuta algunos contenedores Docker (4 o 5, según el día y la hora). Planeo agregar otro, como el primero, y tal vez incluso un tercero.

Ahora, mi pregunta es la siguiente: ¿Debería llegar el momento en que tenga 15 contenedores para administrar, en lugar de 5, hay algún mérito en usar Google Kubernetes?

Además, ¿existe un flujo de trabajo 'oficial', o al menos 'definitivo', para migrar de los contenedores de Docker a los 'pods', la unidad nativa de Kubernetes? Antes de preguntar, sé que las vainas están hechas de contenedores (a veces incluso uno). Mi problema principal aquí es que los 'dockerfiles' son completamente diferentes de las configuraciones de pod.

¿Algunas ideas?

Respuesta:

¿Debería llegar el momento en que tenga 15 contenedores para administrar, en lugar de 5, hay algún mérito en usar Google Kubernetes?

Si ejecuta contenedores en un solo servidor usando el demonio de Docker y su API remota suena apropiado.

Si necesita ejecutar contenedores en más de un servidor, ahí es donde las soluciones de orquestación como Kubernetes , Docker swarm , Fleet , Mesos , Geard se vuelven útiles.

Mi problema principal aquí es que los 'dockerfiles' son completamente diferentes de las configuraciones de pod.

Porque tienen diferentes finalidades:

  • Dockerfile especifica cómo construir una imagen de contenedor a partir de un árbol de fuentes
  • pod.yaml define cómo programar (imagen, línea de comando, volúmenes, puerto) un conjunto de contenedores pod.yaml (compartiendo espacio de nombres de red y volúmenes) en uno de los nodos de su clúster.

Puede ver los pods como una forma declarativa de especificar un conjunto de docker run --net=container:... -v ... -p ...

Además, ¿existe un flujo de trabajo 'oficial', o al menos 'definitivo', para migrar de los contenedores de Docker a los 'pods', la unidad nativa de Kubernetes?

Hay una pequeña herramienta en kubernetes / contrib llamada podex que le permite generar un manifiesto de pod a partir de metadatos de imágenes almacenados en el registro público.

$ go get github.com/GoogleCloudPlatform/kubernetes/contrib/podex
$ podex google/nodejs-hello
id: nodejs-hello
kind: Pod
apiVersion: v1beta1
desiredState:
  manifest:
    version: v1beta2
    containers:
    - name: nodejs-hello
      image: google/nodejs-hello
      ports:
      - name: nodejs-hello-tcp-8080
        containerPort: 8080

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım