- Cuatro Raspberry Pi 4.
- Cluster case
- Cuatro USB C
- Disipadores
- Ventiladores.
- Cuatro memorias SD 32GB ScanDisk Ultra serie 10.
Descargar Raspberry Pi Imager.
- OS: Raspberry Pi OS Lite (64-bit)
- En "Set hostname:" darle un nombre específico al nodo (cada Raspberry va a ser un nodo en el cluster).
- La convención acá va a ser:
enflujo1.local
,enflujo2.local
,enflujo3.local
, etc.
- La convención acá va a ser:
- Activar SSH.
- Crear nombre de usuario y contraseña. Estos los usamos luego para conectarse por SSH.
- (opcional) Configurar el WiFi donde SSID es el nombre de la red.
Poner la memoria SD a la Raspberry y conectarla a corriente. Esperar un momento mientras carga.
Inicialmente no estamos haciendo cambios a la configuración general, pero para hacerlo:
sudo raspi-config
Para tener un terminal más cómodo.
Actualizar dependencias:
sudo apt update
sudo apt dist-upgrade --yes
Instalar zsh:
sudo apt install zsh --yes
Definir como SHELL predeterminado:
chsh -s $(which zsh)
Salir:
exit
volver a entrar:
Al reiniciar debe configurarse el zsh. Para ello hay dos opciones:
-
Escribir en el terminal zsh y luego escoger la opción (2).
-
Al entrar de nuevo escoger la opción (2) si el menú de opciones aparece automáticamente
(2) Populate your ~/.zshrc with the configuration recommended by the system administrator and exit (you will need to edit the file by hand, if so desired).
2
Instalar git
sudo apt install git --yes
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
zsh fast syntax highlighting
git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git \
${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting
Powerlevel10k
-
Instalar las fuentes:
MesloLGS NF Regular.ttf MesloLGS NF Bold.ttf MesloLGS NF Italic.ttf MesloLGS NF Bold Italic.ttf
-
Escoger las fuentes desde el terminal. Abrir Terminal → Preferencias y escoger el profile predeterminado. Escoger luego
custom fonts
(activarlo si aun no lo está) y escogerMesloLGS NF Regular
.
Hacer lo siguiente para configurar las fuentes en VS Code:
Abrir File → Preferences → Settings (PC) o Code → Preferences → Settings (Mac), escribir terminal.integrated.fontFamily
en la caja de búsqueda y poner el nombre de la fuente: MesloLGS NF
. Para ver los cambios es necesario reiniciar VS Code.
- Instalar el tema en sí mismo:
3.a. Clonar el repositorio:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
3.b. Poner el tema dentro del archivo ~/.zshrc
(para abrir este archivo seguir las instrucciones abajo "Activar estos plugins")
ZSH_THEME="powerlevel10k/powerlevel10k"
- Reiniciar zsh
exec zsh
- Configurar el tema. Escribir lo siguiente en la consola si no aparece automáticamente:
p10k configure
sudo nano ~/.zshrc
Con el teclado, presionar la fecha de abajo hasta la línea que dice plugins=(git)
y sumar los plugins que acabamos de descargar:
plugins=(git zsh-autosuggestions fast-syntax-highlighting)
Para actualizar Oh My ZSH automáticamente, quitar el comentario #
en la linea.
zstyle ':omz:update' mode auto
Guardar los cambios con CTRL+o
.
Salir del editor con CTRL+x
.
Activar los cambios:
source ~/.zshrc
Listo, ahora al escribir en el terminar deben salir las sugerencias al escribir y usar colores que resaltan el texto.
Esta configuración es para todos los repositorios
git config --global user.name "nombre.usuario"
Confirmar el nombre del usuario:
git config --global user.name
Confirmar el email del usuario:
git config --global user.email
Tener instalado Github CLI:
Para Linux (Debian, Ubuntu Linux, Raspberry Pi OS (apt))
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh
Luego de tener esto instalado, configuramos nuestro acceso a Github:
gh auth login
Escogemos después la cuenta desde donde queremos loguearnos. Por lo general se escoge desde Github.com. Después escogemos el protocolo HTTPS. Luego aceptamos la autenticación con las credenciales de Github y escogemos si se realiza por medio del navegador web o por medio de un token de autenticación.
Si se escoge la autenticación por medio del navegador web es necesario ingresar el codigo que aparece en este punto de la instalación. Ingresando este código en el navegador la autenticación queda completa con este mensaje: "logged in as nombre.usuario"
Antes de instalar Docker Engine por primera vez en una nueva máquina es necesario configurar el repositorio de Docker. Luego es posible instalar y actualizar Docker desde su repositorio.
Configurar el repositorio:
Actualizar apt e instalar los paquetes para que apt pueda utilizar un repositorio sobre HTTPS
sudo apt-get update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
Añadir luego la clave GPC para el repositorio oficial de Docker en el sistema
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Configurar el repositorio estable
sudo echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Para asegurar que la instalación fue exitosa correr el siguiente comando
sudo docker run hello-world
Para evitar poner siempre en la terminal sudo
antecediendo al comando docker
debemos crear un grupo Unix llamado docker y agregar posteriormente los usuarios.
Pasos para crear el grupo:
- Crear el grupo:
sudo groupadd docker
- Agregar nuestro usuario al grupo:
sudo usermod -aG docker $USER
- Activar los cambios en el grupo:
newgrp docker
- Verificar que podemos correr docker sin sudo:
docker run hello-world
La mayoría de distribuciones de Linux (RHEL, CentOS, Fedora, Debian, Ubuntu 16.04 y superiores) usan systemd para controlar qué servicios se inician cuando se prende el computador. En Debian y Ubuntu el servicio de Docker está configurado para iniciar por defecto. Para iniciar Docker y Containerd al prender el computador en otras distribuciones se usan los siguientes comandos:
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
Para desactivar este comportamiento se usa el mismo comando pero con disable.
sudo systemctl disable docker.service
sudo systemctl disable containerd.service
- Instalar curl si aún no está instalado
sudo apt install curl
- Instalar nvm:
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
- Aplicar los cambios para no tener que reiniciar el terminal:
source ~/.profile
- Agregar el plugin nvm a la lista del archivo de oh-my-zsh
4.a. Abrir el archivo .zshrc con
nano ~/.zshrc
4.b. Buscar plugins=(git) y anadir nvm con espacio entre plugins
4.c. Guardar cambios con control + O
, y luego control + X
para salir.
4.d. Aplicar cambios con source ~/.zshrc
,
- Para confirmar que la instalacion fue exitosa poner en el terminal:
command -v nvm
La respuesta debe ser: nvm
nvm install --lts
npm i -g yarn
- Acceder al archivo /etc/sudoers
sudo visudo
- Ir al final del archivo
/etc/sudoers
y agregar la siguiente linea
`suNombreDeUsuario` ALL=(ALL) NOPASSWD:ALL