<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>http://howto.riu.edu.ar/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sloyola</id>
	<title>HowTo ARIU - Contribuciones del usuario [es]</title>
	<link rel="self" type="application/atom+xml" href="http://howto.riu.edu.ar/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sloyola"/>
	<link rel="alternate" type="text/html" href="http://howto.riu.edu.ar/index.php/Especial:Contribuciones/Sloyola"/>
	<updated>2026-07-03T17:03:37Z</updated>
	<subtitle>Contribuciones del usuario</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>http://howto.riu.edu.ar/index.php?title=Troncal_PJSIP_Asterisk_y_HT813&amp;diff=26</id>
		<title>Troncal PJSIP Asterisk y HT813</title>
		<link rel="alternate" type="text/html" href="http://howto.riu.edu.ar/index.php?title=Troncal_PJSIP_Asterisk_y_HT813&amp;diff=26"/>
		<updated>2025-01-09T19:32:38Z</updated>

		<summary type="html">&lt;p&gt;Sloyola: Página blanqueada&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sloyola</name></author>
	</entry>
	<entry>
		<id>http://howto.riu.edu.ar/index.php?title=Troncal_PJSIP_Asterisk_y_HT813&amp;diff=25</id>
		<title>Troncal PJSIP Asterisk y HT813</title>
		<link rel="alternate" type="text/html" href="http://howto.riu.edu.ar/index.php?title=Troncal_PJSIP_Asterisk_y_HT813&amp;diff=25"/>
		<updated>2025-01-09T19:32:17Z</updated>

		<summary type="html">&lt;p&gt;Sloyola: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Para configurar una troncal PJSIP entre un dispositivo HT813 (un adaptador de teléfono analógico) y un servidor Asterisk, hay que seguir una serie de pasos para asegurar que ambos dispositivos se comuniquen correctamente. A continuación, te proporciono una guía básica sobre cómo hacerlo:&lt;br /&gt;
&lt;br /&gt;
### Paso 1: Configuración del Grandstream HT813&lt;br /&gt;
&lt;br /&gt;
El **HT813** es un adaptador de teléfono analógico (ATA) que puede funcionar con Asterisk utilizando el protocolo SIP. A continuación se muestra cómo configurarlo para trabajar con Asterisk.&lt;br /&gt;
&lt;br /&gt;
1. **Acceder a la interfaz web del HT813:**&lt;br /&gt;
   - Conéctate a la IP del dispositivo HT813 desde un navegador web. Normalmente, esta IP se puede encontrar en el menú de tu router o utilizando una herramienta de escaneo de redes.&lt;br /&gt;
   - Usa las credenciales predeterminadas para iniciar sesión (`admin` para usuario y `admin` para contraseña, si no se han cambiado).&lt;br /&gt;
&lt;br /&gt;
2. **Configurar el perfil SIP:**&lt;br /&gt;
   - Ve a **Accounts** en el menú superior.&lt;br /&gt;
   - En **Account 1** (o el número de cuenta que desees configurar), configura lo siguiente:&lt;br /&gt;
     - **SIP Server**: La IP del servidor Asterisk (Ej. `192.168.1.100`).&lt;br /&gt;
     - **SIP Port**: 5060 (el puerto predeterminado SIP para Asterisk).&lt;br /&gt;
     - **SIP User ID**: El nombre de usuario que asignarás para esta troncal en Asterisk (Ej. `ht813`).&lt;br /&gt;
     - **Authenticate ID**: El mismo que el User ID, por lo general (`ht813`).&lt;br /&gt;
     - **Password**: La contraseña que usarás en la configuración de Asterisk para esta troncal (Ej. `password123`).&lt;br /&gt;
&lt;br /&gt;
3. **Configurar los puertos del teléfono analógico:**&lt;br /&gt;
   - En la sección de **FXS Ports**, configura los puertos de teléfono según lo que necesites. Puedes especificar si deseas que el puerto sea activo, o asignar un número de extensión.&lt;br /&gt;
&lt;br /&gt;
4. **Guardar y reiniciar el dispositivo:**&lt;br /&gt;
   - Guarda los cambios y reinicia el dispositivo para que tome la nueva configuración.&lt;br /&gt;
&lt;br /&gt;
### Paso 2: Configuración de Asterisk&lt;br /&gt;
&lt;br /&gt;
Ahora necesitas configurar Asterisk para que reconozca la troncal PJSIP que se conectará desde el HT813.&lt;br /&gt;
&lt;br /&gt;
1. **Configurar `pjsip.conf`:**&lt;br /&gt;
   - Accede al archivo de configuración `pjsip.conf`, que suele estar en `/etc/asterisk/pjsip.conf`.&lt;br /&gt;
   &lt;br /&gt;
   - Añade una entrada para la troncal PJSIP que corresponde al HT813:&lt;br /&gt;
&lt;br /&gt;
     ```ini&lt;br /&gt;
     [ht813]&lt;br /&gt;
     type = endpoint&lt;br /&gt;
     transport = transport-udp&lt;br /&gt;
     context = from-trunk&lt;br /&gt;
     disallow = all&lt;br /&gt;
     allow = ulaw,alaw&lt;br /&gt;
     aors = ht813&lt;br /&gt;
     auth = ht813-auth&lt;br /&gt;
     outbound_proxy = 192.168.1.100  ; IP del HT813&lt;br /&gt;
     context = from-trunk  ; o el contexto que prefieras&lt;br /&gt;
&lt;br /&gt;
     [ht813-auth]&lt;br /&gt;
     type = auth&lt;br /&gt;
     auth_type = userpass&lt;br /&gt;
     password = password123  ; Contraseña configurada en el HT813&lt;br /&gt;
     username = ht813  ; Nombre de usuario configurado en el HT813&lt;br /&gt;
&lt;br /&gt;
     [ht813]&lt;br /&gt;
     type = aor&lt;br /&gt;
     contact = sip:ht813@192.168.1.100  ; IP del HT813&lt;br /&gt;
     ```&lt;br /&gt;
&lt;br /&gt;
   - **Aclaraciones**:&lt;br /&gt;
     - `outbound_proxy`: Este es opcional y sirve para indicar que las solicitudes SIP se enviarán directamente a la IP del dispositivo (en este caso, al HT813).&lt;br /&gt;
     - `context`: Es el contexto en el cual las llamadas se deben dirigir. Generalmente, es un contexto de &amp;quot;from-trunk&amp;quot; o &amp;quot;from-pstn&amp;quot;, dependiendo de cómo se desee gestionar.&lt;br /&gt;
&lt;br /&gt;
2. **Configurar `extensions.conf`:**&lt;br /&gt;
   - Ahora abre el archivo `extensions.conf` para establecer cómo manejar las llamadas entrantes desde el HT813. Por ejemplo:&lt;br /&gt;
&lt;br /&gt;
     ```ini&lt;br /&gt;
     [from-trunk]&lt;br /&gt;
     exten =&amp;gt; _X.,1,Dial(PJSIP/${EXTEN}@ht813)&lt;br /&gt;
     ```&lt;br /&gt;
&lt;br /&gt;
   - Este ejemplo configura a Asterisk para que cuando se reciba una llamada de la troncal PJSIP (ht813), se marque a la extensión que se haya marcado en el teléfono analógico conectado al HT813.&lt;br /&gt;
&lt;br /&gt;
### Paso 3: Reiniciar Asterisk&lt;br /&gt;
&lt;br /&gt;
Después de realizar las configuraciones, es necesario reiniciar Asterisk para que los cambios tengan efecto. Ejecuta el siguiente comando en la consola de Asterisk:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
sudo asterisk -rx &amp;quot;core restart now&amp;quot;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
O puedes usar:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
sudo systemctl restart asterisk&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
### Paso 4: Verificación&lt;br /&gt;
&lt;br /&gt;
1. **Verificar las conexiones SIP:**&lt;br /&gt;
   - Ejecuta el siguiente comando en la consola de Asterisk para verificar que la troncal PJSIP se haya registrado correctamente:&lt;br /&gt;
&lt;br /&gt;
     ```bash&lt;br /&gt;
     pjsip show endpoints&lt;br /&gt;
     ```&lt;br /&gt;
&lt;br /&gt;
   - Si el HT813 está registrado correctamente, deberías ver el estado &amp;quot;Registered&amp;quot; en la salida de este comando.&lt;br /&gt;
&lt;br /&gt;
2. **Probar la llamada:**&lt;br /&gt;
   - Realiza una llamada desde un teléfono conectado al HT813 para asegurarte de que se enruta correctamente a través de Asterisk.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Con estos pasos deberías tener configurada la troncal PJSIP entre el HT813 y Asterisk. Si tienes algún problema, revisa los registros de Asterisk (`/var/log/asterisk/full`) para obtener más detalles sobre posibles errores.&lt;/div&gt;</summary>
		<author><name>Sloyola</name></author>
	</entry>
	<entry>
		<id>http://howto.riu.edu.ar/index.php?title=Troncal_PJSIP_Asterisk_y_HT813&amp;diff=24</id>
		<title>Troncal PJSIP Asterisk y HT813</title>
		<link rel="alternate" type="text/html" href="http://howto.riu.edu.ar/index.php?title=Troncal_PJSIP_Asterisk_y_HT813&amp;diff=24"/>
		<updated>2025-01-09T19:32:10Z</updated>

		<summary type="html">&lt;p&gt;Sloyola: Página blanqueada&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sloyola</name></author>
	</entry>
	<entry>
		<id>http://howto.riu.edu.ar/index.php?title=Troncal_PJSIP_Asterisk_y_HT813&amp;diff=23</id>
		<title>Troncal PJSIP Asterisk y HT813</title>
		<link rel="alternate" type="text/html" href="http://howto.riu.edu.ar/index.php?title=Troncal_PJSIP_Asterisk_y_HT813&amp;diff=23"/>
		<updated>2025-01-09T19:31:39Z</updated>

		<summary type="html">&lt;p&gt;Sloyola: Página creada con «Para configurar una troncal PJSIP entre un dispositivo HT813 (un adaptador de teléfono analógico) y un servidor Asterisk, hay que seguir una serie de pasos para asegurar que ambos dispositivos se comuniquen correctamente. A continuación, te proporciono una guía básica sobre cómo hacerlo:  ### Paso 1: Configuración del Grandstream HT813  El **HT813** es un adaptador de teléfono analógico (ATA) que puede funcionar con Asterisk utilizando el protocolo SIP. A con…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Para configurar una troncal PJSIP entre un dispositivo HT813 (un adaptador de teléfono analógico) y un servidor Asterisk, hay que seguir una serie de pasos para asegurar que ambos dispositivos se comuniquen correctamente. A continuación, te proporciono una guía básica sobre cómo hacerlo:&lt;br /&gt;
&lt;br /&gt;
### Paso 1: Configuración del Grandstream HT813&lt;br /&gt;
&lt;br /&gt;
El **HT813** es un adaptador de teléfono analógico (ATA) que puede funcionar con Asterisk utilizando el protocolo SIP. A continuación se muestra cómo configurarlo para trabajar con Asterisk.&lt;br /&gt;
&lt;br /&gt;
1. **Acceder a la interfaz web del HT813:**&lt;br /&gt;
   - Conéctate a la IP del dispositivo HT813 desde un navegador web. Normalmente, esta IP se puede encontrar en el menú de tu router o utilizando una herramienta de escaneo de redes.&lt;br /&gt;
   - Usa las credenciales predeterminadas para iniciar sesión (`admin` para usuario y `admin` para contraseña, si no se han cambiado).&lt;br /&gt;
&lt;br /&gt;
2. **Configurar el perfil SIP:**&lt;br /&gt;
   - Ve a **Accounts** en el menú superior.&lt;br /&gt;
   - En **Account 1** (o el número de cuenta que desees configurar), configura lo siguiente:&lt;br /&gt;
     - **SIP Server**: La IP del servidor Asterisk (Ej. `192.168.1.100`).&lt;br /&gt;
     - **SIP Port**: 5060 (el puerto predeterminado SIP para Asterisk).&lt;br /&gt;
     - **SIP User ID**: El nombre de usuario que asignarás para esta troncal en Asterisk (Ej. `ht813`).&lt;br /&gt;
     - **Authenticate ID**: El mismo que el User ID, por lo general (`ht813`).&lt;br /&gt;
     - **Password**: La contraseña que usarás en la configuración de Asterisk para esta troncal (Ej. `password123`).&lt;br /&gt;
&lt;br /&gt;
3. **Configurar los puertos del teléfono analógico:**&lt;br /&gt;
   - En la sección de **FXS Ports**, configura los puertos de teléfono según lo que necesites. Puedes especificar si deseas que el puerto sea activo, o asignar un número de extensión.&lt;br /&gt;
&lt;br /&gt;
4. **Guardar y reiniciar el dispositivo:**&lt;br /&gt;
   - Guarda los cambios y reinicia el dispositivo para que tome la nueva configuración.&lt;br /&gt;
&lt;br /&gt;
### Paso 2: Configuración de Asterisk&lt;br /&gt;
&lt;br /&gt;
Ahora necesitas configurar Asterisk para que reconozca la troncal PJSIP que se conectará desde el HT813.&lt;br /&gt;
&lt;br /&gt;
1. **Configurar `pjsip.conf`:**&lt;br /&gt;
   - Accede al archivo de configuración `pjsip.conf`, que suele estar en `/etc/asterisk/pjsip.conf`.&lt;br /&gt;
   &lt;br /&gt;
   - Añade una entrada para la troncal PJSIP que corresponde al HT813:&lt;br /&gt;
&lt;br /&gt;
     ```ini&lt;br /&gt;
     [ht813]&lt;br /&gt;
     type = endpoint&lt;br /&gt;
     transport = transport-udp&lt;br /&gt;
     context = from-trunk&lt;br /&gt;
     disallow = all&lt;br /&gt;
     allow = ulaw,alaw&lt;br /&gt;
     aors = ht813&lt;br /&gt;
     auth = ht813-auth&lt;br /&gt;
     outbound_proxy = 192.168.1.100  ; IP del HT813&lt;br /&gt;
     context = from-trunk  ; o el contexto que prefieras&lt;br /&gt;
&lt;br /&gt;
     [ht813-auth]&lt;br /&gt;
     type = auth&lt;br /&gt;
     auth_type = userpass&lt;br /&gt;
     password = password123  ; Contraseña configurada en el HT813&lt;br /&gt;
     username = ht813  ; Nombre de usuario configurado en el HT813&lt;br /&gt;
&lt;br /&gt;
     [ht813]&lt;br /&gt;
     type = aor&lt;br /&gt;
     contact = sip:ht813@192.168.1.100  ; IP del HT813&lt;br /&gt;
     ```&lt;br /&gt;
