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 delAdding 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