Kubernetes: configuración
Es importante configurar el centro de datos virtual (vDC) antes de configurar Kubernetes. Esto puede considerarse como un conjunto de máquinas donde pueden comunicarse entre sí a través de la red. Para un enfoque práctico, puede configurar vDC enPROFITBRICKS si no tiene configurada una infraestructura física o en la nube.
Una vez que se completa la configuración de IaaS en cualquier nube, debe configurar el Master y el Node.
Note- La configuración se muestra para máquinas Ubuntu. Lo mismo se puede configurar en otras máquinas Linux.
Prerrequisitos
Installing Docker- Se requiere Docker en todas las instancias de Kubernetes. Los siguientes son los pasos para instalar Docker.
Step 1 - Inicie sesión en la máquina con la cuenta de usuario root.
Step 2- Actualiza la información del paquete. Asegúrese de que el paquete apt esté funcionando.
Step 3 - Ejecute los siguientes comandos.
$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates
Step 4 - Agregue la nueva clave GPG.
$ sudo apt-key adv \
--keyserver hkp://ha.pool.sks-keyservers.net:80 \
--recv-keys 58118E89F3A912897C070ADBF76221572C52609D
$ echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee
/etc/apt/sources.list.d/docker.list
Step 5 - Actualiza la imagen del paquete de API.
$ sudo apt-get update
Una vez que se completen todas las tareas anteriores, puede comenzar con la instalación real del motor Docker. Sin embargo, antes de esto, debe verificar que la versión del kernel que está utilizando sea correcta.
Instalar Docker Engine
Ejecute los siguientes comandos para instalar el motor Docker.
Step 1 - Inicie sesión en la máquina.
Step 2 - Actualiza el índice del paquete.
$ sudo apt-get update
Step 3 - Instale Docker Engine usando el siguiente comando.
$ sudo apt-get install docker-engine
Step 4 - Inicie el demonio de Docker.
$ sudo apt-get install docker-engine
Step 5 - Para saber si Docker está instalado, use el siguiente comando.
$ sudo docker run hello-world
Instalar etcd 2.0
Esto debe instalarse en Kubernetes Master Machine. Para instalarlo, ejecute los siguientes comandos.
$ curl -L https://github.com/coreos/etcd/releases/download/v2.0.0/etcd
-v2.0.0-linux-amd64.tar.gz -o etcd-v2.0.0-linux-amd64.tar.gz ->1
$ tar xzvf etcd-v2.0.0-linux-amd64.tar.gz ------>2
$ cd etcd-v2.0.0-linux-amd64 ------------>3
$ mkdir /opt/bin ------------->4
$ cp etcd* /opt/bin ----------->5
En el conjunto de comandos anterior:
- Primero, descargamos el etcd. Guarde esto con el nombre especificado.
- Luego, tenemos que eliminar el alquitrán del paquete tar.
- Hacemos un dir. dentro del contenedor con nombre / opt.
- Copie el archivo extraído en la ubicación de destino.
Ahora estamos listos para construir Kubernetes. Necesitamos instalar Kubernetes en todas las máquinas del clúster.
$ git clone https://github.com/GoogleCloudPlatform/kubernetes.git
$ cd kubernetes
$ make release
El comando anterior creará un _outputdir en la raíz de la carpeta kubernetes. A continuación, podemos extraer el directorio en cualquiera de los directorios de nuestra elección / opt / bin, etc.
A continuación, viene la parte de la red en la que debemos comenzar con la configuración del maestro y el nodo de Kubernetes. Para hacer esto, haremos una entrada en el archivo host que se puede hacer en la máquina del nodo.
$ echo "<IP address of master machine> kube-master
< IP address of Node Machine>" >> /etc/hosts
Lo siguiente será el resultado del comando anterior.
Ahora, comenzaremos con la configuración real en Kubernetes Master.
Primero, comenzaremos a copiar todos los archivos de configuración a su ubicación correcta.
$ cp <Current dir. location>/kube-apiserver /opt/bin/
$ cp <Current dir. location>/kube-controller-manager /opt/bin/
$ cp <Current dir. location>/kube-kube-scheduler /opt/bin/
$ cp <Current dir. location>/kubecfg /opt/bin/
$ cp <Current dir. location>/kubectl /opt/bin/
$ cp <Current dir. location>/kubernetes /opt/bin/
El comando anterior copiará todos los archivos de configuración en la ubicación requerida. Ahora volveremos al mismo directorio donde hemos creado la carpeta Kubernetes.
$ cp kubernetes/cluster/ubuntu/init_conf/kube-apiserver.conf /etc/init/
$ cp kubernetes/cluster/ubuntu/init_conf/kube-controller-manager.conf /etc/init/
$ cp kubernetes/cluster/ubuntu/init_conf/kube-kube-scheduler.conf /etc/init/
$ cp kubernetes/cluster/ubuntu/initd_scripts/kube-apiserver /etc/init.d/
$ cp kubernetes/cluster/ubuntu/initd_scripts/kube-controller-manager /etc/init.d/
$ cp kubernetes/cluster/ubuntu/initd_scripts/kube-kube-scheduler /etc/init.d/
$ cp kubernetes/cluster/ubuntu/default_scripts/kubelet /etc/default/
$ cp kubernetes/cluster/ubuntu/default_scripts/kube-proxy /etc/default/
$ cp kubernetes/cluster/ubuntu/default_scripts/kubelet /etc/default/
El siguiente paso es actualizar el archivo de configuración copiado en / etc. dir.
Configure etcd en master usando el siguiente comando.
$ ETCD_OPTS = "-listen-client-urls = http://kube-master:4001"
Configurar kube-apiserver
Para esto en el maestro, necesitamos editar el /etc/default/kube-apiserver archivo que copiamos anteriormente.
$ KUBE_APISERVER_OPTS = "--address = 0.0.0.0 \
--port = 8080 \
--etcd_servers = <The path that is configured in ETCD_OPTS> \
--portal_net = 11.1.1.0/24 \
--allow_privileged = false \
--kubelet_port = < Port you want to configure> \
--v = 0"
Configurar el administrador del controlador de kube
Necesitamos agregar el siguiente contenido en /etc/default/kube-controller-manager.
$ KUBE_CONTROLLER_MANAGER_OPTS = "--address = 0.0.0.0 \
--master = 127.0.0.1:8080 \
--machines = kube-minion \ -----> #this is the kubernatics node
--v = 0
A continuación, configure el programador de kube en el archivo correspondiente.
$ KUBE_SCHEDULER_OPTS = "--address = 0.0.0.0 \
--master = 127.0.0.1:8080 \
--v = 0"
Una vez que se hayan completado todas las tareas anteriores, podemos continuar y abrir el Kubernetes Master. Para hacer esto, reiniciaremos Docker.
$ service docker restart
Configuración del nodo de Kubernetes
El nodo de Kubernetes ejecutará dos servicios kubelet and the kube-proxy. Antes de seguir adelante, necesitamos copiar los binarios que descargamos en sus carpetas requeridas donde queremos configurar el nodo de kubernetes.
Utilice el mismo método para copiar los archivos que hicimos para kubernetes master. Como solo ejecutará kubelet y kube-proxy, los configuraremos.
$ cp <Path of the extracted file>/kubelet /opt/bin/
$ cp <Path of the extracted file>/kube-proxy /opt/bin/
$ cp <Path of the extracted file>/kubecfg /opt/bin/
$ cp <Path of the extracted file>/kubectl /opt/bin/
$ cp <Path of the extracted file>/kubernetes /opt/bin/
Ahora, copiaremos el contenido en el directorio apropiado.
$ cp kubernetes/cluster/ubuntu/init_conf/kubelet.conf /etc/init/
$ cp kubernetes/cluster/ubuntu/init_conf/kube-proxy.conf /etc/init/
$ cp kubernetes/cluster/ubuntu/initd_scripts/kubelet /etc/init.d/
$ cp kubernetes/cluster/ubuntu/initd_scripts/kube-proxy /etc/init.d/
$ cp kubernetes/cluster/ubuntu/default_scripts/kubelet /etc/default/
$ cp kubernetes/cluster/ubuntu/default_scripts/kube-proxy /etc/default/
Configuraremos el kubelet y kube-proxy conf archivos.
Configuraremos el /etc/init/kubelet.conf.
$ KUBELET_OPTS = "--address = 0.0.0.0 \
--port = 10250 \
--hostname_override = kube-minion \
--etcd_servers = http://kube-master:4001 \
--enable_server = true
--v = 0"
/
Para kube-proxy, lo configuraremos usando el siguiente comando.
$ KUBE_PROXY_OPTS = "--etcd_servers = http://kube-master:4001 \
--v = 0"
/etc/init/kube-proxy.conf
Finalmente, reiniciaremos el servicio Docker.
$ service docker restart
Ahora hemos terminado con la configuración. Puede verificar ejecutando los siguientes comandos.
$ /opt/bin/kubectl get minions