Kubernetes en local

De Ardemans Wiki
Revisión a fecha de 16:15 2 mar 2016; Pmblanco (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar
  1. Instalación de kubernetes local
    1. Introducción

Pasos para tener un servicio de Kuberentes mono-nodo en nuestra máquina linux. Estos pasos están probados sobre una Ubuntu 14.04

    1. Prerequisitos

Solo funciona con Linux!!! Hay que tener instalado Docker

    1. Referencias

Esta todo sacado de aqui: https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/getting-started-guides/docker.md

    1. Pasos a seguir
      1. Preconfiguracion de nuestra máquina Linux

Hacen falta algunos parámetros especiales en el arranque de nuestro Kernel de Linux, para lo cual he tenido que editar el fichero ***/boot/config-$(uname -r)***

``` CONFIG_RESOURCE_COUNTERS=y CONFIG_MEMCG=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG_SWAP_ENABLED=y CONFIG_MEMCG_KMEM=y ```

y también hay que cambiar las opciones de arranque desde el grub, para lo cual he cambiado el fichero ***/etc/default/grub***, cambiando el valor de la variable:

``` GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1" ```

y después ejecutando:

```bash $ update-grub ```

      1. Ejecución de contenedores
        1. Ejecutamos el servicio ETCD

``` docker run --net=host -d gcr.io/google_containers/etcd:2.0.12 /usr/local/bin/etcd --addr=127.0.0.1:4001 --bind-addr=0.0.0.0:4001 --data-dir=/var/etcd/data ```

        1. Ejecutamos el servicio Master

``` docker run \

   --volume=/:/rootfs:ro \
   --volume=/sys:/sys:ro \
   --volume=/dev:/dev \
   --volume=/var/lib/docker/:/var/lib/docker:ro \
   --volume=/var/lib/kubelet/:/var/lib/kubelet:rw \
   --volume=/var/run:/var/run:rw \
   --net=host \
   --pid=host \
   --privileged=true \
   -d \
   gcr.io/google_containers/hyperkube:v1.1.3 \
   /hyperkube kubelet --containerized --hostname-override="127.0.0.1" \
                      --address="0.0.0.0" --api-servers=http://localhost:8080 \
                      --config=/etc/kubernetes/manifests

```


        1. Ejecutamos el proxy de servicios

``` docker run -d --net=host --privileged gcr.io/google_containers/hyperkube:v1.1.3 /hyperkube proxy --master=http://127.0.0.1:8080 --v=2 ```

      1. Parada y arranque

Parar el servico es fácil, solo hay que tener en cuenta parar primero el contenedor que arranca ***hyperkube kubelet***, y después podemos parar todos los demas que hacen referencia a kubernetes

Para arrancar el servicio tendremos que hacer la misma secuencia que cuando lo creamos, pero con docker start

``` docker start <id_contenedor_etcd> docker start <id_contenedor_hypekube_kubelet> docker start <id_contenedor_hyperkube_proxy> ```