Estoy intentando usar ansible para ejecutar un libro de jugadas contra una instancia de GCE existente desde Google Cloud Shell (que a mi entender es una instancia especial de GCE)

La Guía GCE hace que parezca que tal vez debería recoger automáticamente las credenciales si me voy ellos en blanco.

Cuando ejecute Ansible dentro de una VM GCE, puede usar las credenciales de la cuenta de servicio del servidor de metadatos local configurando service_account_email y credentials_file en una cadena en blanco.

Sin embargo, el intento de ssh falla. ¿Debo seguir haciendo algo para permitir GCE -> GCE ssh? ¿Quizás necesito especificar qué usuario usar para el intento de ssh? Si alguien tiene un ejemplo de trabajo que sería excelente.

Editar: agregué una clave ssh de todo el proyecto para mi usuario de Google (el usuario devuelto por 'whoami' cuando inicio sesión en una instancia o shell de nube) usando estas instrucciones, pero todavía no puedo pasar a otras instancias manualmente o con ansible.

2
Chad Autry 23 mar. 2017 a las 06:01

2 respuestas

La mejor respuesta

Creo que la forma más conveniente de ejecutar Ansible desde Google Cloud Shell, ahora, es usar el proyecto Ansible dockerizado que he creado. En mi último intento de instalar Ansible en Google Cloud Shell VM no pude hacer que funcionara. Sin embargo, Docker está disponible de forma predeterminada.

Además, ya no creo que sea práctico intentar extraer credenciales automáticamente de la VM. Por lo tanto, el contenedor requiere credenciales de cuenta de servicio que he incluido enlaces a instrucciones sobre cómo crear con los roles requeridos.

https://github.com/chad-autry/wac-gce-ansible

0
Chad Autry 19 mar. 2019 a las 15:33

A partir de mis búsquedas (por ejemplo, proyectos, comentarios, preguntas del foro, etc.), no parece posible a través de la configuración hacer que Ansible se conecte automáticamente a otras instancias de GCE sin configurar las claves ssh.

Sin embargo, 'gcloud compute ssh' puede conectarse automáticamente a otras instancias de GCE desde dentro de GCE. Sospecho (y estoy intentando) un script que imita la API ssh utilizada por Ansible, pero los delegados a gcloud podrían permitir que Ansible funcione sin administración de claves.

1
Chad Autry 26 mar. 2017 a las 19:08