Utilice el operador Rook para crear rápidamente un clúster Ceph
Rook transforma el software de almacenamiento en servicios de almacenamiento autoadministrables, autoescalables y autorreparables al automatizar la implementación, el inicio, la configuración, el aprovisionamiento, el escalado, las actualizaciones, las migraciones, la recuperación ante desastres, el monitoreo y la gestión de recursos.
Rook aprovecha las extensiones para integrarse profundamente en entornos nativos de la nube y brindar una experiencia perfecta para la programación, la gestión del ciclo de vida, la gestión de recursos, la seguridad, el monitoreo y más. Para obtener más detalles sobre las soluciones de almacenamiento actualmente admitidas por Rook, consulte la descripción del proyecto en el repositorio de Rook. Sin embargo, Rook ya brinda un buen soporte para Ceph, por lo que este artículo presentará brevemente cómo usar Rook para construir rápidamente un clúster de Ceph.
Entorno de prueba para este artículo:
Estamos implementando la versión 1.1 de Rook. Haga clic para ver el archivo de manifiesto de implementación utilizado para la implementación. Descargue los archivos de manifiesto common.yaml y operator.yaml desde los enlaces anteriores:
Antes de continuar, confirme que rook-ceph-operator esté en estado "En ejecución":
Ahora, Rook The Operador se está ejecutando y ahora podemos crear el clúster Ceph. Para evitar que el clúster se vea afectado después de un reinicio, asegúrese de que la propiedad dataDirHostPath esté configurada en una ruta de host válida. Para obtener detalles sobre cómo hacer esto, consulte la documentación de configuración del clúster.
Cree el siguiente archivo de manifiesto de recursos: (cluster.yaml)
Luego créelo directamente:
Podemos usar kubectl para verificar los pods en la torre. espacio de nombres ceph Un estado similar al siguiente demuestra que todos los pods se están ejecutando:
La cantidad de pods OSD dependerá de la cantidad de nodos en el clúster. La cantidad de OSD Pods dependerá de la cantidad de nodos en el clúster y de la cantidad de dispositivos y directorios configurados. Si utilizamos nuestra lista de recursos anterior, se creará un OSD por nodo. La presencia de ROOK-ceph-agent y ROOK-DISCOVER también depende de nuestra configuración.
Para verificar que el clúster esté en buen estado, podemos usar el kit de herramientas Rook para ejecutar el comando ceph status.
El kit de herramientas de Rook es un contenedor de herramientas común para depurar y probar Rook. Está basado en la imagen de CentOS, por lo que puedes instalar fácilmente otros kits de herramientas usando yum. Implementaremos la caja de herramientas de Rook aquí usando el controlador de implementación, el archivo de manifiesto de implementación es el siguiente: (toolbox.yaml)
Luego ejecutaremos directamente el pod rook-ceph-tools:
Una vez que el pod de la caja de herramientas se ejecuta correctamente, podemos usar el siguiente comando para ingresarlo a la caja de herramientas:
Todos los comandos de herramientas disponibles en la caja de herramientas pueden satisfacer sus necesidades de solución de problemas. Por ejemplo:
Por ejemplo, si queremos ver el estado de un clúster, necesitamos que lo siguiente se considere saludable:
Almacenamiento
Para Rook public Hay tres tipos de almacenamiento, puede ver la documentación correspondiente:
Ceph tiene una herramienta Dashboard que nos permite ver el estado del clúster, incluido el estado de ejecución general, mgr, osd y estado del clúster. Estado, estado de mgr, osd y otros procesos de Ceph, ver el estado del grupo y de la PG, mostrar registros de demonio, etc.
Al configurar panel.enable=true, podemos habilitar el panel en el objeto CRD del clúster anterior, lo que hará que el operador de Rook habilite el módulo de panel ceph-mgr y cree un servicio Kubernetes que se ejecutará en puerto 7000 Habilitar el acceso https. Si el clúster Ceph se implementa correctamente, podemos usar el siguiente comando para ver el servicio Dashboard:
Aquí, el servicio rook-ceph-mgr se usa para informar los datos del indicador de métricas de Prometheus, y el servicio rook-ceph- El servicio mgr-dashboard es nuestro. Se puede acceder al servicio Dashboard a través del nombre DNS http://rook-ceph-mgr-dashboard.rook-ceph:7000 o CluterIP http://10.109.8.98:7000 en el clúster, pero si Para Para acceder desde fuera del clúster, debemos exponerlo a través de un servicio de tipo Ingress o NodePort. Para fines de prueba, creamos un nuevo servicio de tipo NodePort para acceder al Panel. La lista de recursos es la siguiente: (dashboard-external.yaml)<. / p>
Nuevamente, simplemente cree:
Una vez creado, podemos ver el servicio externo rook-ceph-mgr-dashboard-external recién creado:
Ahora, necesitamos acceda al Panel a través de http://:32381.
Pero necesitamos iniciar sesión para acceder. Rook crea un usuario administrador predeterminado y genera una contraseña llamada rook-ceph-dashboard-admin-password en el espacio de nombres donde se ejecuta Rook.
Con la contraseña y el usuario admin, puedes iniciar sesión en el Panel de control, donde puedes ver el estado de todo el clúster:
Además de la configuración anterior, al usar CRD Para crear un clúster ceph, también puede configurar el Panel mediante la siguiente configuración:
Cada torre tiene algunos indicadores integrados. Cada clúster de Rook tiene algunos recopiladores/exportadores de métricas integrados para monitorear con Prometheus. Para aprender cómo configurar el monitoreo para un clúster de Rook, puede seguir los pasos de la guía de monitoreo.