Google Cloud Contenedores
Contenido
Introducción
gcloud SDK
Instalación
TODO: buscar el manual de como se instala y al menos hacer referencia
Hará falta instalar la app kubectl para manejar los elementos de nuestro nuevo kubernetes
$gcloud components install kubectl
Configuraciones
Para ver las configuraciones de gcloud:
$ gcloud config list
Y veremos la lista de parámetros definidos en nuestra configuración
[app] use_appengine_api = True [compute] region = europe-west1 zone = europe-west1-b [container] cluster = clusterone [core] account = xxxxx@xxxxxxxx.com disable_usage_reporting = True project = delta-tuner-XXXXXX [meta] active_config = default
Con ese mismo comando podremos cambiar los parámetros que necesitemos, por ejemplo, cambiar el cluster de contenedores con el que queremos trabajar
$ gcloud config set container/cluster clustertwo
Usando diferentes configuraciones
Si tenemos varios proyectos o varias cuentas en google cloud podremos crearnos "perfiles" en del comando gcloud, que en realida le llaman "configurations"
Para ver la lista de configuraciones que tenemos podemos ejecutar
$ gcloud config configurations list
Lo que nos dará una lista de perfiles que tenemos y uno de ellos aparecerá como activo. Para activar cualquiera de ellos:
$ gcloud config configurations activate <perfil>
Si queremos crear uno nuevo:
$ gcloud config configurations create <perfil>
Una vez que estamos en nuestro perfil podemos ejecutar la primera vez gcloud init para empezar la configuracion.
Todos los datos de configuración de nuestros perfiles se almacenan en ~/.config/gcloud/configurations, y para saber cual es la configuracion activa es un fichero de texto en ~/.config/gcloud/active_config
El registro de Imagenes
Cada proyecto de Google Cloud dispone de un registro de imágenes de docker con el que los clusters de Kubernetes pueden trabajar. A este repositorio podemos hacer push de nuestras imágenes de docker con gcloud. Primero lo que hace falta es saber la URL con la que acceder al registro. Esta dirección es la combinación de la URL especifica para cada zona, el ID de proyecto y el nombre de la imagen. Por ejemplo:
eu.gcr.io/delta-tuner-xxxxxx/miweb
Una vez que tenemos la dirección podemos etiquetar con la dirección la imagen que queremos subir, y hacer push desde el comando gcloud ``` $ docker tag eu.gcr.io/delta-tuner-xxxxxx/miweb:latest $ gcloud docker push eu.gcr.io/delta-tuner-xxxxxx/miweb:latest ``` De todas formas, cuando haces "login" con gcloud te modifica el fichero .dockercfg para añadirte las credenciales para subir al registro de google cloud, con lo cual se podría hacer con docker push también.
Mismas operaciones para hacer pull de imagenes en el registro de Google Cloud.
Usando nuestro cluster de kubernetes
Tendremos que seleccionar el proyecto y el cluster con el que vamos a trabajar, tal y como se explica en el apartado de configuración Para poder usar el comando kubectl tendremos que "bajarnos" las credenciales que dicho cluster a nuestro fichero de configuración de kube:
$ gcloud container clusters get-credentials clustertwo
Eso actualizará el fichero ~/.kube/config