Cómo implementar ceph-csi en un clúster de Kubernetes
Dirección de GitHub: /abel-max/Java-Study-Note/tree/master
Este artículo detalla cómo implementar ceph-csi (v3.1.0) en un clúster de Kubernetes. Y utilice RBD como almacenamiento persistente.
El entorno requerido es el siguiente:
Versión de Kubernetes:
Versión de Ceph:
El siguiente es el proceso de implementación detallado:
Crear un nuevo grupo ceph para Kubernetes:
Ver todos los grupos:
Crear un nuevo grupo para Kubernetes:
Ver todos los grupos para Kubernetes:
Crear un nuevo grupo para Kubernetes:
Ver todos los grupos:
Ver todos los grupos: Crear un nuevo usuario para Kubernetes y ceph-csi:
p>
Necesitará la clave aquí para la configuración posterior, pero si la olvida, puede obtenerla usando el siguiente comando:
Extraiga la rama de versión más reciente de ceph -csi (v3.1.0) [1 ]:
Obtenga información sobre el clúster Ceph:
Aquí se necesitan dos datos:
Vaya a directorio implementar/rbd/kubernetes de ceph-csi:
Escriba la información anterior en csi-config-map. yaml:
Cree un nuevo espacio de nombres específicamente para implementar ceph -csi:
Almacene este mapa de configuración en el clúster de Kubernetes:
Utilice el ID de usuario de Kubernetes creado y cephx clave genera un secreto:
Implementar secreto:
Cambiar todos los espacios de nombres en la lista de Configmap a ceph -csi:
Crear la cuenta de servicio requerida y el recurso RBAC ClusterRole/ClusterRoleBinding objetos:
Crear PodSecurityPolicy:
Cambiar los espacios de nombres en todos los manifiestos de configuración a ceph:
Cambiar todo Cambie el espacio de nombres en el manifiesto de configuración a ceph.
Implemente csi-rbdplugin-provisioner:
Contiene seis contenedores complementarios, incluidos external-provisioner, external-attacher, csi-resizer y csi-rbdplugin.
Finalmente, implemente el controlador RBD CSI:
Este Pod contiene dos contenedores: el registrador del controlador del nodo CSI y el controlador CSI RBD.
Kubernetes proporciona un conjunto de API para que los usuarios y administradores abstraigan los detalles del aprovisionamiento de almacenamiento de cómo se utiliza el almacenamiento a través del subsistema PersistentVolume, donde PV (PersistentVolume) es el almacenamiento real y PVC (PersistentVolumeClaim) es el almacenamiento real. PV (PersistentVolumeClaim) es la solicitud de almacenamiento del usuario.
A continuación se muestra un ejemplo del repositorio de software oficial que demuestra cómo utilizar ceph-csi.
Vaya al directorio ejemplo/rbd del proyecto ceph-csi y cree un PVC:
Vea el PVC y el PV reclamado correctamente:
Cree un ejemplo Pod:
Ingrese dentro del Pod y pruebe la lectura y escritura de datos:
Vaya al Pod y vea el PV y el PV reclamado exitosamente:
Vaya al repositorio ceph-csi. Pruebe datos de lectura y escritura:
Enumere imágenes rbd en el grupo de kubernetes:
Vea las características de la imagen:
Puede ver que las restricciones de características en la imagen ha tenido efecto, en cuyo caso solo hay capas.
La imagen en realidad está montada en el nodo como un dispositivo de bloque. Puede usar el comando rbd para ver la información de mapeo:
Ver la información de montaje en el nodo:
Ver la información de montaje en el contenedor:
¡Todo está bien!