Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado.

Instalar SUSE Storage utilizando Fleet

Requisitos previos

SUSE StorageLa instalación de requiere acceso autenticado a la Colección de Aplicaciones de SUSE. Para más detalles, consulta guía de autenticación.

  • Tu estación de trabajo: Instala Helm v3.0 o posterior.

  • Kubernetes cluster:

    • Asegúrate de que cada nodo cumpla con los requisitos de instalación.

    • Instala SUSE® Rancher Prime: Continuous Delivery utilizando Helm.

      helm repo add fleet https://rancher.github.io/fleet-helm-charts/
      helm -n cattle-fleet-system install --create-namespace --wait fleet-crd fleet/fleet-crd
      helm -n cattle-fleet-system install --create-namespace --wait fleet fleet/fleet

      Permite algo de tiempo para la ampliación de los componentes de Fleet en el cattle-fleet-system espacio de nombres.

La herramienta shell de Longhorn se puede utilizar para comprobar el entorno de Longhorn en busca de problemas potenciales.

Instalación

  1. En tu repositorio de GitOps, crea un archivo fleet.yaml que incluya lo siguiente:

    • Parámetro para instalar SUSE Storage en el espacio de nombres longhorn-system

       defaultNamespace: longhorn-system
    • Parámetros para ignorar CRD modificados

       diff:
         comparePatches:
         - apiVersion: apiextensions.k8s.io/v1
           kind: CustomResourceDefinition
           name: engineimages.longhorn.io
           operations:
           - {"op": "replace", "path": "/status"}
         - apiVersion: apiextensions.k8s.io/v1
           kind: CustomResourceDefinition
           name: nodes.longhorn.io
           operations:
           - {"op": "replace", "path": "/status"}
         - apiVersion: apiextensions.k8s.io/v1
           kind: CustomResourceDefinition
           name: volumes.longhorn.io
           operations:
           - {"op": "replace", "path": "/status"}
         - apiVersion: apiextensions.k8s.io/v1
           kind: CustomResourceDefinition
           name: engines.longhorn.io
           operations:
           - {"op": "replace", "path": "/status"}
         - apiVersion: apiextensions.k8s.io/v1
           kind: CustomResourceDefinition
           name: instancemanagers.longhorn.io
           operations:
           - {"op": "replace", "path": "/status"}
         - apiVersion: apiextensions.k8s.io/v1
           kind: CustomResourceDefinition
           name: replicas.longhorn.io
           operations:
           - {"op": "replace", "path": "/status"}
         - apiVersion: apiextensions.k8s.io/v1
           kind: CustomResourceDefinition
           name: settings.longhorn.io
           operations:
           - {"op": "replace", "path": "/status"}
    • Parámetros para especificar la versión del chart de Helm que se va a instalar

     helm:
       repo: https://charts.longhorn.io
       chart: longhorn
       version: v1.11.2 # Replace with the version you would like to install or upgrade to
       releaseName: longhorn

    + Ejemplo de un archivo fleet.yaml completo:

    +

     defaultNamespace: longhorn-system
     helm:
       repo: https://charts.longhorn.io
       chart: longhorn
       version: v1.11.2
       releaseName: longhorn
     diff:
       comparePatches:
       - apiVersion: apiextensions.k8s.io/v1
         kind: CustomResourceDefinition
         name: engineimages.longhorn.io
         operations:
         - {"op": "replace", "path": "/status"}
       - apiVersion: apiextensions.k8s.io/v1
         kind: CustomResourceDefinition
         name: nodes.longhorn.io
         operations:
         - {"op": "replace", "path": "/status"}
       - apiVersion: apiextensions.k8s.io/v1
         kind: CustomResourceDefinition
         name: volumes.longhorn.io
         operations:
         - {"op": "replace", "path": "/status"}
  2. Crea un recurso personalizado GitRepo (CR) que apunte a tu repositorio de GitOps.

     cat > longhorn-gitrepo.yaml << "EOF"
     apiVersion: fleet.cattle.io/v1alpha1
     kind: GitRepo
     metadata:
       name: longhorn
       namespace: fleet-local
     spec:
       repo: https://github.com/your-username/your-gitops-repo.git
       revision: main
       paths:
       - .
     EOF
  3. Aplica el CR de GitRepo.

     kubectl apply -f longhorn-gitrepo.yaml
  4. Verifica que el CR de GitRepo se haya creado y sincronizado correctamente.

     kubectl -n fleet-local get gitrepo -w
  5. Verifica que SUSE Storage se haya instalado correctamente.

     kubectl -n longhorn-system get pod

    Ejemplo de una instalación exitosa:

     NAME                                                READY   STATUS    RESTARTS   AGE
     longhorn-ui-b7c844b49-w25g5                         1/1     Running   0          2m41s
     longhorn-manager-pzgsp                              1/1     Running   0          2m41s
     longhorn-driver-deployer-6bd59c9f76-lqczw           1/1     Running   0          2m41s
     longhorn-csi-plugin-mbwqz                           2/2     Running   0          100s
     csi-snapshotter-588457fcdf-22bqp                    1/1     Running   0          100s
     csi-snapshotter-588457fcdf-2wd6g                    1/1     Running   0          100s
     csi-provisioner-869bdc4b79-mzrwf                    1/1     Running   0          101s
     csi-provisioner-869bdc4b79-klgfm                    1/1     Running   0          101s
     csi-resizer-6d8cf5f99f-fd2ck                        1/1     Running   0          101s
     csi-provisioner-869bdc4b79-j46rx                    1/1     Running   0          101s
     csi-snapshotter-588457fcdf-bvjdt                    1/1     Running   0          100s
     csi-resizer-6d8cf5f99f-68cw7                        1/1     Running   0          101s
     csi-attacher-7bf4b7f996-df8v6                       1/1     Running   0          101s
     csi-attacher-7bf4b7f996-g9cwc                       1/1     Running   0          101s
     csi-attacher-7bf4b7f996-8l9sw                       1/1     Running   0          101s
     csi-resizer-6d8cf5f99f-smdjw                        1/1     Running   0          101s
     instance-manager-b34d5db1fe1e2d52bcfb308be3166cfc   1/1     Running   0          114s
     engine-image-ei-df38d2e5-cv6nc                      1/1     Running   0          114s
  6. Crea un controlador Ingress de NGINX con autenticación básica para acceder a la interfaz de usuario. La autenticación en la interfaz de usuario no está habilitada por defecto.

  7. Accede a la interfaz de usuario.