pricing docker google-compute-engine kubernetes google-cloud-platform google-container-engine

docker - pricing - ¿Cómo SSH para acoplar el contenedor en el clúster kubernetes?



kubernetes pricing (4)

No puedo encontrar un lugar adecuado para SSH para realizar cambios en el repositorio en el que Docker ejecuta el REPL.

Cuando crea un clúster, aprovisiona varias máquinas virtuales de nodo en su proyecto de nube de Google. Si observa https://console.cloud.google.com/compute/instances , debería verlos y cada uno tendrá una dirección IP externa en la que podrá ssh. Luego cree un túnel ssh a una máquina virtual de nodo que envíe un puerto local a la dirección IP del pod.

Tenga en cuenta que si está ejecutando varias réplicas de su aplicación clojure, debe conectarse a cada réplica por separado para actualizar la aplicación.

Soy bastante nuevo en la plataforma Google Cloud y Docker, y configuré un grupo de nodos, hice un Dockerfile que copia un repositorio y ejecuta un REPL de Clojure en un puerto público. Puedo conectarme a él desde mi IDE y jugar con mi código, ¡increíble!

Sin embargo, ese REPL probablemente debería canalizarse a través de SSH, pero aquí es donde comienza mi problema. No puedo encontrar un lugar adecuado para SSH para realizar cambios en el repositorio en el que Docker ejecuta el REPL:

  • La IP expuesta solo expone el servicio REPL (¿el término kubernetes correcto?) Y no me permite ingresar SSH.
  • El punto final maestro del clúster tampoco me da un error de clave pública, aunque he seguido la Adding or removing SSH keys for all of the instances in your project parte del Adding or removing SSH keys for all of the instances in your project here .

Me gustaría editar los archivos de origen a través de SSH pero necesitaría acceder al repositorio de código de la ventana acoplable. No sé cómo proceder.

Entiendo que esta no es exactamente una forma típica de implementar aplicaciones, por lo que ni siquiera estoy seguro de que sea posible que varios nodos trabajen con un código base de docker modificado (¿los nodos comparten la JVM de alguna manera?).

Concretamente, mi pregunta es ¿cómo hago SSH en el contenedor de la ventana acoplable para acceder al código base?


El formato del comando para Kubernetes 1.5.0:

kubectl exec -it <POD NAME> -c <CONTAINER NAME> bash


La mejor manera de adjuntar al contenedor a través del comando exec.

Adjuntar a la ventana acoplable corriendo contenedor

docker exec -it YOUR_CONTAINER_ID bash

Adjuntar a Kubernetes corriendo contenedor.

kubectl exec -it YOUR_CONTAINER/POD_NAME bash

Adjuntar a Kubernetes ejecutando contenedor en un espacio de nombres dado.

kubectl exec -it YOUR_CONTAINER/POD_NAME -n YOUR_NAMESPACE bash


Listar instancias:

gcloud compute instances list

SSH en instancia:

gcloud compute ssh <instance_name> --zone=<instance_zone>

En la instancia, liste los procesos en ejecución y sus identificadores de contenedor:

sudo docker ps -a

Adjuntar a un contenedor:

sudo docker exec -it <container_id> bash