Cluster Raspberry Pi

Placas y sistemas de desarrollo con tecnología empotrada

Cluster Raspberry Pi

Notapor biblioman » Sab Jul 15, 2017 8:22 am

Hola a tod@s. En este tema iré poniendo los videos y comandos relacionados con el Cluster de Raspberry Pi que tenéis en mi canal de YouTube.






Ahora algunos comandos utilizados en los videos:

S.O Hypriot
===========

usuario: pirate
clave: hypriot

Para poner una IP Fija
=================
sudo nano /etc/network/interfaces

# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
#source-directory /etc/network/interfaces.d
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.32
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 90.59.61.253 90.58.61.253 ( los que tengais vosotos separados por un espacio)

Para cambiar el hostname
========================

sudo nano /boot/device-init.yaml

hostname: "black-pearl"

Comandos docker:
===============

sudo docker run hello-world
docker run -d -p 8080:80 hypriot/rpi-busybox-httpd

sudo docker ps
sudo docker ps -a

sudo docker run --name docker-nginx -p 80:80 -d nginx
sudo docker rm docker-nginx

Para mapear directorios del contenedor a carpetas de nuestra máquina host:
-----------------------------------------------------------------------------------------------------

En el directorio root:

mkdir -p ~/docker-nginx/html
cd ~/docker-nginx/html

vim index.html

<html>
<head>

<title>Docker nginx Tutorial</title>
</head>
<body>

<h1>Hello wordl</h1>
<p>This nginx page is brought to you by Docker</p>

</body>
</html>


sudo docker run --name docker-nginx -p 80:80 -d -v ~/docker-nginx/html:/usr/share/nginx/html nginx

sudo docker stop docker-nginx

sudo docker rm docker-nginx

sudo docker restart docker-nginx

docker stop $(docker ps -a -q)

docker rm $(docker ps -a -q)

sudo docker rm -f -v $(sudo docker ps -a -q)

docker rm -vf $(docker ps -aq)

docker rm -v $(docker ps -q -f status=exited)

docker rm -v nombre_contenedor


El siguiente comando hace una limpieza de contenedores parados y volumenes huerfanos:
------------------------------------------------------------------------------------

docker system prune

Nota: al ejecutarlo mostrará el siguiente mensaje:

WARNING! This will remove:

- all stopped containers

- all volumes not used by at least one container

- all images without at least one container associated to them

Are you sure you want to continue? [y/N] y


Docker SWARM
============

Para crear el cluster en el nodo que hará de master:
----------------------------------------------------
docker swarm init

Nota: Nos mostrará un token para que podamos unir nodos al cluster


Para unir mas nodos al cluster tendremos que ejecutar esto en cada nodo:
------------------------------------------------------------------------

docker swarm join --token SWMTKN-1-25935o989u6e9uulc2hv74jink6c7wtxli8obw126k90bu05mn-4llfk1z0qf3p7kun9gkt5k6d2 192.168.1.10:2377


Si se nos ha perdido el token podemos recuperarlo ejecutando en el master:
-------------------------------------------------------------------------
docker swarm join-token worker

Para cambiar el tocken:
----------------------
para invalidar el antiguo token y generar un nuevo token. Especificar si desea girar el token para el worker o manager de los nodos:
swarm join-token --rotate
Ejemplo: docker swarm join-token --rotate worker

Para ver el listado de nodos que forman el cluster:
--------------------------------------------------
docker node ls

docker info

Para desvincular un nodo del cluster:
------------------------------------
docker swarm leave
docker swarm leave --force (para eliminar el master)


Para borrar un nodo:
-------------------
docker node rm node9
docker node rm --force node9

Para crear un servicio en el nodo master:
----------------------------------------

docker service create --name=portainer --publish=4445:9000/tcp --constraint=node.role==manager --mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock portainer/portainer
docker service create --name my_web --replicas 3 --publish 8080:80 hypriot/rpi-busybox-httpd

docker service create \
--name viz \
--publish 8080:8080/tcp \
--constraint node.role==manager \
--mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
alexellis2/visualizer-arm:latest

Para mostrar información de los servicios:
-----------------------------------------

docker service ls
docker service inspect --pretty <SERVICE-ID>

Para ver qué nodos están ejecutando el servicio:
-----------------------------------------------
docker service ps <SERVICE-ID>

Para escalar un servicio:
------------------------
docker service scale <SERVICE-ID>=<NUMBER-OF-TASKS>

Para borrar un servicio:
-----------------------
docker service rm portainer


Para parar la máquina:
=====================

sudo shutdown -h now
Avatar de Usuario
biblioman
Usuario Nivel 10
 
Mensajes: 2002
Registrado: Vie Mar 20, 2009 5:58 pm

Volver a Sistemas Embebidos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados

cron