Diferencia entre revisiones de «Kubernetes en local»
(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: | ||
− | + | = 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 = | |
Solo funciona con Linux!!! | Solo funciona con Linux!!! | ||
Hay que tener instalado Docker | Hay que tener instalado Docker | ||
− | + | = 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 = | |
− | + | == 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 | + | 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: | ||
− | + | <pre> | |
$ update-grub | $ update-grub | ||
− | + | </pre> | |
− | + | == Ejecución de contenedores == | |
− | + | === 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 === | |
− | + | <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=== | |
− | + | <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== | |
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
Contenido
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>