Configurando CapRover con OpenStack
¿Por qué OpenStack?
OpenStack es la alternativa más popular a los estándares de nube propietarios de infraestructura como servicio (IaaS). Tanto los grandes proveedores de la nube como AWS y Azure como algunos más pequeños como Hetzner tienen sus propias API distintas. configuraciones y convenciones de nomenclatura para implementar recursos. OpenStack le permite implementar la misma manera en cualquier nube que implemente el estándar OpenStack (o incluso implementar la suya propia). escapando así del bloqueo del proveedor.
Configurar un proveedor OpenStack
Varios proveedores de nube admiten OpenStack, incluidos Infomaniak, VEXXHOST, OVHcloud, SharkTech y más.
De los proveedores que he visto, Infomaniak tiene la mejor documentación.
Debes seguir las instrucciones de tu proveedor para obtener el archivo cloud.yaml para conectar el OpenStack CLI al proyecto de la nube.
Aquí tienes un breve resumen de los pasos para Infomaniak. Consulte su documentación para obtener más detalles, incluidas capturas de pantalla. Los pasos para otros proveedores deberían ser similares.
- Cree un nuevo proyecto en su panel de nube pública. Llame al proyecto algo así como
caprover-prod. - Cuando se le solicite, genere y establezca una contraseña para el usuario OpenStack.
- Vaya a "Administrar usuarios" del proyecto. Haga clic en el menú desplegable junto al único usuario (comenzando con PCU-...) y descargue el archivo nubes.yaml.
- Mueva
clouds.yamla una ubicación donde el cliente OpenStack podrá encontrarlo, es decir..config/openstack/clouds.yamlen su directorio de inicio. Si ya configuró el archivo anteriormente, copie y agregue la configuración a su archivo existente. - Abra su archivo
clouds.yamly cambie el nombre de la nube dePCP-...a algo más legible para humanos comoinfomaniak-prod. Esto le permitirá seguir agregando a su archivo a medida que agregue más entornos o incluso otros OpenStack proveedores. - Inserte también la contraseña que generó en el paso 2 en el archivo.
Instala el OpenStack CLI y valida la conexión
- Instale el cliente de línea de comando OpenStack.
Las instrucciones oficiales OpenStack
instalaría el cliente a través de
pip, pero es mucho más limpio usarlo pipx en lugar de ello, para evitar contaminar el espacio global de su paquete Python:pip install pipxpipx install python-openstackclientpipx inject python-openstackclient python-heatclient - Validar la conexión con el comando:
openstack --os-cloud mycloud project list
(Nota: en este y los siguientes comandos, reemplace mycloud con el nombre real que configuró en nubes.yaml,
como vexxhost-dev o infomaniak-prod).
Esto debería mostrar el nombre de su proyecto predeterminado.
Implementar el archivo de plantilla OpenStack Heat
- Necesitará generar una clave para poder ingresar SSH a su servidor CapRover si es necesario.
Puedes crear la carpeta
~/.ssh/openstacko almacenar tu clave donde quieras.openstack --os-cloud mycloud keypair create caprover > ~/.ssh/openstack/mycloud.privchmod 600 ~/.ssh/openstack/mycloud.priv - Muchos proveedores OpenStack proporcionan un conjunto predeterminado de imágenes de VM.
Consulta las imágenes disponibles con
openstack --os-cloud mycloud image list
Se recomienda obtener la última versión de Ubuntu LTS. También puedes subir tu propia imagen siguiendo las instrucciones. aquí. 3. Consulta los sabores disponibles con
openstack --os-cloud mycloud flavor list
- Verifique las redes disponibles con
openstack --os-cloud mycloud network list
- Finalmente, junta todas las piezas para desplegar CapRover. Asegúrese de reemplazar los valores del marcador de posición por los suyos propios.
openstack --os-cloud mycloud stack create -t https://raw.githubusercontent.com/caprover/caprover/master/dev-scripts/openstack/single-instance.yml --parameter image_id=<Ubuntu image ID> --parameter instance_type=<flavor> --parameter network=<network> caprover
Por ejemplo, en Infomaniak funciona lo siguiente:
openstack --os-cloud infomaniak-dev stack create -t https://raw.githubusercontent.com/caprover/caprover/master/se
tup/openstack/single-instance.yml --parameter image_id="Ubuntu 22.04 LTS Jammy Jellyfish" --parameter instance_type=a1-ram2-disk20-perf1 --parameter network=ext-net1 caprover
Validar la implementación
- Inicie sesión en la interfaz de usuario web del panel OpenStack.
- Instancias abiertas. Deberías ver la instancia
caprover-caprover_manager-.... Copie su dirección IP. - Debería poder ver el panel CapRover en su navegador en
<IP address>:3000. A partir de este punto, debería poder terminar de configurar CapRover siguiendo las instrucciones en Comenzando - También puedes ingresar SSH a la instancia con el comando:
ssh -i ~/.ssh/openstack/mycloud-prod.priv -o StrictHostKeyChecking=accept-new ubuntu@CAPROVER_MANAGER_IP
Una vez dentro, puede explorar el resultado del proceso de instalación desde la plantilla de Heat con el comando
sudo less /var/log/cloud-init-output.log.