&lt;br /&gt;
   - **Aclaraciones**:&lt;br /&gt;
     - `outbound_proxy`: Este es opcional y sirve para indicar que las solicitudes SIP se enviarán directamente a la IP del dispositivo (en este caso, al HT813).&lt;br /&gt;
     - `context`: Es el contexto en el cual las llamadas se deben dirigir. Generalmente, es un contexto de &amp;quot;from-trunk&amp;quot; o &amp;quot;from-pstn&amp;quot;, dependiendo de cómo se desee gestionar.&lt;br /&gt;
&lt;br /&gt;
2. **Configurar `extensions.conf`:**&lt;br /&gt;
   - Ahora abre el archivo `extensions.conf` para establecer cómo manejar las llamadas entrantes desde el HT813. Por ejemplo:&lt;br /&gt;
&lt;br /&gt;
     ```ini&lt;br /&gt;
     [from-trunk]&lt;br /&gt;
     exten =&amp;gt; _X.,1,Dial(PJSIP/${EXTEN}@ht813)&lt;br /&gt;
     ```&lt;br /&gt;
&lt;br /&gt;
   - Este ejemplo configura a Asterisk para que cuando se reciba una llamada de la troncal PJSIP (ht813), se marque a la extensión que se haya marcado en el teléfono analógico conectado al HT813.&lt;br /&gt;
&lt;br /&gt;
### Paso 3: Reiniciar Asterisk&lt;br /&gt;
&lt;br /&gt;
Después de realizar las configuraciones, es necesario reiniciar Asterisk para que los cambios tengan efecto. Ejecuta el siguiente comando en la consola de Asterisk:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
sudo asterisk -rx &amp;quot;core restart now&amp;quot;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
O puedes usar:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
sudo systemctl restart asterisk&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
### Paso 4: Verificación&lt;br /&gt;
&lt;br /&gt;
1. **Verificar las conexiones SIP:**&lt;br /&gt;
   - Ejecuta el siguiente comando en la consola de Asterisk para verificar que la troncal PJSIP se haya registrado correctamente:&lt;br /&gt;
&lt;br /&gt;
     ```bash&lt;br /&gt;
     pjsip show endpoints&lt;br /&gt;
     ```&lt;br /&gt;
&lt;br /&gt;
   - Si el HT813 está registrado correctamente, deberías ver el estado &amp;quot;Registered&amp;quot; en la salida de este comando.&lt;br /&gt;
&lt;br /&gt;
2. **Probar la llamada:**&lt;br /&gt;
   - Realiza una llamada desde un teléfono conectado al HT813 para asegurarte de que se enruta correctamente a través de Asterisk.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Con estos pasos deberías tener configurada la troncal PJSIP entre el HT813 y Asterisk. Si tienes algún problema, revisa los registros de Asterisk (`/var/log/asterisk/full`) para obtener más detalles sobre posibles errores.&lt;/div&gt;</summary>
		<author><name>Sloyola</name></author>
	</entry>
	<entry>
		<id>http://howto.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=22</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="http://howto.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=22"/>
		<updated>2025-01-09T19:31:23Z</updated>

		<summary type="html">&lt;p&gt;Sloyola: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tutoriales=&lt;br /&gt;
