Diferencia entre revisiones de «Kubernetes en local»

De Ardemans Wiki
Saltar a: navegación, buscar
(Página creada con «# Instalación de kubernetes local ## Introducción Pasos para tener un servicio de Kuberentes mono-nodo en nuestra máquina linux. Estos pasos están probados sobre una U...»)
 
 
Línea 1: Línea 1:
# Instalación de kubernetes local
+
= Introducción =
 
+
## 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
 
Pasos para tener un servicio de Kuberentes mono-nodo en nuestra máquina linux. Estos pasos están probados sobre una Ubuntu 14.04
  
## Prerequisitos
+
= Prerequisitos =
  
 
Solo funciona con Linux!!!
 
Solo funciona con Linux!!!
 
Hay que tener instalado Docker
 
Hay que tener instalado Docker
  
## Referencias
+
= Referencias =
  
Esta todo sacado de aqui:
+
Esta todo sacado de aqui [https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/getting-started-guides/docker.md]
https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/getting-started-guides/docker.md
+
  
## Pasos a seguir
+
= Pasos a seguir =
  
### Preconfiguracion de nuestra máquina Linux
+
== 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)***
+
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)'''
  
```
+
<pre>
 
CONFIG_RESOURCE_COUNTERS=y
 
CONFIG_RESOURCE_COUNTERS=y
 
CONFIG_MEMCG=y
 
CONFIG_MEMCG=y
Línea 25: Línea 22:
 
CONFIG_MEMCG_SWAP_ENABLED=y
 
CONFIG_MEMCG_SWAP_ENABLED=y
 
CONFIG_MEMCG_KMEM=y
 
CONFIG_MEMCG_KMEM=y
```
+
</pre>
  
 
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:
 
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:
  
```
+
<pre>
 
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
 
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
```
+
</pre>
  
 
y después ejecutando:
 
y después ejecutando:
  
```bash
+
<pre>
 
$ update-grub
 
$ update-grub
```
+
</pre>
  
### Ejecución de contenedores
+
== Ejecución de contenedores ==
  
#### Ejecutamos el servicio ETCD
+
=== Ejecutamos el servicio ETCD ===
  
```
+
<pre>
 
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
 
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
```
+
</pre>
  
#### Ejecutamos el servicio Master
+
=== Ejecutamos el servicio Master ===
  
```
+
<pre>
 
docker run \
 
docker run \
 
     --volume=/:/rootfs:ro \
 
     --volume=/:/rootfs:ro \
Línea 65: Línea 62:
 
                       --address="0.0.0.0" --api-servers=http://localhost:8080 \
 
                       --address="0.0.0.0" --api-servers=http://localhost:8080 \
 
                       --config=/etc/kubernetes/manifests
 
                       --config=/etc/kubernetes/manifests
```
+
</pre>
  
  
#### Ejecutamos el proxy de servicios
+
=== Ejecutamos el proxy de servicios===
  
```
+
<pre>
 
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
 
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
```
+
</pre>
  
### Parada y arranque
+
== 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
 
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
Línea 80: Línea 77:
 
Para arrancar el servicio tendremos que hacer la misma secuencia que cuando lo creamos, pero con docker start
 
Para arrancar el servicio tendremos que hacer la misma secuencia que cuando lo creamos, pero con docker start
  
```
+
<pre>
 
docker start <id_contenedor_etcd>
 
docker start <id_contenedor_etcd>
 
docker start <id_contenedor_hypekube_kubelet>
 
docker start <id_contenedor_hypekube_kubelet>
 
docker start <id_contenedor_hyperkube_proxy>
 
docker start <id_contenedor_hyperkube_proxy>
```
+
</pre>

Última revisión de 16:18 2 mar 2016

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

Prerequisitos

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

Referencias

Esta todo sacado de aqui [1]

Pasos a seguir

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:

$ update-grub

Ejecución de contenedores

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

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


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

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>