&lt;br /&gt;
== Servicios ==&lt;br /&gt;
# [[Howto_instalacion_configuracion_sympa | Instalación y configuración de sympa Multi-Dominio]]&lt;br /&gt;
# [[Howto_instalacion_cluster_kubernetes | Cómo instalar Kubernetes (k8s) en el servidor Ubuntu 20.04 LTS]]&lt;br /&gt;
# [[Instalación de Bareos|Configuración de cliente Bareos para el backup]]&lt;br /&gt;
# [[Instalación Icinga]]&lt;br /&gt;
# [[Troncal PJSIP Asterisk y HT813|Troncal PJSIP entre asterisk y grandstream HT813]]&lt;/div&gt;</summary>
		<author><name>Sloyola</name></author>
	</entry>
	<entry>
		<id>http://howto.riu.edu.ar/index.php?title=Howto_instalacion_cluster_kubernetes&amp;diff=14</id>
		<title>Howto instalacion cluster kubernetes</title>
		<link rel="alternate" type="text/html" href="http://howto.riu.edu.ar/index.php?title=Howto_instalacion_cluster_kubernetes&amp;diff=14"/>
		<updated>2023-07-05T13:15:49Z</updated>

		<summary type="html">&lt;p&gt;Sloyola: /* Inicialice el clúster de Kubernetes mediante kubeadm (desde el nodo principal) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Cómo instalar Kubernetes (k8s) en el servidor Ubuntu 20.04 LTS=&lt;br /&gt;
Kubernetes (k8s) es una herramienta de orquestación de contenedores gratuita y de código abierto. Se utiliza para implementar, escalar y administrar aplicaciones basadas en contenedores. En este artículo, demostraremos cómo instalar Kubernetes Cluster en Ubuntu 20.04 LTS Server (Focal Fossa) usando kubeadm. En la configuración de mi laboratorio, he usado tres servidores Ubuntu 20.04 LTS. Los siguientes son los requisitos del sistema en cada sistema Ubuntu.&lt;br /&gt;
&lt;br /&gt;
Mínimo de 2 GB de RAM&lt;br /&gt;
:2 núcleos (2 vCPU)&lt;br /&gt;
:15 GB de espacio libre en /var&lt;br /&gt;
:Usuario privilegiado con derechos sudo&lt;br /&gt;
:Conexión estable a Internet&lt;br /&gt;
&lt;br /&gt;
Los siguientes son los detalles de la configuración de mi laboratorio:&lt;br /&gt;
&lt;br /&gt;
:VM1 (Servidor Ubuntu 20.04 LTS) – K8s-maestro – 192.168.0.10&lt;br /&gt;
:VM2 (Servidor Ubuntu 20.04 LTS) – K8s-nodo-0 – 192.168.0.11&lt;br /&gt;
:VM3  (Servidor Ubuntu 20.04 LTS) – K8s-nodo-1 – 192.168.0.12&lt;br /&gt;
&lt;br /&gt;
==Establecer nombre de host y agregar entradas en el archivo /etc/hosts==&lt;br /&gt;
Use el comando hostnamectl para establecer el nombre de host en cada nodo, el ejemplo se muestra a continuación:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo hostnamectl set-hostname &amp;quot;k8s-maestro&amp;quot;     // Correr el comando en el nodo maestro&lt;br /&gt;
$ sudo hostnamectl set-hostname &amp;quot;k8s-nodo-0&amp;quot;     // Correr el comando en el nodo-0&lt;br /&gt;
$ sudo hostnamectl set-hostname &amp;quot;k8s-nodo-1&amp;quot;     // Correr el comando en el nodo-1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Agregue las siguientes entradas en los archivos /etc/hosts en cada nodo,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
192.168.0.10    k8s-maestro&lt;br /&gt;
192.168.0.11    k8s-nodo-0&lt;br /&gt;
192.168.0.12    k8s-nodo-1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Instale Docker (Container Runtime) en los 3 nodos==&lt;br /&gt;
Inicie sesión en cada nodo y ejecute los siguientes comandos para instalar Docker,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
$ sudo apt install -y docker.io&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ahora inicie y habilite el servicio docker en cada nodo usando el comando systemctl debajo,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable docker.service --now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ejecute el siguiente comando para verificar el estado del servicio docker y su versión,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl status docker&lt;br /&gt;
$ docker --version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Archivo:Kubernetes1.png|marco|izquierda]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Deshabilite el intercambio y habilite el reenvío de IP en todos los nodos==&lt;br /&gt;
Para deshabilitar el intercambio, edite el archivo /etc/fstab y comente la línea que incluye la entrada, ya sea la partición de intercambio o el archivo de intercambio.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo vi /etc/fstab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Guardar y salir del archivo&lt;br /&gt;
&lt;br /&gt;
Ejecute el comando swapoff para deshabilitar el intercambio sobre la marcha&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo swapoff -a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Para habilitar el reenvío de ip de forma permanente, edite el archivo “/etc/sysctl.conf” y busque la línea “net.ipv4.ip_forward=1” y descoméntalo. Después de realizar los cambios en el archivo, ejecute el siguiente comando&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo sysctl -p&lt;br /&gt;
net.ipv4.ip_forward = 1&lt;br /&gt;
$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Instale Kubectl, kubelet y kubeadm en todos los nodos==&lt;br /&gt;
Ejecute los siguientes comandos en los 3 nodos para instalar la utilidad kubectl, kubelet y kubeadm&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install -y apt-transport-https curl&lt;br /&gt;
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add&lt;br /&gt;
$ sudo apt-add-repository &amp;quot;deb http://apt.kubernetes.io/ kubernetes-xenial main&amp;quot;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
$ sudo apt install -y kubelet kubeadm kubectl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Inicialice el clúster de Kubernetes mediante kubeadm (desde el nodo principal)==&lt;br /&gt;
Inicie sesión en su nodo maestro (k8s-maestro) y ejecute debajo del comando &#039;kubeadm init&#039; para inicializar el clúster de Kubernetes,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo kubeadm init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Una vez que el clúster se inicialice correctamente, obtendremos el siguiente resultado&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Your Kubernetes control-plane has initialized successfully!&lt;br /&gt;
&lt;br /&gt;
To start using your cluster, you need to run the following as a regular user:&lt;br /&gt;
&lt;br /&gt;
  mkdir -p $HOME/.kube&lt;br /&gt;
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config&lt;br /&gt;
  sudo chown $(id -u):$(id -g) $HOME/.kube/config&lt;br /&gt;
&lt;br /&gt;
Alternatively, if you are the root user, you can run:&lt;br /&gt;
&lt;br /&gt;
  export KUBECONFIG=/etc/kubernetes/admin.conf&lt;br /&gt;
&lt;br /&gt;
You should now deploy a pod network to the cluster.&lt;br /&gt;
Run &amp;quot;kubectl apply -f [podnetwork].yaml&amp;quot; with one of the options listed at:&lt;br /&gt;
  https://kubernetes.io/docs/concepts/cluster-administration/addons/&lt;br /&gt;
&lt;br /&gt;
Then you can join any number of worker nodes by running the following on each as root:&lt;br /&gt;
&lt;br /&gt;
kubeadm join 192.168.0.10:6443 --token 8nukee.vkircqxe45zyj99m --discovery-token-ca-cert-hash sha256:12345678a51a34a4a98508aaaa09a9085aa3ff99e52b1a4a086de5c8e58e489b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Para comenzar a usar el clúster como un usuario normal, ejecutemos los siguientes comandos, los comandos ya están allí en la salida, simplemente copie y pegue.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$  mkdir -p $HOME/.kube&lt;br /&gt;
$  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config&lt;br /&gt;
$  sudo chown $(id -u):$(id -g) $HOME/.kube/config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ahora una los nodos trabajadores (k8s-nodo-0/1) al clúster, el comando para unirse al clúster ya está en la salida. Copie el comando &amp;quot;kubeadm join&amp;quot; y péguelo en ambos nodos (nodos de trabajo).&lt;br /&gt;
&lt;br /&gt;
Inicie sesión en Nodo-0 y ejecute el siguiente comando,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kubeadm join 192.168.0.10:6443 --token 8nukee.vkircqxe45zyj99m --discovery-token-ca-cert-hash sha256:12345678a51a34a4a98508aaaa09a9085aa3ff99e52b1a4a086de5c8e58e489b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Inicie sesión en Nodo-1 y ejecute el siguiente comando para unirse al clúster,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kubeadm join 192.168.0.10:6443 --token 8nukee.vkircqxe45zyj99m --discovery-token-ca-cert-hash sha256:12345678a51a34a4a98508aaaa09a9085aa3ff99e52b1a4a086de5c8e58e489b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Desde el nodo principal, ejecute el comando &amp;quot;kubectl get nodes&amp;quot; para verificar el estado de los nodos&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ kubectl get nodes&lt;br /&gt;
NAME         STATUS     ROLES    AGE     VERSION&lt;br /&gt;
k8s-maestro   NotReady   master   27m     v1.18.3&lt;br /&gt;
k8s-nodo-0   NotReady   &amp;lt;none&amp;gt;   8m3s    v1.18.3&lt;br /&gt;
k8s-nodo-1   NotReady   &amp;lt;none&amp;gt;   7m19s   v1.18.3&lt;br /&gt;
$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Como podemos ver, tanto los nodos trabajadores como el nodo maestro se han unido al clúster, pero el estado de cada nodo es &amp;quot;No está listo”. Para hacer el estado “Listo” debemos implementar complementos de red Pod basados ​​en la interfaz de red de contenedores (CNI) como calicó, enrutador kube y red de tejido. Como sugiere el nombre, los complementos de red de pod permiten que los pods se comuniquen entre sí.&lt;br /&gt;
&lt;br /&gt;
==Implementar el complemento Calico Pod Network (nodo principal)==&lt;br /&gt;
Desde el nodo maestro, ejecute el siguiente comando para instalar el complemento de red Calico pod,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/calico.yaml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ejecute el siguiente comando para verificar el estado de los pods de todos los espacios de nombres&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kubectl get pods --all-namespaces&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Perfecto, lo anterior confirma que todos los pods están funcionando y en buen estado. Intentemos implementar pods, servicios e implementaciones para ver si nuestro clúster de Kubernetes funciona bien o no.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nota:&#039;&#039;&#039; Para habilitar la función de finalización de bash en su nodo maestro, ejecute lo siguiente&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;source &amp;lt;(kubectl completion bash)&#039; &amp;gt;&amp;gt;~/.bashrc&lt;br /&gt;
$ source .bashrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Instalación de LENS para Escritorio=&lt;br /&gt;
* Obtener la clave de seguridad pública de la LENS y agregarla al conjunto de claves&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -fsSL https://downloads.k8slens.dev/keys/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/lens-archive-keyring.gpg &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Agregue el repositorio de LENS a /etc/apt/sources.list.d.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb [arch=amd64 signed-by=/usr/share/keyrings/lens-archive-keyring.gpg] https://downloads.k8slens.dev/apt/debian stable main&amp;quot; | sudo tee /etc/apt/sources.list.d/lens.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Instalar Escritorio LENS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
apt install lens&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ejecutar LENS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lens-desktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sloyola</name></author>
	</entry>
	<entry>
		<id>http://howto.riu.edu.ar/index.php?title=Howto_instalacion_cluster_kubernetes&amp;diff=13</id>
		<title>Howto instalacion cluster kubernetes</title>
		<link rel="alternate" type="text/html" href="http://howto.riu.edu.ar/index.php?title=Howto_instalacion_cluster_kubernetes&amp;diff=13"/>
		<updated>2023-07-05T13:14:44Z</updated>

		<summary type="html">&lt;p&gt;Sloyola: /* Implementar el complemento Calico Pod Network (nodo principal) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Cómo instalar Kubernetes (k8s) en el servidor Ubuntu 20.04 LTS=&lt;br /&gt;
Kubernetes (k8s) es una herramienta de orquestación de contenedores gratuita y de código abierto. Se utiliza para implementar, escalar y administrar aplicaciones basadas en contenedores. En este artículo, demostraremos cómo instalar Kubernetes Cluster en Ubuntu 20.04 LTS Server (Focal Fossa) usando kubeadm. En la configuración de mi laboratorio, he usado tres servidores Ubuntu 20.04 LTS. Los siguientes son los requisitos del sistema en cada sistema Ubuntu.&lt;br /&gt;
&lt;br /&gt;
Mínimo de 2 GB de RAM&lt;br /&gt;
:2 núcleos (2 vCPU)&lt;br /&gt;
:15 GB de espacio libre en /var&lt;br /&gt;
:Usuario privilegiado con derechos sudo&lt;br /&gt;
:Conexión estable a Internet&lt;br /&gt;
&lt;br /&gt;
Los siguientes son los detalles de la configuración de mi laboratorio:&lt;br /&gt;
&lt;br /&gt;
:VM1 (Servidor Ubuntu 20.04 LTS) – K8s-maestro – 192.168.0.10&lt;br /&gt;
:VM2 (Servidor Ubuntu 20.04 LTS) – K8s-nodo-0 – 192.168.0.11&lt;br /&gt;
:VM3  (Servidor Ubuntu 20.04 LTS) – K8s-nodo-1 – 192.168.0.12&lt;br /&gt;
&lt;br /&gt;
==Establecer nombre de host y agregar entradas en el archivo /etc/hosts==&lt;br /&gt;
Use el comando hostnamectl para establecer el nombre de host en cada nodo, el ejemplo se muestra a continuación:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo hostnamectl set-hostname &amp;quot;k8s-maestro&amp;quot;     // Correr el comando en el nodo maestro&lt;br /&gt;
$ sudo hostnamectl set-hostname &amp;quot;k8s-nodo-0&amp;quot;     // Correr el comando en el nodo-0&lt;br /&gt;
$ sudo hostnamectl set-hostname &amp;quot;k8s-nodo-1&amp;quot;     // Correr el comando en el nodo-1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Agregue las siguientes entradas en los archivos /etc/hosts en cada nodo,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
192.168.0.10    k8s-maestro&lt;br /&gt;
192.168.0.11    k8s-nodo-0&lt;br /&gt;
192.168.0.12    k8s-nodo-1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Instale Docker (Container Runtime) en los 3 nodos==&lt;br /&gt;
Inicie sesión en cada nodo y ejecute los siguientes comandos para instalar Docker,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
$ sudo apt install -y docker.io&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ahora inicie y habilite el servicio docker en cada nodo usando el comando systemctl debajo,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable docker.service --now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ejecute el siguiente comando para verificar el estado del servicio docker y su versión,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl status docker&lt;br /&gt;
$ docker --version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Archivo:Kubernetes1.png|marco|izquierda]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Deshabilite el intercambio y habilite el reenvío de IP en todos los nodos==&lt;br /&gt;
Para deshabilitar el intercambio, edite el archivo /etc/fstab y comente la línea que incluye la entrada, ya sea la partición de intercambio o el archivo de intercambio.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo vi /etc/fstab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Guardar y salir del archivo&lt;br /&gt;
&lt;br /&gt;
Ejecute el comando swapoff para deshabilitar el intercambio sobre la marcha&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo swapoff -a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Para habilitar el reenvío de ip de forma permanente, edite el archivo “/etc/sysctl.conf” y busque la línea “net.ipv4.ip_forward=1” y descoméntalo. Después de realizar los cambios en el archivo, ejecute el siguiente comando&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo sysctl -p&lt;br /&gt;
net.ipv4.ip_forward = 1&lt;br /&gt;
$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Instale Kubectl, kubelet y kubeadm en todos los nodos==&lt;br /&gt;
Ejecute los siguientes comandos en los 3 nodos para instalar la utilidad kubectl, kubelet y kubeadm&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install -y apt-transport-https curl&lt;br /&gt;
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add&lt;br /&gt;
$ sudo apt-add-repository &amp;quot;deb http://apt.kubernetes.io/ kubernetes-xenial main&amp;quot;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
$ sudo apt install -y kubelet kubeadm kubectl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Inicialice el clúster de Kubernetes mediante kubeadm (desde el nodo principal)==&lt;br /&gt;
Inicie sesión en su nodo maestro (k8s-maestro) y ejecute debajo del comando &#039;kubeadm init&#039; para inicializar el clúster de Kubernetes,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo kubeadm init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Una vez que el clúster se inicialice correctamente, obtendremos el siguiente resultado&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Your Kubernetes control-plane has initialized successfully!&lt;br /&gt;
&lt;br /&gt;
To start using your cluster, you need to run the following as a regular user:&lt;br /&gt;
&lt;br /&gt;
  mkdir -p $HOME/.kube&lt;br /&gt;
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config&lt;br /&gt;
  sudo chown $(id -u):$(id -g) $HOME/.kube/config&lt;br /&gt;
&lt;br /&gt;
Alternatively, if you are the root user, you can run:&lt;br /&gt;
&lt;br /&gt;
  export KUBECONFIG=/etc/kubernetes/admin.conf&lt;br /&gt;
&lt;br /&gt;
You should now deploy a pod network to the cluster.&lt;br /&gt;
Run &amp;quot;kubectl apply -f [podnetwork].yaml&amp;quot; with one of the options listed at:&lt;br /&gt;
  https://kubernetes.io/docs/concepts/cluster-administration/addons/&lt;br /&gt;
&lt;br /&gt;
Then you can join any number of worker nodes by running the following on each as root:&lt;br /&gt;
&lt;br /&gt;
kubeadm join 192.168.0.10:6443 --token 8nukee.vkircqxe45zyj99m --discovery-token-ca-cert-hash sha256:55985531e26c194n89805gff17h6558gg4ws77q25a24b086nh5y9r99e159t&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Para comenzar a usar el clúster como un usuario normal, ejecutemos los siguientes comandos, los comandos ya están allí en la salida, simplemente copie y pegue.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$  mkdir -p $HOME/.kube&lt;br /&gt;
$  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config&lt;br /&gt;
$  sudo chown $(id -u):$(id -g) $HOME/.kube/config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ahora una los nodos trabajadores (k8s-nodo-0/1) al clúster, el comando para unirse al clúster ya está en la salida. Copie el comando &amp;quot;kubeadm join&amp;quot; y péguelo en ambos nodos (nodos de trabajo).&lt;br /&gt;
&lt;br /&gt;
Inicie sesión en Nodo-0 y ejecute el siguiente comando,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kubeadm join 192.168.0.10:6443 --token 8nukee.vkircqxe45zyj99m --discovery-token-ca-cert-hash sha256:12345678a51a34a4a98508aaaa09a9085aa3ff99e52b1a4a086de5c8e58e489b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Inicie sesión en Nodo-1 y ejecute el siguiente comando para unirse al clúster,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kubeadm join 192.168.0.10:6443 --token 8nukee.vkircqxe45zyj99m --discovery-token-ca-cert-hash sha256:12345678a51a34a4a98508aaaa09a9085aa3ff99e52b1a4a086de5c8e58e489b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Desde el nodo principal, ejecute el comando &amp;quot;kubectl get nodes&amp;quot; para verificar el estado de los nodos&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ kubectl get nodes&lt;br /&gt;
NAME         STATUS     ROLES    AGE     VERSION&lt;br /&gt;
k8s-maestro   NotReady   master   27m     v1.18.3&lt;br /&gt;
k8s-nodo-0   NotReady   &amp;lt;none&amp;gt;   8m3s    v1.18.3&lt;br /&gt;
k8s-nodo-1   NotReady   &amp;lt;none&amp;gt;   7m19s   v1.18.3&lt;br /&gt;
$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Como podemos ver, tanto los nodos trabajadores como el nodo maestro se han unido al clúster, pero el estado de cada nodo es &amp;quot;No está listo”. Para hacer el estado “Listo” debemos implementar complementos de red Pod basados ​​en la interfaz de red de contenedores (CNI) como calicó, enrutador kube y red de tejido. Como sugiere el nombre, los complementos de red de pod permiten que los pods se comuniquen entre sí.&lt;br /&gt;
&lt;br /&gt;
==Implementar el complemento Calico Pod Network (nodo principal)==&lt;br /&gt;
Desde el nodo maestro, ejecute el siguiente comando para instalar el complemento de red Calico pod,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/calico.yaml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ejecute el siguiente comando para verificar el estado de los pods de todos los espacios de nombres&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kubectl get pods --all-namespaces&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Perfecto, lo anterior confirma que todos los pods están funcionando y en buen estado. Intentemos implementar pods, servicios e implementaciones para ver si nuestro clúster de Kubernetes funciona bien o no.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nota:&#039;&#039;&#039; Para habilitar la función de finalización de bash en su nodo maestro, ejecute lo siguiente&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;source &amp;lt;(kubectl completion bash)&#039; &amp;gt;&amp;gt;~/.bashrc&lt;br /&gt;
$ source .bashrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Instalación de LENS para Escritorio=&lt;br /&gt;
* Obtener la clave de seguridad pública de la LENS y agregarla al conjunto de claves&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -fsSL https://downloads.k8slens.dev/keys/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/lens-archive-keyring.gpg &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Agregue el repositorio de LENS a /etc/apt/sources.list.d.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb [arch=amd64 signed-by=/usr/share/keyrings/lens-archive-keyring.gpg] https://downloads.k8slens.dev/apt/debian stable main&amp;quot; | sudo tee /etc/apt/sources.list.d/lens.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Instalar Escritorio LENS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
apt install lens&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ejecutar LENS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lens-desktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sloyola</name></author>
	</entry>
	<entry>
		<id>http://howto.riu.edu.ar/index.php?title=Howto_instalacion_cluster_kubernetes&amp;diff=12</id>
		<title>Howto instalacion cluster kubernetes</title>
		<link rel="alternate" type="text/html" href="http://howto.riu.edu.ar/index.php?title=Howto_instalacion_cluster_kubernetes&amp;diff=12"/>
		<updated>2023-07-05T13:14:03Z</updated>

		<summary type="html">&lt;p&gt;Sloyola: /* Inicialice el clúster de Kubernetes mediante kubeadm (desde el nodo principal) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Cómo instalar Kubernetes (k8s) en el servidor Ubuntu 20.04 LTS=&lt;br /&gt;
Kubernetes (k8s) es una herramienta de orquestación de contenedores gratuita y de código abierto. Se utiliza para implementar, escalar y administrar aplicaciones basadas en contenedores. En este artículo, demostraremos cómo instalar Kubernetes Cluster en Ubuntu 20.04 LTS Server (Focal Fossa) usando kubeadm. En la configuración de mi laboratorio, he usado tres servidores Ubuntu 20.04 LTS. Los siguientes son los requisitos del sistema en cada sistema Ubuntu.&lt;br /&gt;
&lt;br /&gt;
Mínimo de 2 GB de RAM&lt;br /&gt;
:2 núcleos (2 vCPU)&lt;br /&gt;
:15 GB de espacio libre en /var&lt;br /&gt;
:Usuario privilegiado con derechos sudo&lt;br /&gt;
:Conexión estable a Internet&lt;br /&gt;
&lt;br /&gt;
Los siguientes son los detalles de la configuración de mi laboratorio:&lt;br /&gt;
&lt;br /&gt;
:VM1 (Servidor Ubuntu 20.04 LTS) – K8s-maestro – 192.168.0.10&lt;br /&gt;
:VM2 (Servidor Ubuntu 20.04 LTS) – K8s-nodo-0 – 192.168.0.11&lt;br /&gt;
:VM3  (Servidor Ubuntu 20.04 LTS) – K8s-nodo-1 – 192.168.0.12&lt;br /&gt;
&lt;br /&gt;
==Establecer nombre de host y agregar entradas en el archivo /etc/hosts==&lt;br /&gt;
Use el comando hostnamectl para establecer el nombre de host en cada nodo, el ejemplo se muestra a continuación:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo hostnamectl set-hostname &amp;quot;k8s-maestro&amp;quot;     // Correr el comando en el nodo maestro&lt;br /&gt;
$ sudo hostnamectl set-hostname &amp;quot;k8s-nodo-0&amp;quot;     // Correr el comando en el nodo-0&lt;br /&gt;
$ sudo hostnamectl set-hostname &amp;quot;k8s-nodo-1&amp;quot;     // Correr el comando en el nodo-1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Agregue las siguientes entradas en los archivos /etc/hosts en cada nodo,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
192.168.0.10    k8s-maestro&lt;br /&gt;
192.168.0.11    k8s-nodo-0&lt;br /&gt;
192.168.0.12    k8s-nodo-1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Instale Docker (Container Runtime) en los 3 nodos==&lt;br /&gt;
Inicie sesión en cada nodo y ejecute los siguientes comandos para instalar Docker,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
$ sudo apt install -y docker.io&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ahora inicie y habilite el servicio docker en cada nodo usando el comando systemctl debajo,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable docker.service --now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ejecute el siguiente comando para verificar el estado del servicio docker y su versión,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl status docker&lt;br /&gt;
$ docker --version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Archivo:Kubernetes1.png|marco|izquierda]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Deshabilite el intercambio y habilite el reenvío de IP en todos los nodos==&lt;br /&gt;
Para deshabilitar el intercambio, edite el archivo /etc/fstab y comente la línea que incluye la entrada, ya sea la partición de intercambio o el archivo de intercambio.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo vi /etc/fstab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Guardar y salir del archivo&lt;br /&gt;
&lt;br /&gt;
Ejecute el comando swapoff para deshabilitar el intercambio sobre la marcha&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo swapoff -a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Para habilitar el reenvío de ip de forma permanente, edite el archivo “/etc/sysctl.conf” y busque la línea “net.ipv4.ip_forward=1” y descoméntalo. Después de realizar los cambios en el archivo, ejecute el siguiente comando&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo sysctl -p&lt;br /&gt;
net.ipv4.ip_forward = 1&lt;br /&gt;
$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Instale Kubectl, kubelet y kubeadm en todos los nodos==&lt;br /&gt;
Ejecute los siguientes comandos en los 3 nodos para instalar la utilidad kubectl, kubelet y kubeadm&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install -y apt-transport-https curl&lt;br /&gt;
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add&lt;br /&gt;
$ sudo apt-add-repository &amp;quot;deb http://apt.kubernetes.io/ kubernetes-xenial main&amp;quot;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
$ sudo apt install -y kubelet kubeadm kubectl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Inicialice el clúster de Kubernetes mediante kubeadm (desde el nodo principal)==&lt;br /&gt;
Inicie sesión en su nodo maestro (k8s-maestro) y ejecute debajo del comando &#039;kubeadm init&#039; para inicializar el clúster de Kubernetes,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo kubeadm init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Una vez que el clúster se inicialice correctamente, obtendremos el siguiente resultado&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Your Kubernetes control-plane has initialized successfully!&lt;br /&gt;
&lt;br /&gt;
To start using your cluster, you need to run the following as a regular user:&lt;br /&gt;
&lt;br /&gt;
  mkdir -p $HOME/.kube&lt;br /&gt;
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config&lt;br /&gt;
  sudo chown $(id -u):$(id -g) $HOME/.kube/config&lt;br /&gt;
&lt;br /&gt;
Alternatively, if you are the root user, you can run:&lt;br /&gt;
&lt;br /&gt;
  export KUBECONFIG=/etc/kubernetes/admin.conf&lt;br /&gt;
&lt;br /&gt;
You should now deploy a pod network to the cluster.&lt;br /&gt;
Run &amp;quot;kubectl apply -f [podnetwork].yaml&amp;quot; with one of the options listed at:&lt;br /&gt;
  https://kubernetes.io/docs/concepts/cluster-administration/addons/&lt;br /&gt;
&lt;br /&gt;
Then you can join any number of worker nodes by running the following on each as root:&lt;br /&gt;
&lt;br /&gt;
kubeadm join 192.168.0.10:6443 --token 8nukee.vkircqxe45zyj99m --discovery-token-ca-cert-hash sha256:55985531e26c194n89805gff17h6558gg4ws77q25a24b086nh5y9r99e159t&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Para comenzar a usar el clúster como un usuario normal, ejecutemos los siguientes comandos, los comandos ya están allí en la salida, simplemente copie y pegue.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$  mkdir -p $HOME/.kube&lt;br /&gt;
$  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config&lt;br /&gt;
$  sudo chown $(id -u):$(id -g) $HOME/.kube/config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ahora una los nodos trabajadores (k8s-nodo-0/1) al clúster, el comando para unirse al clúster ya está en la salida. Copie el comando &amp;quot;kubeadm join&amp;quot; y péguelo en ambos nodos (nodos de trabajo).&lt;br /&gt;
&lt;br /&gt;
Inicie sesión en Nodo-0 y ejecute el siguiente comando,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kubeadm join 192.168.0.10:6443 --token 8nukee.vkircqxe45zyj99m --discovery-token-ca-cert-hash sha256:12345678a51a34a4a98508aaaa09a9085aa3ff99e52b1a4a086de5c8e58e489b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Inicie sesión en Nodo-1 y ejecute el siguiente comando para unirse al clúster,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kubeadm join 192.168.0.10:6443 --token 8nukee.vkircqxe45zyj99m --discovery-token-ca-cert-hash sha256:12345678a51a34a4a98508aaaa09a9085aa3ff99e52b1a4a086de5c8e58e489b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Desde el nodo principal, ejecute el comando &amp;quot;kubectl get nodes&amp;quot; para verificar el estado de los nodos&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ kubectl get nodes&lt;br /&gt;
NAME         STATUS     ROLES    AGE     VERSION&lt;br /&gt;
k8s-maestro   NotReady   master   27m     v1.18.3&lt;br /&gt;
k8s-nodo-0   NotReady   &amp;lt;none&amp;gt;   8m3s    v1.18.3&lt;br /&gt;
k8s-nodo-1   NotReady   &amp;lt;none&amp;gt;   7m19s   v1.18.3&lt;br /&gt;
$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Como podemos ver, tanto los nodos trabajadores como el nodo maestro se han unido al clúster, pero el estado de cada nodo es &amp;quot;No está listo”. Para hacer el estado “Listo” debemos implementar complementos de red Pod basados ​​en la interfaz de red de contenedores (CNI) como calicó, enrutador kube y red de tejido. Como sugiere el nombre, los complementos de red de pod permiten que los pods se comuniquen entre sí.&lt;br /&gt;
&lt;br /&gt;
==Implementar el complemento Calico Pod Network (nodo principal)==&lt;br /&gt;
Desde el nodo maestro, ejecute el siguiente comando para instalar el complemento de red Calico pod,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/calico.yaml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ejecute el siguiente comando para verificar el estado de los pods de todos los espacios de nombres&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kubectl get pods --all-namespaces&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Archivo:Kubernetes2.png|marco|izquierda]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Perfecto, lo anterior confirma que todos los pods están funcionando y en buen estado. Intentemos implementar pods, servicios e implementaciones para ver si nuestro clúster de Kubernetes funciona bien o no.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nota:&#039;&#039;&#039; Para habilitar la función de finalización de bash en su nodo maestro, ejecute lo siguiente&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;source &amp;lt;(kubectl completion bash)&#039; &amp;gt;&amp;gt;~/.bashrc&lt;br /&gt;
$ source .bashrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Instalación de LENS para Escritorio=&lt;br /&gt;
* Obtener la clave de seguridad pública de la LENS y agregarla al conjunto de claves&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -fsSL https://downloads.k8slens.dev/keys/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/lens-archive-keyring.gpg &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Agregue el repositorio de LENS a /etc/apt/sources.list.d.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb [arch=amd64 signed-by=/usr/share/keyrings/lens-archive-keyring.gpg] https://downloads.k8slens.dev/apt/debian stable main&amp;quot; | sudo tee /etc/apt/sources.list.d/lens.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Instalar Escritorio LENS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
apt install lens&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ejecutar LENS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lens-desktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sloyola</name></author>
	</entry>
	<entry>
		<id>http://howto.riu.edu.ar/index.php?title=Howto_instalacion_cluster_kubernetes&amp;diff=11</id>
		<title>Howto instalacion cluster kubernetes</title>
		<link rel="alternate" type="text/html" href="http://howto.riu.edu.ar/index.php?title=Howto_instalacion_cluster_kubernetes&amp;diff=11"/>
		<updated>2023-07-05T13:06:38Z</updated>

		<summary type="html">&lt;p&gt;Sloyola: /* Cómo instalar Kubernetes (k8s) en el servidor Ubuntu 20.04 LTS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Cómo instalar Kubernetes (k8s) en el servidor Ubuntu 20.04 LTS=&lt;br /&gt;
Kubernetes (k8s) es una herramienta de orquestación de contenedores gratuita y de código abierto. Se utiliza para implementar, escalar y administrar aplicaciones basadas en contenedores. En este artículo, demostraremos cómo instalar Kubernetes Cluster en Ubuntu 20.04 LTS Server (Focal Fossa) usando kubeadm. En la configuración de mi laboratorio, he usado tres servidores Ubuntu 20.04 LTS. Los siguientes son los requisitos del sistema en cada sistema Ubuntu.&lt;br /&gt;
&lt;br /&gt;
Mínimo de 2 GB de RAM&lt;br /&gt;
:2 núcleos (2 vCPU)&lt;br /&gt;
:15 GB de espacio libre en /var&lt;br /&gt;
:Usuario privilegiado con derechos sudo&lt;br /&gt;
:Conexión estable a Internet&lt;br /&gt;
&lt;br /&gt;
Los siguientes son los detalles de la configuración de mi laboratorio:&lt;br /&gt;
&lt;br /&gt;
:VM1 (Servidor Ubuntu 20.04 LTS) – K8s-maestro – 192.168.0.10&lt;br /&gt;
:VM2 (Servidor Ubuntu 20.04 LTS) – K8s-nodo-0 – 192.168.0.11&lt;br /&gt;
:VM3  (Servidor Ubuntu 20.04 LTS) – K8s-nodo-1 – 192.168.0.12&lt;br /&gt;
&lt;br /&gt;
==Establecer nombre de host y agregar entradas en el archivo /etc/hosts==&lt;br /&gt;
Use el comando hostnamectl para establecer el nombre de host en cada nodo, el ejemplo se muestra a continuación:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo hostnamectl set-hostname &amp;quot;k8s-maestro&amp;quot;     // Correr el comando en el nodo maestro&lt;br /&gt;
$ sudo hostnamectl set-hostname &amp;quot;k8s-nodo-0&amp;quot;     // Correr el comando en el nodo-0&lt;br /&gt;
$ sudo hostnamectl set-hostname &amp;quot;k8s-nodo-1&amp;quot;     // Correr el comando en el nodo-1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Agregue las siguientes entradas en los archivos /etc/hosts en cada nodo,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
192.168.0.10    k8s-maestro&lt;br /&gt;
192.168.0.11    k8s-nodo-0&lt;br /&gt;
192.168.0.12    k8s-nodo-1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Instale Docker (Container Runtime) en los 3 nodos==&lt;br /&gt;
Inicie sesión en cada nodo y ejecute los siguientes comandos para instalar Docker,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
$ sudo apt install -y docker.io&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ahora inicie y habilite el servicio docker en cada nodo usando el comando systemctl debajo,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable docker.service --now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ejecute el siguiente comando para verificar el estado del servicio docker y su versión,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl status docker&lt;br /&gt;
$ docker --version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Archivo:Kubernetes1.png|marco|izquierda]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Deshabilite el intercambio y habilite el reenvío de IP en todos los nodos==&lt;br /&gt;
Para deshabilitar el intercambio, edite el archivo /etc/fstab y comente la línea que incluye la entrada, ya sea la partición de intercambio o el archivo de intercambio.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo vi /etc/fstab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Guardar y salir del archivo&lt;br /&gt;
&lt;br /&gt;
Ejecute el comando swapoff para deshabilitar el intercambio sobre la marcha&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo swapoff -a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Para habilitar el reenvío de ip de forma permanente, edite el archivo “/etc/sysctl.conf” y busque la línea “net.ipv4.ip_forward=1” y descoméntalo. Después de realizar los cambios en el archivo, ejecute el siguiente comando&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo sysctl -p&lt;br /&gt;
net.ipv4.ip_forward = 1&lt;br /&gt;
$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Instale Kubectl, kubelet y kubeadm en todos los nodos==&lt;br /&gt;
Ejecute los siguientes comandos en los 3 nodos para instalar la utilidad kubectl, kubelet y kubeadm&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install -y apt-transport-https curl&lt;br /&gt;
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add&lt;br /&gt;
$ sudo apt-add-repository &amp;quot;deb http://apt.kubernetes.io/ kubernetes-xenial main&amp;quot;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
$ sudo apt install -y kubelet kubeadm kubectl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Inicialice el clúster de Kubernetes mediante kubeadm (desde el nodo principal)==&lt;br /&gt;
Inicie sesión en su nodo maestro (k8s-master) y ejecute debajo del comando &#039;kubeadm init&#039; para inicializar el clúster de Kubernetes,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo kubeadm init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Una vez que el clúster se inicialice correctamente, obtendremos el siguiente resultado&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Your Kubernetes control-plane has initialized successfully!&lt;br /&gt;
&lt;br /&gt;
To start using your cluster, you need to run the following as a regular user:&lt;br /&gt;
&lt;br /&gt;
  mkdir -p $HOME/.kube&lt;br /&gt;
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config&lt;br /&gt;
  sudo chown $(id -u):$(id -g) $HOME/.kube/config&lt;br /&gt;
&lt;br /&gt;
Alternatively, if you are the root user, you can run:&lt;br /&gt;
&lt;br /&gt;
  export KUBECONFIG=/etc/kubernetes/admin.conf&lt;br /&gt;
&lt;br /&gt;
You should now deploy a pod network to the cluster.&lt;br /&gt;
Run &amp;quot;kubectl apply -f [podnetwork].yaml&amp;quot; with one of the options listed at:&lt;br /&gt;
  https://kubernetes.io/docs/concepts/cluster-administration/addons/&lt;br /&gt;
&lt;br /&gt;
Then you can join any number of worker nodes by running the following on each as root:&lt;br /&gt;
&lt;br /&gt;
kubeadm join 10.22.3.240:6443 --token 9nuqbb.bdbqckyd93cpj24b --discovery-token-ca-cert-hash sha256:44827090f51b34a4a98508faee09f9085ff3bc99e52b1a4a086ab5f8d58d489e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Para comenzar a usar el clúster como un usuario normal, ejecutemos los siguientes comandos, los comandos ya están allí en la salida, simplemente copie y pegue.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$  mkdir -p $HOME/.kube&lt;br /&gt;
$  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config&lt;br /&gt;
$  sudo chown $(id -u):$(id -g) $HOME/.kube/config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ahora una los nodos trabajadores (k8s-node-0/1) al clúster, el comando para unirse al clúster ya está en la salida. Copie el comando &amp;quot;kubeadm join&amp;quot; y péguelo en ambos nodos (nodos de trabajo).&lt;br /&gt;
&lt;br /&gt;
Inicie sesión en Node-0 y ejecute el siguiente comando,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kubeadm join 10.22.3.240:6443 --token 9nuqbb.bdbqckyd93cpj24b --discovery-token-ca-cert-hash sha256:44827090f51b34a4a98508faee09f9085ff3bc99e52b1a4a086ab5f8d58d489e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Inicie sesión en Node-1 y ejecute el siguiente comando para unirse al clúster,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kubeadm join 10.22.3.240:6443 --token 9nuqbb.bdbqckyd93cpj24b --discovery-token-ca-cert-hash sha256:44827090f51b34a4a98508faee09f9085ff3bc99e52b1a4a086ab5f8d58d489e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Desde el nodo principal, ejecute el comando &amp;quot;kubectl get nodes&amp;quot; para verificar el estado de los nodos&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ kubectl get nodes&lt;br /&gt;
NAME         STATUS     ROLES    AGE     VERSION&lt;br /&gt;
k8s-master   NotReady   master   27m     v1.18.3&lt;br /&gt;
k8s-node-0   NotReady   &amp;lt;none&amp;gt;   8m3s    v1.18.3&lt;br /&gt;
k8s-node-1   NotReady   &amp;lt;none&amp;gt;   7m19s   v1.18.3&lt;br /&gt;
$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Como podemos ver, tanto los nodos trabajadores como el nodo maestro se han unido al clúster, pero el estado de cada nodo es &amp;quot;No está listo”. Para hacer el estado “Listo” debemos implementar complementos de red Pod basados ​​en la interfaz de red de contenedores (CNI) como calicó, enrutador kube y red de tejido. Como sugiere el nombre, los complementos de red de pod permiten que los pods se comuniquen entre sí.&lt;br /&gt;
==Implementar el complemento Calico Pod Network (nodo principal)==&lt;br /&gt;
Desde el nodo maestro, ejecute el siguiente comando para instalar el complemento de red Calico pod,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/calico.yaml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ejecute el siguiente comando para verificar el estado de los pods de todos los espacios de nombres&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kubectl get pods --all-namespaces&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Archivo:Kubernetes2.png|marco|izquierda]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Perfecto, lo anterior confirma que todos los pods están funcionando y en buen estado. Intentemos implementar pods, servicios e implementaciones para ver si nuestro clúster de Kubernetes funciona bien o no.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nota:&#039;&#039;&#039; Para habilitar la función de finalización de bash en su nodo maestro, ejecute lo siguiente&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;source &amp;lt;(kubectl completion bash)&#039; &amp;gt;&amp;gt;~/.bashrc&lt;br /&gt;
$ source .bashrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Instalación de LENS para Escritorio=&lt;br /&gt;
* Obtener la clave de seguridad pública de la LENS y agregarla al conjunto de claves&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -fsSL https://downloads.k8slens.dev/keys/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/lens-archive-keyring.gpg &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Agregue el repositorio de LENS a /etc/apt/sources.list.d.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb [arch=amd64 signed-by=/usr/share/keyrings/lens-archive-keyring.gpg] https://downloads.k8slens.dev/apt/debian stable main&amp;quot; | sudo tee /etc/apt/sources.list.d/lens.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Instalar Escritorio LENS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
apt install lens&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ejecutar LENS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lens-desktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sloyola</name></author>
	</entry>
	<entry>
		<id>http://howto.riu.edu.ar/index.php?title=Archivo:Kubernetes1.png&amp;diff=10</id>
		<title>Archivo:Kubernetes1.png</title>
		<link rel="alternate" type="text/html" href="http://howto.riu.edu.ar/index.php?title=Archivo:Kubernetes1.png&amp;diff=10"/>
		<updated>2023-07-05T13:01:30Z</updated>

		<summary type="html">&lt;p&gt;Sloyola: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sloyola</name></author>
	</entry>
	<entry>
		<id>http://howto.riu.edu.ar/index.php?title=Howto_instalacion_cluster_kubernetes&amp;diff=9</id>
		<title>Howto instalacion cluster kubernetes</title>
		<link rel="alternate" type="text/html" href="http://howto.riu.edu.ar/index.php?title=Howto_instalacion_cluster_kubernetes&amp;diff=9"/>
		<updated>2023-07-05T13:00:41Z</updated>

		<summary type="html">&lt;p&gt;Sloyola: Página creada con «=Cómo instalar Kubernetes (k8s) en el servidor Ubuntu 20.04 LTS= Kubernetes (k8s) es una herramienta de orquestación de contenedores gratuita y de código abierto. Se utiliza para implementar, escalar y administrar aplicaciones basadas en contenedores. En este artículo, demostraremos cómo instalar Kubernetes Cluster en Ubuntu 20.04 LTS Server (Focal Fossa) usando kubeadm. En la configuración de mi laboratorio, he usado tres servidores Ubuntu 20.04 LTS. Los siguie…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Cómo instalar Kubernetes (k8s) en el servidor Ubuntu 20.04 LTS=&lt;br /&gt;
Kubernetes (k8s) es una herramienta de orquestación de contenedores gratuita y de código abierto. Se utiliza para implementar, escalar y administrar aplicaciones basadas en contenedores. En este artículo, demostraremos cómo instalar Kubernetes Cluster en Ubuntu 20.04 LTS Server (Focal Fossa) usando kubeadm. En la configuración de mi laboratorio, he usado tres servidores Ubuntu 20.04 LTS. Los siguientes son los requisitos del sistema en cada sistema Ubuntu.&lt;br /&gt;
&lt;br /&gt;
Mínimo de 2 GB de RAM&lt;br /&gt;
:2 núcleos (2 vCPU)&lt;br /&gt;
:15 GB de espacio libre en /var&lt;br /&gt;
:Usuario privilegiado con derechos sudo&lt;br /&gt;
:Conexión estable a Internet&lt;br /&gt;
&lt;br /&gt;
Los siguientes son los detalles de la configuración de mi laboratorio:&lt;br /&gt;
&lt;br /&gt;
:itt2prox - VM113 (Servidor Ubuntu 20.04 LTS) – K8s-master – 10.22.3.240&lt;br /&gt;
:itt2prox - VM114 (Servidor Ubuntu 20.04 LTS) – K8s-node-0 – 10.22.3.241&lt;br /&gt;
:itt2prox - VM119  (Servidor Ubuntu 20.04 LTS) – K8s-node-1 – 10.22.3.242&lt;br /&gt;
&lt;br /&gt;
==Establecer nombre de host y agregar entradas en el archivo /etc/hosts==&lt;br /&gt;
Use el comando hostnamectl para establecer el nombre de host en cada nodo, el ejemplo se muestra a continuación:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo hostnamectl set-hostname &amp;quot;k8s-master&amp;quot;     // Run this command on master node&lt;br /&gt;
$ sudo hostnamectl set-hostname &amp;quot;k8s-node-0&amp;quot;     // Run this command on node-0&lt;br /&gt;
$ sudo hostnamectl set-hostname &amp;quot;k8s-node-1&amp;quot;     // Run this command on node-1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Agregue las siguientes entradas en los archivos /etc/hosts en cada nodo,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
10.22.3.240    k8s-master&lt;br /&gt;
10.22.3.241    k8s-node-0&lt;br /&gt;
10.22.3.242    k8s-node-1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Instale Docker (Container Runtime) en los 3 nodos==&lt;br /&gt;
Inicie sesión en cada nodo y ejecute los siguientes comandos para instalar Docker,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
$ sudo apt install -y docker.io&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ahora inicie y habilite el servicio docker en cada nodo usando el comando systemctl debajo,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable docker.service --now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ejecute el siguiente comando para verificar el estado del servicio docker y su versión,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl status docker&lt;br /&gt;
$ docker --version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Archivo:Kubernetes1.png|marco|izquierda]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Deshabilite el intercambio y habilite el reenvío de IP en todos los nodos==&lt;br /&gt;
Para deshabilitar el intercambio, edite el archivo /etc/fstab y comente la línea que incluye la entrada, ya sea la partición de intercambio o el archivo de intercambio.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo vi /etc/fstab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Guardar y salir del archivo&lt;br /&gt;
&lt;br /&gt;
Ejecute el comando swapoff para deshabilitar el intercambio sobre la marcha&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo swapoff -a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Para habilitar el reenvío de ip de forma permanente, edite el archivo “/etc/sysctl.conf” y busque la línea “net.ipv4.ip_forward=1” y descoméntalo. Después de realizar los cambios en el archivo, ejecute el siguiente comando&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo sysctl -p&lt;br /&gt;
net.ipv4.ip_forward = 1&lt;br /&gt;
$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Instale Kubectl, kubelet y kubeadm en todos los nodos==&lt;br /&gt;
Ejecute los siguientes comandos en los 3 nodos para instalar la utilidad kubectl, kubelet y kubeadm&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install -y apt-transport-https curl&lt;br /&gt;
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add&lt;br /&gt;
$ sudo apt-add-repository &amp;quot;deb http://apt.kubernetes.io/ kubernetes-xenial main&amp;quot;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
$ sudo apt install -y kubelet kubeadm kubectl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Inicialice el clúster de Kubernetes mediante kubeadm (desde el nodo principal)==&lt;br /&gt;
Inicie sesión en su nodo maestro (k8s-master) y ejecute debajo del comando &#039;kubeadm init&#039; para inicializar el clúster de Kubernetes,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo kubeadm init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Una vez que el clúster se inicialice correctamente, obtendremos el siguiente resultado&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Your Kubernetes control-plane has initialized successfully!&lt;br /&gt;
&lt;br /&gt;
To start using your cluster, you need to run the following as a regular user:&lt;br /&gt;
&lt;br /&gt;
  mkdir -p $HOME/.kube&lt;br /&gt;
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config&lt;br /&gt;
  sudo chown $(id -u):$(id -g) $HOME/.kube/config&lt;br /&gt;
&lt;br /&gt;
Alternatively, if you are the root user, you can run:&lt;br /&gt;
&lt;br /&gt;
  export KUBECONFIG=/etc/kubernetes/admin.conf&lt;br /&gt;
&lt;br /&gt;
You should now deploy a pod network to the cluster.&lt;br /&gt;
Run &amp;quot;kubectl apply -f [podnetwork].yaml&amp;quot; with one of the options listed at:&lt;br /&gt;
  https://kubernetes.io/docs/concepts/cluster-administration/addons/&lt;br /&gt;
&lt;br /&gt;
Then you can join any number of worker nodes by running the following on each as root:&lt;br /&gt;
&lt;br /&gt;
kubeadm join 10.22.3.240:6443 --token 9nuqbb.bdbqckyd93cpj24b --discovery-token-ca-cert-hash sha256:44827090f51b34a4a98508faee09f9085ff3bc99e52b1a4a086ab5f8d58d489e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Para comenzar a usar el clúster como un usuario normal, ejecutemos los siguientes comandos, los comandos ya están allí en la salida, simplemente copie y pegue.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$  mkdir -p $HOME/.kube&lt;br /&gt;
$  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config&lt;br /&gt;
$  sudo chown $(id -u):$(id -g) $HOME/.kube/config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ahora una los nodos trabajadores (k8s-node-0/1) al clúster, el comando para unirse al clúster ya está en la salida. Copie el comando &amp;quot;kubeadm join&amp;quot; y péguelo en ambos nodos (nodos de trabajo).&lt;br /&gt;
&lt;br /&gt;
Inicie sesión en Node-0 y ejecute el siguiente comando,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kubeadm join 10.22.3.240:6443 --token 9nuqbb.bdbqckyd93cpj24b --discovery-token-ca-cert-hash sha256:44827090f51b34a4a98508faee09f9085ff3bc99e52b1a4a086ab5f8d58d489e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Inicie sesión en Node-1 y ejecute el siguiente comando para unirse al clúster,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kubeadm join 10.22.3.240:6443 --token 9nuqbb.bdbqckyd93cpj24b --discovery-token-ca-cert-hash sha256:44827090f51b34a4a98508faee09f9085ff3bc99e52b1a4a086ab5f8d58d489e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Desde el nodo principal, ejecute el comando &amp;quot;kubectl get nodes&amp;quot; para verificar el estado de los nodos&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ kubectl get nodes&lt;br /&gt;
NAME         STATUS     ROLES    AGE     VERSION&lt;br /&gt;
k8s-master   NotReady   master   27m     v1.18.3&lt;br /&gt;
k8s-node-0   NotReady   &amp;lt;none&amp;gt;   8m3s    v1.18.3&lt;br /&gt;
k8s-node-1   NotReady   &amp;lt;none&amp;gt;   7m19s   v1.18.3&lt;br /&gt;
$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Como podemos ver, tanto los nodos trabajadores como el nodo maestro se han unido al clúster, pero el estado de cada nodo es &amp;quot;No está listo”. Para hacer el estado “Listo” debemos implementar complementos de red Pod basados ​​en la interfaz de red de contenedores (CNI) como calicó, enrutador kube y red de tejido. Como sugiere el nombre, los complementos de red de pod permiten que los pods se comuniquen entre sí.&lt;br /&gt;
==Implementar el complemento Calico Pod Network (nodo principal)==&lt;br /&gt;
Desde el nodo maestro, ejecute el siguiente comando para instalar el complemento de red Calico pod,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/calico.yaml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ejecute el siguiente comando para verificar el estado de los pods de todos los espacios de nombres&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kubectl get pods --all-namespaces&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Archivo:Kubernetes2.png|marco|izquierda]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Perfecto, lo anterior confirma que todos los pods están funcionando y en buen estado. Intentemos implementar pods, servicios e implementaciones para ver si nuestro clúster de Kubernetes funciona bien o no.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nota:&#039;&#039;&#039; Para habilitar la función de finalización de bash en su nodo maestro, ejecute lo siguiente&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;source &amp;lt;(kubectl completion bash)&#039; &amp;gt;&amp;gt;~/.bashrc&lt;br /&gt;
$ source .bashrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Instalación de LENS para Escritorio=&lt;br /&gt;
* Obtener la clave de seguridad pública de la LENS y agregarla al conjunto de claves&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -fsSL https://downloads.k8slens.dev/keys/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/lens-archive-keyring.gpg &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Agregue el repositorio de LENS a /etc/apt/sources.list.d.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;deb [arch=amd64 signed-by=/usr/share/keyrings/lens-archive-keyring.gpg] https://downloads.k8slens.dev/apt/debian stable main&amp;quot; | sudo tee /etc/apt/sources.list.d/lens.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Instalar Escritorio LENS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
apt install lens&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ejecutar LENS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lens-desktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sloyola</name></author>
	</entry>
	<entry>
		<id>http://howto.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=8</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="http://howto.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=8"/>
		<updated>2023-07-05T13:00:16Z</updated>

		<summary type="html">&lt;p&gt;Sloyola: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tutoriales=&lt;br /&gt;
&lt;br /&gt;
== Servicios ==&lt;br /&gt;
# [[Howto_instalacion_configuracion_sympa | Instalación y configuración de sympa Multi-Dominio]]&lt;br /&gt;
# [[Howto_instalacion_cluster_kubernetes | Cómo instalar Kubernetes (k8s) en el servidor Ubuntu 20.04 LTS]]&lt;/div&gt;</summary>
		<author><name>Sloyola</name></author>
	</entry>
	<entry>
		<id>http://howto.riu.edu.ar/index.php?title=Howto_instalacion_configuracion_sympa&amp;diff=7</id>
		<title>Howto instalacion configuracion sympa</title>
		<link rel="alternate" type="text/html" href="http://howto.riu.edu.ar/index.php?title=Howto_instalacion_configuracion_sympa&amp;diff=7"/>
		<updated>2023-06-21T15:46:14Z</updated>

		<summary type="html">&lt;p&gt;Sloyola: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Instalación y configuración de Sympa Multi-dominio=&lt;br /&gt;
==Instalar Postfix==&lt;br /&gt;
&lt;br /&gt;
 # apt install postfix&lt;br /&gt;
&lt;br /&gt;
Tipo genérico de configuración de correo:&lt;br /&gt;
 Sitio de Internet&lt;br /&gt;
&lt;br /&gt;
Nombre del sistema de correo:&lt;br /&gt;
 sympa.riu.edu.ar&lt;br /&gt;
&lt;br /&gt;
==Instalar Apache2==&lt;br /&gt;
&lt;br /&gt;
 # apt install apache2&lt;br /&gt;
 # a2enmod ssl&lt;br /&gt;
 # a2ensite default-ssl&lt;br /&gt;
 # systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
==Configuración Apache2==&lt;br /&gt;
&lt;br /&gt;
Editamos el archivo de configuración /etc/apache2/envvars y reemplazamos:&lt;br /&gt;
 export APACHE_RUN_USER=www-data&lt;br /&gt;
 export APACHE_RUN_GROUP=www-data&lt;br /&gt;
por:&lt;br /&gt;
 export APACHE_RUN_USER=sympa&lt;br /&gt;
 export APACHE_RUN_GROUP=sympa&lt;br /&gt;
&lt;br /&gt;
Luego le cambiamos los permisos al directorio /var/lib/apache2/fcgid/sock, de la siguiente manera:&lt;br /&gt;
 # chown www-data:sympa -R /var/lib/apache2/fcgid/sock&lt;br /&gt;
 # chmod 770 -R /var/lib/apache2/fcgid/sock&lt;br /&gt;
&lt;br /&gt;
Finalmente reiniciamos el apache&lt;br /&gt;
&lt;br /&gt;
 # systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
==Instalar Sympa==&lt;br /&gt;
&lt;br /&gt;
 # apt install sympa&lt;br /&gt;
&lt;br /&gt;
¿Qué servidor/es web está ejecutando?&lt;br /&gt;
 Apache 2&lt;br /&gt;
&lt;br /&gt;
Should sympa_newaliases-wrapper be setuid root?&lt;br /&gt;
 No&lt;br /&gt;
&lt;br /&gt;
¿Desea configurar la base de datos para sympa con «dbconfig-common»? &lt;br /&gt;
 Si&lt;br /&gt;
&lt;br /&gt;
El tipo de base de datos que se va a utilizar para sympa:&lt;br /&gt;
 mysql&lt;br /&gt;
&lt;br /&gt;
Contraseña de aplicación MySQL para sympa:&lt;br /&gt;
 *********&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Config inicial sympa==&lt;br /&gt;
&lt;br /&gt;
 # nano /etc/sympa/sympa/sympa.conf&lt;br /&gt;
&lt;br /&gt;
 domain	sympa.riu.edu.ar&lt;br /&gt;
 lang	es&lt;br /&gt;
 title  Servicio de Listas de Correo&lt;br /&gt;
 listmaster	listmaster@sympa.riu.edu.ar,administrador@sympa.riu.edu.ar,mailadmin@riu.edu.ar&lt;br /&gt;
 wwsympa_url	https://sympa.riu.edu.ar/wws&lt;br /&gt;
&lt;br /&gt;
 # systemctl restart apache2&lt;br /&gt;
 # systemctl restart sympa&lt;br /&gt;
&lt;br /&gt;
==Config autenticacion LDAP==&lt;br /&gt;
&lt;br /&gt;
 # nano /etc/sympa/auth.conf&lt;br /&gt;
&lt;br /&gt;
 # Authentication services for Sympa&lt;br /&gt;
 # Internal authentication by email and password&lt;br /&gt;
 &lt;br /&gt;
 user_table&lt;br /&gt;
         negative_regexp                      riu\.edu\.ar&lt;br /&gt;
 #       regexp .*&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ldap&lt;br /&gt;
    regexp                      riu\.edu\.ar&lt;br /&gt;
    host                        ldap.riu.edu.arr:389&lt;br /&gt;
    timeout                     30&lt;br /&gt;
    bind_dn                     cn=readonly,dc=riu,dc=edu,dc=ar&lt;br /&gt;
    bind_password               *************&lt;br /&gt;
    suffix                      dc=riu,dc=edu,dc=ar&lt;br /&gt;
    get_dn_by_uid_filter        (uid=[sender])&lt;br /&gt;
    get_dn_by_email_filter      (mail=[sender])&lt;br /&gt;
    email_attribute             mail&lt;br /&gt;
 #    alternative_email_attribute gosaMailAlternateAddress&lt;br /&gt;
     scope                       sub&lt;br /&gt;
&lt;br /&gt;
 # service apache2 restart&lt;br /&gt;
&lt;br /&gt;
==Integracion con postfix==&lt;br /&gt;
 Referencia: https://sympa-community.github.io/manual/install/configure-mail-server-postfix.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agregar configuraciones en sympa.conf&lt;br /&gt;
&lt;br /&gt;
 # nano /etc/sympa/sympa/sympa.conf&lt;br /&gt;
&lt;br /&gt;
 aliases_program postalias&lt;br /&gt;
 sendmail /usr/sbin/sendmail&lt;br /&gt;
&lt;br /&gt;
Crear archivo de aliases:&lt;br /&gt;
&lt;br /&gt;
 # nano /etc/postfix/aliases.sympa.postfix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # Robot aliases for Sympa.&lt;br /&gt;
 sympa:                 &amp;quot;| /usr/lib/sympa/lib/sympa/queue sympa@sympa.riu.edu.ar&amp;quot;&lt;br /&gt;
 listmaster:            &amp;quot;| /usr/lib/sympa/lib/sympa/queue listmaster@sympa.riu.edu.ar&amp;quot;&lt;br /&gt;
 bounce:                &amp;quot;| /usr/lib/sympa/lib/sympa/bouncequeue sympa@sympa.riu.edu.ar&amp;quot;&lt;br /&gt;
 abuse-feedback-report: &amp;quot;| /usr/lib/sympa/lib/sympa/bouncequeue sympa@sympa.riu.edu.ar&amp;quot;&lt;br /&gt;
 sympa-request:         postmaster&lt;br /&gt;
 sympa-owner:           postmaster&lt;br /&gt;
 # listserv:             sympa&lt;br /&gt;
 # listserv-request:     sympa-request&lt;br /&gt;
 # majordomo:            sympa&lt;br /&gt;
 # listserv-owner:       sympa-owner&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Crearle base de datos correspondiente&lt;br /&gt;
&lt;br /&gt;
 # postalias hash:/etc/postfix/aliases.sympa.postfix&lt;br /&gt;
&lt;br /&gt;
Refrescar los aliases sympa:&lt;br /&gt;
&lt;br /&gt;
 # /usr/lib/sympa/bin/sympa_newaliases.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuraciones postfix main.cf&lt;br /&gt;
&lt;br /&gt;
 # nano /etc/postfix/main.cf&lt;br /&gt;
&lt;br /&gt;
 #### Configuraciones para sympa&lt;br /&gt;
 mydestination = $myhostname, srv-sympa.riu.edu.ar, localhost.sympa.riu.edu.ar, localhost, sympa.riu.edu.ar&lt;br /&gt;
 alias_maps =&lt;br /&gt;
   hash:/etc/aliases&lt;br /&gt;
   hash:/etc/postfix/aliases.sympa.postfix,&lt;br /&gt;
   hash:/etc/mail/sympa/aliases&lt;br /&gt;
 alias_database =&lt;br /&gt;
   hash:/etc/aliases,&lt;br /&gt;
   hash:/etc/postfix/aliases.sympa.postfix&lt;br /&gt;
 recipient_delimiter = +&lt;br /&gt;
 &lt;br /&gt;
 ### Configuraciones TLS - basadas en una instalacion de servidor iredMail.&lt;br /&gt;
 smtpd_tls_CApath = /etc/ssl/certs&lt;br /&gt;
 smtpd_tls_protocols = !SSLv2 !SSLv3&lt;br /&gt;
 smtpd_tls_mandatory_protocols = !SSLv2 !SSLv3&lt;br /&gt;
 smtp_tls_protocols = !SSLv2 !SSLv3&lt;br /&gt;
 smtp_tls_mandatory_protocols = !SSLv2 !SSLv3&lt;br /&gt;
 lmtp_tls_protocols = !SSLv2 !SSLv3&lt;br /&gt;
 lmtp_tls_mandatory_protocols = !SSLv2 !SSLv3&lt;br /&gt;
 smtpd_tls_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4, MD5, PSK, aECDH, EDH-DSS-DES-CBC3-SHA, EDH-RSA-DES-CDC3-SHA, KRB5-DE5, CBC3-SHA&lt;br /&gt;
 tls_random_source = dev:/dev/urandom&lt;br /&gt;
 smtp_tls_loglevel = 1&lt;br /&gt;
 smtpd_tls_loglevel = 1&lt;br /&gt;
 smtpd_tls_security_level = may&lt;br /&gt;
 smtp_tls_security_level = may&lt;br /&gt;
 smtp_tls_CApath = /etc/ssl/certs&lt;br /&gt;
 smtp_tls_CAfile = $smtpd_tls_CAfile&lt;br /&gt;
 smtp_tls_note_starttls_offer = yes&lt;br /&gt;
&lt;br /&gt;
 # systemctl restart postfix&lt;br /&gt;
&lt;br /&gt;
==Sympa multiDominio==&lt;br /&gt;
===Configuraciones===&lt;br /&gt;
1. Editamos el archivo sympa.conf ubicado en el directorio /etc/sympa/sympa y agregamos la ruta del binario de sendmail&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sendmail /usr/local/sbin/sendmail&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Creo el archivo list_aliases.tt2 en el directorio /etc/sympa y agrego lo siguiente:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#--- [% list.name %]@[% list.domain %]: list transport map created at [% date %]&lt;br /&gt;
[% list.name %]@[% list.domain %] sympa:[% list.name %]@[% list.domain %]&lt;br /&gt;
[% list.name %]-request@[% list.domain %] sympa:[% list.name %]-request@[% list.domain %]&lt;br /&gt;
[% list.name %]-editor@[% list.domain %] sympa:[% list.name %]-editor@[% list.domain %]&lt;br /&gt;
#[% list.name %]-subscribe@[% list.domain %] sympa:[% list.name %]-subscribe@[%list.domain %]&lt;br /&gt;
[% list.name %]-unsubscribe@[% list.domain %] sympa:[% list.name %]-unsubscribe@[% list.domain %]&lt;br /&gt;
[% list.name %][% return_path_suffix %]@[% list.domain %] sympabounce:[% list.name %]@[% list.domain %]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3.Edite sympa.conf para agregar las siguientes líneas&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sendmail_aliases /etc/sympa/sympa_transport&lt;br /&gt;
aliases_program postmap&lt;br /&gt;
aliases_db_type hash&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Con esta configuración, el archivo sympa_transport se actualizará automáticamente cuando se cree, cierre, restaure o purgue cualquier lista. &lt;br /&gt;
&lt;br /&gt;
4.Crear archivos de mapas vacíos&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# touch /etc/sympa/transport.sympa&lt;br /&gt;
# touch /etc/sympa/virtual.sympa&lt;br /&gt;
# touch /etc/sympa/sympa_transport&lt;br /&gt;
# chmod 644 /etc/sympa/sympa_transport&lt;br /&gt;
# chown sympa:sympa /etc/sympa/sympa_transport&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
creamos las bases de datos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# postmap hash:/etc/sympa/transport.sympa&lt;br /&gt;
# postmap hash:/etc/sympa/virtual.sympa&lt;br /&gt;
# /usr/lib/sympa/bin/sympa_newaliases.pl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con los pasos anteriores, el archivo sympa_transport es legible en todo el mundo y las personas pueden conocer todos los nombres de las listas existentes. Para evitarlo, siga los pasos a continuación después de los pasos anteriores:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# chmod 640 /etc/sympa/sympa_transport /etc/sympa/sympa_transport.db&lt;br /&gt;
# chgrp postfix /etc/sympa/sympa_transport /etc/sympa/sympa_transport.db&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Edite el archivo Postfix master.cf para agregar definiciones de transporte&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sympa     unix -        n       n       -       -       pipe&lt;br /&gt;
  flags=R user=sympa argv=/usr/lib/sympa/bin/queue ${recipient}&lt;br /&gt;
sympabounce unix -      n       n       -       -       pipe&lt;br /&gt;
  flags=R user=sympa argv=/usr/lib/sympa/bin/bouncequeue ${recipient}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6.Edite el archivo Postfix main.cf para agregar configuración para dominios virtuales&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#### Configuraciones para sympa&lt;br /&gt;
#alias_maps = hash:/etc/aliases,  hash:/etc/mail/sympa/aliases&lt;br /&gt;
#alias_database = hash:/etc/aliases&lt;br /&gt;
mydestination = localhost.sympa.riu.edu.ar, localhost&lt;br /&gt;
relay_domains = $mydestination, sympa.riu.edu.ar&lt;br /&gt;
sympa_destination_recipient_limit = 1&lt;br /&gt;
sympabounce_destination_recipient_limit = 1&lt;br /&gt;
#recipient_delimiter = +&lt;br /&gt;
#transport_maps = regexp:/etc/sympa/transport_regexp&lt;br /&gt;
# virtual(8) maps&lt;br /&gt;
virtual_mailbox_domains = hash:/etc/sympa/transport.sympa&lt;br /&gt;
virtual_mailbox_maps = hash:/etc/sympa/transport.sympa,&lt;br /&gt;
  hash:/etc/sympa/sympa_transport,&lt;br /&gt;
  hash:/etc/sympa/virtual.sympa&lt;br /&gt;
# virtual(5) maps&lt;br /&gt;
virtual_alias_maps = hash:/etc/sympa/virtual.sympa&lt;br /&gt;
# transport maps&lt;br /&gt;
transport_maps = hash:/etc/sympa/transport.sympa,&lt;br /&gt;
  hash:/etc/sympa/sympa_transport&lt;br /&gt;
# For VERP&lt;br /&gt;
recipient_delimiter = +&lt;br /&gt;
#### fin configuraciones para sympa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Agrego el nuevo dominio===&lt;br /&gt;
Los pasos de esta sección deben realizarse cada vez que se agrega el nuevo dominio. &lt;br /&gt;
&lt;br /&gt;
1.Crear directorios para configuraciones de dominio virtual&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# mkdir -m 755 /etc/sympa/grupos.riu.edu.ar&lt;br /&gt;
# touch /etc/sympa/grupos.riu.edu.ar/robot.conf&lt;br /&gt;
# chown -R sympa:sympa /etc/sympa/grupos.riu.edu.ar&lt;br /&gt;
# mkdir -m 750 /var/lib/sympa/list_data/grupos.riu.edu.ar/&lt;br /&gt;
# chown sympa:sympa /var/lib/sympa/list_data/grupos.riu.edu.ar/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2.Editamos el archivo /etc/sympa/grupos.riu.edu.ar/robots.conf y agregamos lo siguiente:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wwsympa_url http://grupos.riu.edu.ar/wws&lt;br /&gt;
sendmail_aliases /etc/sympa/sympa_transport&lt;br /&gt;
aliases_program postmap&lt;br /&gt;
aliases_db_type hash&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTA:&#039;&#039;&#039; En este archivo colocamos todo lo que queramos pisar de lo que este configurado en el archivo sympa.conf&lt;br /&gt;
&lt;br /&gt;
3.Si los servicios de Sympa ya se han estado ejecutando. Reiniciar el mismo&lt;br /&gt;
&lt;br /&gt;
4.Agregue los siguientes contenidos a los archivos transport.sympa y virtual.sympa y edítelos como prefiera&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;transport.sympa&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grupos.riu.edu.ar                error:User unknown in recipient table&lt;br /&gt;
sympa@grupos.riu.edu.ar          sympa:sympa@grupos.riu.edu.ar&lt;br /&gt;
listmaster@grupos.riu.edu.ar     sympa:listmaster@grupos.riu.edu.ar&lt;br /&gt;
bounce@grupos.riu.edu.ar         sympabounce:sympa@grupos.riu.edu.ar&lt;br /&gt;
abuse-feedback-report@grupos.riu.edu.ar  sympabounce:sympa@grupos.riu.edu.ar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;virtual.sympa&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sympa-request@grupos.riu.edu.ar  postmaster@localhost&lt;br /&gt;
sympa-owner@grupos.riu.edu.ar    postmaster@localhost&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Luego, actualice las bases de datos para el mapa de transporte y el mapa de alias virtual&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# postmap hash:/etc/sympa/transport.sympa&lt;br /&gt;
# postmap hash:/etc/sympa/virtual.sympa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5.Reiniciamos postfix y sympa&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl restart sympa&lt;br /&gt;
systemctl restart postfix&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6.Si la ruta del archivo ejecutable de MHonArc difiere del parámetro predeterminado de mhonarc, /usr/bin/mhonarc, defínalo en sympa.conf.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mhonarc /usr/local/bin/mhonarc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
7.Agregamos un virtualHost en apache para el dominio grupos.unq.edu.ar, con el siguiente contenido:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
	ServerName grupos.riu.edu.ar&lt;br /&gt;
	ServerAdmin sergio.loyola@riu.edu.ar&lt;br /&gt;
	Redirect permanent / https://grupos.riu.edu.ar/&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
	ServerName grupos.riu.edu.ar&lt;br /&gt;
	ServerAdmin webmaster@localhost&lt;br /&gt;
	DocumentRoot /var/www/html&lt;br /&gt;
&lt;br /&gt;
	ErrorLog ${APACHE_LOG_DIR}/grupos-error.log&lt;br /&gt;
	CustomLog ${APACHE_LOG_DIR}/grupos-access.log combined&lt;br /&gt;
&lt;br /&gt;
	SSLEngine on&lt;br /&gt;
	SSLCertificateFile	/etc/ssl/certs/ssl-cert-snakeoil.pem&lt;br /&gt;
	SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;IfModule mod_fcgid.c&amp;gt;&lt;br /&gt;
		Alias /static-sympa /usr/share/sympa/static_content&lt;br /&gt;
		&amp;lt;Directory /usr/share/sympa/static_content&amp;gt;&lt;br /&gt;
			Require all granted&lt;br /&gt;
		&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		Alias /css-sympa /var/lib/sympa/css&lt;br /&gt;
		&amp;lt;Directory /var/lib/sympa/css&amp;gt;&lt;br /&gt;
			Require all granted&lt;br /&gt;
		&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		Alias /pictures-sympa /var/lib/sympa/pictures&lt;br /&gt;
		&amp;lt;Directory /var/lib/sympa/pictures&amp;gt;&lt;br /&gt;
			Require all granted&lt;br /&gt;
		&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#		ScriptAlias /wws /usr/lib/cgi-bin/sympa/wwsympa-wrapper.fcgi&lt;br /&gt;
		ScriptAlias /wws /usr/lib/cgi-bin/sympa/wwsympa.fcgi&lt;br /&gt;
		&amp;lt;Directory /usr/lib/cgi-bin/sympa&amp;gt;&lt;br /&gt;
			Require all granted&lt;br /&gt;
		&amp;lt;/Directory&amp;gt;&lt;br /&gt;
	&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sloyola</name></author>
	</entry>
	<entry>
		<id>http://howto.riu.edu.ar/index.php?title=Howto_instalacion_configuracion_sympa&amp;diff=6</id>
		<title>Howto instalacion configuracion sympa</title>
		<link rel="alternate" type="text/html" href="http://howto.riu.edu.ar/index.php?title=Howto_instalacion_configuracion_sympa&amp;diff=6"/>
		<updated>2023-06-21T15:37:22Z</updated>

		<summary type="html">&lt;p&gt;Sloyola: Página creada con «=Instalación y configuración de Sympa Multi-dominio= ==Instalar Postfix==   # apt install postfix  Tipo genérico de configuración de correo:  Sitio de Internet  Nombre del sistema de correo:  sympa.unq.edu.ar  ==Instalar Apache2==   # apt install apache2  # a2enmod ssl  # a2ensite default-ssl  # systemctl restart apache2  ==Configuración Apache2==  Editamos el archivo de configuración /etc/apache2/envvars y reemplazamos:  export APACHE_RUN_USER=www-data  export…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Instalación y configuración de Sympa Multi-dominio=&lt;br /&gt;
==Instalar Postfix==&lt;br /&gt;
&lt;br /&gt;
 # apt install postfix&lt;br /&gt;
&lt;br /&gt;
Tipo genérico de configuración de correo:&lt;br /&gt;
 Sitio de Internet&lt;br /&gt;
&lt;br /&gt;
Nombre del sistema de correo:&lt;br /&gt;
 sympa.unq.edu.ar&lt;br /&gt;
&lt;br /&gt;
==Instalar Apache2==&lt;br /&gt;
&lt;br /&gt;
 # apt install apache2&lt;br /&gt;
 # a2enmod ssl&lt;br /&gt;
 # a2ensite default-ssl&lt;br /&gt;
 # systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
==Configuración Apache2==&lt;br /&gt;
&lt;br /&gt;
Editamos el archivo de configuración /etc/apache2/envvars y reemplazamos:&lt;br /&gt;
 export APACHE_RUN_USER=www-data&lt;br /&gt;
 export APACHE_RUN_GROUP=www-data&lt;br /&gt;
por:&lt;br /&gt;
 export APACHE_RUN_USER=sympa&lt;br /&gt;
 export APACHE_RUN_GROUP=sympa&lt;br /&gt;
&lt;br /&gt;
Luego le cambiamos los permisos al directorio /var/lib/apache2/fcgid/sock, de la siguiente manera:&lt;br /&gt;
 # chown www-data:sympa -R /var/lib/apache2/fcgid/sock&lt;br /&gt;
 # chmod 770 -R /var/lib/apache2/fcgid/sock&lt;br /&gt;
&lt;br /&gt;
Finalmente reiniciamos el apache&lt;br /&gt;
&lt;br /&gt;
 # systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
==Instalar Sympa==&lt;br /&gt;
&lt;br /&gt;
 # apt install sympa&lt;br /&gt;
&lt;br /&gt;
¿Qué servidor/es web está ejecutando?&lt;br /&gt;
 Apache 2&lt;br /&gt;
&lt;br /&gt;
Should sympa_newaliases-wrapper be setuid root?&lt;br /&gt;
 No&lt;br /&gt;
&lt;br /&gt;
¿Desea configurar la base de datos para sympa con «dbconfig-common»? &lt;br /&gt;
 Si&lt;br /&gt;
&lt;br /&gt;
El tipo de base de datos que se va a utilizar para sympa:&lt;br /&gt;
 mysql&lt;br /&gt;
&lt;br /&gt;
Contraseña de aplicación MySQL para sympa:&lt;br /&gt;
 *********&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Config inicial sympa==&lt;br /&gt;
&lt;br /&gt;
 # nano /etc/sympa/sympa/sympa.conf&lt;br /&gt;
&lt;br /&gt;
 domain	sympa.unq.edu.ar&lt;br /&gt;
 lang	es&lt;br /&gt;
 title  Servicio de Listas de Correo&lt;br /&gt;
 listmaster	listmaster@sympa.unq.edu.ar,administrador@sympa.unq.edu.ar,mailadmin@unq.edu.ar&lt;br /&gt;
 wwsympa_url	https://sympa.unq.edu.ar/wws&lt;br /&gt;
&lt;br /&gt;
 # systemctl restart apache2&lt;br /&gt;
 # systemctl restart sympa&lt;br /&gt;
&lt;br /&gt;
==Config autenticacion LDAP==&lt;br /&gt;
&lt;br /&gt;
 # nano /etc/sympa/auth.conf&lt;br /&gt;
&lt;br /&gt;
 # Authentication services for Sympa&lt;br /&gt;
 # Internal authentication by email and password&lt;br /&gt;
 &lt;br /&gt;
 user_table&lt;br /&gt;
         negative_regexp                      unq\.edu\.ar&lt;br /&gt;
 #       regexp .*&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ldap&lt;br /&gt;
    regexp                      unq\.edu\.ar&lt;br /&gt;
    host                        ldap.unq.edu.arr:389&lt;br /&gt;
    timeout                     30&lt;br /&gt;
    bind_dn                     cn=readonly,dc=unq,dc=edu,dc=ar&lt;br /&gt;
    bind_password               *************&lt;br /&gt;
    suffix                      dc=unq,dc=edu,dc=ar&lt;br /&gt;
    get_dn_by_uid_filter        (uid=[sender])&lt;br /&gt;
    get_dn_by_email_filter      (mail=[sender])&lt;br /&gt;
    email_attribute             mail&lt;br /&gt;
 #    alternative_email_attribute gosaMailAlternateAddress&lt;br /&gt;
     scope                       sub&lt;br /&gt;
&lt;br /&gt;
 # service apache2 restart&lt;br /&gt;
&lt;br /&gt;
==Integracion con postfix==&lt;br /&gt;
 Referencia: https://sympa-community.github.io/manual/install/configure-mail-server-postfix.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agregar configuraciones en sympa.conf&lt;br /&gt;
&lt;br /&gt;
 # nano /etc/sympa/sympa/sympa.conf&lt;br /&gt;
&lt;br /&gt;
 aliases_program postalias&lt;br /&gt;
 sendmail /usr/sbin/sendmail&lt;br /&gt;
&lt;br /&gt;
Crear archivo de aliases:&lt;br /&gt;
&lt;br /&gt;
 # nano /etc/postfix/aliases.sympa.postfix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # Robot aliases for Sympa.&lt;br /&gt;
 sympa:                 &amp;quot;| /usr/lib/sympa/lib/sympa/queue sympa@sympa.unq.edu.ar&amp;quot;&lt;br /&gt;
 listmaster:            &amp;quot;| /usr/lib/sympa/lib/sympa/queue listmaster@sympa.unq.edu.ar&amp;quot;&lt;br /&gt;
 bounce:                &amp;quot;| /usr/lib/sympa/lib/sympa/bouncequeue sympa@sympa.unq.edu.ar&amp;quot;&lt;br /&gt;
 abuse-feedback-report: &amp;quot;| /usr/lib/sympa/lib/sympa/bouncequeue sympa@sympa.unq.edu.ar&amp;quot;&lt;br /&gt;
 sympa-request:         postmaster&lt;br /&gt;
 sympa-owner:           postmaster&lt;br /&gt;
 # listserv:             sympa&lt;br /&gt;
 # listserv-request:     sympa-request&lt;br /&gt;
 # majordomo:            sympa&lt;br /&gt;
 # listserv-owner:       sympa-owner&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Crearle base de datos correspondiente&lt;br /&gt;
&lt;br /&gt;
 # postalias hash:/etc/postfix/aliases.sympa.postfix&lt;br /&gt;
&lt;br /&gt;
Refrescar los aliases sympa:&lt;br /&gt;
&lt;br /&gt;
 # /usr/lib/sympa/bin/sympa_newaliases.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuraciones postfix main.cf&lt;br /&gt;
&lt;br /&gt;
 # nano /etc/postfix/main.cf&lt;br /&gt;
&lt;br /&gt;
 #### Configuraciones para sympa&lt;br /&gt;
 mydestination = $myhostname, srv-sympa.unq.edu.ar, localhost.sympa.unq.edu.ar, localhost, sympa.unq.edu.ar&lt;br /&gt;
 alias_maps =&lt;br /&gt;
   hash:/etc/aliases&lt;br /&gt;
   hash:/etc/postfix/aliases.sympa.postfix,&lt;br /&gt;
   hash:/etc/mail/sympa/aliases&lt;br /&gt;
 alias_database =&lt;br /&gt;
   hash:/etc/aliases,&lt;br /&gt;
   hash:/etc/postfix/aliases.sympa.postfix&lt;br /&gt;
 recipient_delimiter = +&lt;br /&gt;
 &lt;br /&gt;
 ### Configuraciones TLS - basadas en una instalacion de servidor iredMail.&lt;br /&gt;
 smtpd_tls_CApath = /etc/ssl/certs&lt;br /&gt;
 smtpd_tls_protocols = !SSLv2 !SSLv3&lt;br /&gt;
 smtpd_tls_mandatory_protocols = !SSLv2 !SSLv3&lt;br /&gt;
 smtp_tls_protocols = !SSLv2 !SSLv3&lt;br /&gt;
 smtp_tls_mandatory_protocols = !SSLv2 !SSLv3&lt;br /&gt;
 lmtp_tls_protocols = !SSLv2 !SSLv3&lt;br /&gt;
 lmtp_tls_mandatory_protocols = !SSLv2 !SSLv3&lt;br /&gt;
 smtpd_tls_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4, MD5, PSK, aECDH, EDH-DSS-DES-CBC3-SHA, EDH-RSA-DES-CDC3-SHA, KRB5-DE5, CBC3-SHA&lt;br /&gt;
 tls_random_source = dev:/dev/urandom&lt;br /&gt;
 smtp_tls_loglevel = 1&lt;br /&gt;
 smtpd_tls_loglevel = 1&lt;br /&gt;
 smtpd_tls_security_level = may&lt;br /&gt;
 smtp_tls_security_level = may&lt;br /&gt;
 smtp_tls_CApath = /etc/ssl/certs&lt;br /&gt;
 smtp_tls_CAfile = $smtpd_tls_CAfile&lt;br /&gt;
 smtp_tls_note_starttls_offer = yes&lt;br /&gt;
&lt;br /&gt;
 # systemctl restart postfix&lt;br /&gt;
&lt;br /&gt;
==Sympa multiDominio==&lt;br /&gt;
===Configuraciones===&lt;br /&gt;
1. Editamos el archivo sympa.conf ubicado en el directorio /etc/sympa/sympa y agregamos la ruta del binario de sendmail&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sendmail /usr/local/sbin/sendmail&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Creo el archivo list_aliases.tt2 en el directorio /etc/sympa y agrego lo siguiente:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#--- [% list.name %]@[% list.domain %]: list transport map created at [% date %]&lt;br /&gt;
[% list.name %]@[% list.domain %] sympa:[% list.name %]@[% list.domain %]&lt;br /&gt;
[% list.name %]-request@[% list.domain %] sympa:[% list.name %]-request@[% list.domain %]&lt;br /&gt;
[% list.name %]-editor@[% list.domain %] sympa:[% list.name %]-editor@[% list.domain %]&lt;br /&gt;
#[% list.name %]-subscribe@[% list.domain %] sympa:[% list.name %]-subscribe@[%list.domain %]&lt;br /&gt;
[% list.name %]-unsubscribe@[% list.domain %] sympa:[% list.name %]-unsubscribe@[% list.domain %]&lt;br /&gt;
[% list.name %][% return_path_suffix %]@[% list.domain %] sympabounce:[% list.name %]@[% list.domain %]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3.Edite sympa.conf para agregar las siguientes líneas&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sendmail_aliases /etc/sympa/sympa_transport&lt;br /&gt;
aliases_program postmap&lt;br /&gt;
aliases_db_type hash&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Con esta configuración, el archivo sympa_transport se actualizará automáticamente cuando se cree, cierre, restaure o purgue cualquier lista. &lt;br /&gt;
&lt;br /&gt;
4.Crear archivos de mapas vacíos&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# touch /etc/sympa/transport.sympa&lt;br /&gt;
# touch /etc/sympa/virtual.sympa&lt;br /&gt;
# touch /etc/sympa/sympa_transport&lt;br /&gt;
# chmod 644 /etc/sympa/sympa_transport&lt;br /&gt;
# chown sympa:sympa /etc/sympa/sympa_transport&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
creamos las bases de datos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# postmap hash:/etc/sympa/transport.sympa&lt;br /&gt;
# postmap hash:/etc/sympa/virtual.sympa&lt;br /&gt;
# /usr/lib/sympa/bin/sympa_newaliases.pl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con los pasos anteriores, el archivo sympa_transport es legible en todo el mundo y las personas pueden conocer todos los nombres de las listas existentes. Para evitarlo, siga los pasos a continuación después de los pasos anteriores:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# chmod 640 /etc/sympa/sympa_transport /etc/sympa/sympa_transport.db&lt;br /&gt;
# chgrp postfix /etc/sympa/sympa_transport /etc/sympa/sympa_transport.db&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Edite el archivo Postfix master.cf para agregar definiciones de transporte&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sympa     unix -        n       n       -       -       pipe&lt;br /&gt;
  flags=R user=sympa argv=/usr/lib/sympa/bin/queue ${recipient}&lt;br /&gt;
sympabounce unix -      n       n       -       -       pipe&lt;br /&gt;
  flags=R user=sympa argv=/usr/lib/sympa/bin/bouncequeue ${recipient}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6.Edite el archivo Postfix main.cf para agregar configuración para dominios virtuales&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#### Configuraciones para sympa&lt;br /&gt;
#alias_maps = hash:/etc/aliases,  hash:/etc/mail/sympa/aliases&lt;br /&gt;
#alias_database = hash:/etc/aliases&lt;br /&gt;
mydestination = localhost.sympa.unq.edu.ar, localhost&lt;br /&gt;
relay_domains = $mydestination, sympa.unq.edu.ar&lt;br /&gt;
sympa_destination_recipient_limit = 1&lt;br /&gt;
sympabounce_destination_recipient_limit = 1&lt;br /&gt;
#recipient_delimiter = +&lt;br /&gt;
#transport_maps = regexp:/etc/sympa/transport_regexp&lt;br /&gt;
# virtual(8) maps&lt;br /&gt;
virtual_mailbox_domains = hash:/etc/sympa/transport.sympa&lt;br /&gt;
virtual_mailbox_maps = hash:/etc/sympa/transport.sympa,&lt;br /&gt;
  hash:/etc/sympa/sympa_transport,&lt;br /&gt;
  hash:/etc/sympa/virtual.sympa&lt;br /&gt;
# virtual(5) maps&lt;br /&gt;
virtual_alias_maps = hash:/etc/sympa/virtual.sympa&lt;br /&gt;
# transport maps&lt;br /&gt;
transport_maps = hash:/etc/sympa/transport.sympa,&lt;br /&gt;
  hash:/etc/sympa/sympa_transport&lt;br /&gt;
# For VERP&lt;br /&gt;
recipient_delimiter = +&lt;br /&gt;
#### fin configuraciones para sympa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Agrego el nuevo dominio===&lt;br /&gt;
Los pasos de esta sección deben realizarse cada vez que se agrega el nuevo dominio. &lt;br /&gt;
&lt;br /&gt;
1.Crear directorios para configuraciones de dominio virtual&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# mkdir -m 755 /etc/sympa/grupos.unq.edu.ar&lt;br /&gt;
# touch /etc/sympa/grupos.unq.edu.ar/robot.conf&lt;br /&gt;
# chown -R sympa:sympa /etc/sympa/grupos.unq.edu.ar&lt;br /&gt;
# mkdir -m 750 /var/lib/sympa/list_data/grupos.unq.edu.ar/&lt;br /&gt;
# chown sympa:sympa /var/lib/sympa/list_data/grupos.unq.edu.ar/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2.Editamos el archivo /etc/sympa/grupos.unq.edu.ar/robots.conf y agregamos lo siguiente:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wwsympa_url http://grupos.unq.edu.ar/wws&lt;br /&gt;
sendmail_aliases /etc/sympa/sympa_transport&lt;br /&gt;
aliases_program postmap&lt;br /&gt;
aliases_db_type hash&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTA:&#039;&#039;&#039; En este archivo colocamos todo lo que queramos pisar de lo que este configurado en el archivo sympa.conf&lt;br /&gt;
&lt;br /&gt;
3.Si los servicios de Sympa ya se han estado ejecutando. Reiniciar el mismo&lt;br /&gt;
&lt;br /&gt;
4.Agregue los siguientes contenidos a los archivos transport.sympa y virtual.sympa y edítelos como prefiera&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;transport.sympa&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grupos.unq.edu.ar                error:User unknown in recipient table&lt;br /&gt;
sympa@grupos.unq.edu.ar          sympa:sympa@grupos.unq.edu.ar&lt;br /&gt;
listmaster@grupos.unq.edu.ar     sympa:listmaster@grupos.unq.edu.ar&lt;br /&gt;
bounce@grupos.unq.edu.ar         sympabounce:sympa@grupos.unq.edu.ar&lt;br /&gt;
abuse-feedback-report@grupos.unq.edu.ar  sympabounce:sympa@grupos.unq.edu.ar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;virtual.sympa&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sympa-request@grupos.unq.edu.ar  postmaster@localhost&lt;br /&gt;
sympa-owner@grupos.unq.edu.ar    postmaster@localhost&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Luego, actualice las bases de datos para el mapa de transporte y el mapa de alias virtual&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# postmap hash:/etc/sympa/transport.sympa&lt;br /&gt;
# postmap hash:/etc/sympa/virtual.sympa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5.Reiniciamos postfix y sympa&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl restart sympa&lt;br /&gt;
systemctl restart postfix&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6.Si la ruta del archivo ejecutable de MHonArc difiere del parámetro predeterminado de mhonarc, /usr/bin/mhonarc, defínalo en sympa.conf.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mhonarc /usr/local/bin/mhonarc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
7.Agregamos un virtualHost en apache para el dominio grupos.unq.edu.ar, con el siguiente contenido:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
	ServerName grupos.unq.edu.ar&lt;br /&gt;
	ServerAdmin sergio.loyola@unq.edu.ar&lt;br /&gt;
	Redirect permanent / https://grupos.unq.edu.ar/&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
	ServerName grupos.unq.edu.ar&lt;br /&gt;
	ServerAdmin webmaster@localhost&lt;br /&gt;
	DocumentRoot /var/www/html&lt;br /&gt;
&lt;br /&gt;
	ErrorLog ${APACHE_LOG_DIR}/grupos-error.log&lt;br /&gt;
	CustomLog ${APACHE_LOG_DIR}/grupos-access.log combined&lt;br /&gt;
&lt;br /&gt;
	SSLEngine on&lt;br /&gt;
	SSLCertificateFile	/etc/ssl/certs/ssl-cert-snakeoil.pem&lt;br /&gt;
	SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;IfModule mod_fcgid.c&amp;gt;&lt;br /&gt;
		Alias /static-sympa /usr/share/sympa/static_content&lt;br /&gt;
		&amp;lt;Directory /usr/share/sympa/static_content&amp;gt;&lt;br /&gt;
			Require all granted&lt;br /&gt;
		&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		Alias /css-sympa /var/lib/sympa/css&lt;br /&gt;
		&amp;lt;Directory /var/lib/sympa/css&amp;gt;&lt;br /&gt;
			Require all granted&lt;br /&gt;
		&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		Alias /pictures-sympa /var/lib/sympa/pictures&lt;br /&gt;
		&amp;lt;Directory /var/lib/sympa/pictures&amp;gt;&lt;br /&gt;
			Require all granted&lt;br /&gt;
		&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#		ScriptAlias /wws /usr/lib/cgi-bin/sympa/wwsympa-wrapper.fcgi&lt;br /&gt;
		ScriptAlias /wws /usr/lib/cgi-bin/sympa/wwsympa.fcgi&lt;br /&gt;
		&amp;lt;Directory /usr/lib/cgi-bin/sympa&amp;gt;&lt;br /&gt;
			Require all granted&lt;br /&gt;
		&amp;lt;/Directory&amp;gt;&lt;br /&gt;
	&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sloyola</name></author>
	</entry>
	<entry>
		<id>http://howto.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=5</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="http://howto.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=5"/>
		<updated>2023-06-21T15:36:41Z</updated>

		<summary type="html">&lt;p&gt;Sloyola: /* Servicios */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tutoriales=&lt;br /&gt;
&lt;br /&gt;
== Servicios ==&lt;br /&gt;
# [[Howto_instalacion_configuracion_sympa | Instalación y configuración de sympa Multi-Dominio]]&lt;/div&gt;</summary>
		<author><name>Sloyola</name></author>
	</entry>
	<entry>
		<id>http://howto.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=4</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="http://howto.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=4"/>
		<updated>2023-06-21T15:34:24Z</updated>

		<summary type="html">&lt;p&gt;Sloyola: /* Servicios */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tutoriales=&lt;br /&gt;
&lt;br /&gt;
== Servicios ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lista de ajustes de configuración]&lt;/div&gt;</summary>
		<author><name>Sloyola</name></author>
	</entry>
	<entry>
		<id>http://howto.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=3</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="http://howto.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=3"/>
		<updated>2023-06-21T15:33:43Z</updated>

		<summary type="html">&lt;p&gt;Sloyola: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Tutoriales=&lt;br /&gt;
&lt;br /&gt;
== Servicios ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lista de ajustes de configuración]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Preguntas frecuentes sobre MediaWiki]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ Lista de correo de anuncios de publicación de MediaWiki]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Traducir MediaWiki a tu idioma]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Aprende a combatir el spam en tu wiki]&lt;/div&gt;</summary>
		<author><name>Sloyola</name></author>
	</entry>
	<entry>
		<id>http://howto.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=2</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="http://howto.riu.edu.ar/index.php?title=P%C3%A1gina_principal&amp;diff=2"/>
		<updated>2023-06-21T15:33:23Z</updated>

		<summary type="html">&lt;p&gt;Sloyola: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;=Tutoriales=&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Servicios ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lista de ajustes de configuración]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Preguntas frecuentes sobre MediaWiki]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ Lista de correo de anuncios de publicación de MediaWiki]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Traducir MediaWiki a tu idioma]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Aprende a combatir el spam en tu wiki]&lt;/div&gt;</summary>
		<author><name>Sloyola</name></author>
	</entry>
</feed>