Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official.

Instale SUSE Storage usando o Argo CD.

Pré-requisitos

A instalação do SUSE Storage requer acesso autenticado à Coleção de Aplicativos SUSE. Para mais detalhes, consulte o guia de autenticação.

  • Sua estação de trabalho: Instale o Argo CD CLI.

  • Kubernetes cluster:

    • Certifique-se de que cada nó atenda aos requisitos de instalação.

    • Instale Argo CD.

      kubectl create namespace argocd
      kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/core-install.yaml

      Aguarde um tempo para a implantação dos componentes do Argo CD no namespace argocd.

A ferramenta de linha de comando Longhorn pode ser usada para verificar o ambiente SUSE Storage em busca de problemas potenciais.

Instalação

  1. Faça login no Argo CD.

     argocd login --core
  2. Defina o namespace atual como argocd.

     kubectl config set-context --current --namespace=argocd
  3. Crie o recurso personalizado de Aplicativo SUSE Storage.

    cat > longhorn-application.yaml <<EOF
    apiVersion: argoproj.io/v1alpha1
    kind: Application
    metadata:
      name: longhorn
      namespace: argocd
    spec:
      syncPolicy:
        syncOptions:
          - CreateNamespace=true
      project: default
      sources:
        - chart: longhorn
          repoURL: https://charts.longhorn.io/
          targetRevision: v{{<current-version>}} # Replace with the Longhorn version you'd like to install or upgrade to
          helm:
            values: |
              preUpgradeChecker:
                jobEnabled: false
      destination:
        server: https://kubernetes.default.svc
        namespace: longhorn-system
      # add ignoreDifferences to prevent preserveUnknownFields field from make causing the application to be out of sync
      ignoreDifferences:
        - group: apiextensions.k8s.io
          kind: CustomResourceDefinition
          name: engineimages.longhorn.io
          jsonPointers: ["/spec/preserveUnknownFields"]
        - group: apiextensions.k8s.io
          kind: CustomResourceDefinition
          name: engines.longhorn.io
          jsonPointers: ["/spec/preserveUnknownFields"]
        - group: apiextensions.k8s.io
          kind: CustomResourceDefinition
          name: instancemanagers.longhorn.io
          jsonPointers: ["/spec/preserveUnknownFields"]
        - group: apiextensions.k8s.io
          kind: CustomResourceDefinition
          name: nodes.longhorn.io
          jsonPointers: ["/spec/preserveUnknownFields"]
        - group: apiextensions.k8s.io
          kind: CustomResourceDefinition
          name: replicas.longhorn.io
          jsonPointers: ["/spec/preserveUnknownFields"]
        - group: apiextensions.k8s.io
          kind: CustomResourceDefinition
          name: settings.longhorn.io
          jsonPointers: ["/spec/preserveUnknownFields"]
        - group: apiextensions.k8s.io
          kind: CustomResourceDefinition
          name: volumes.longhorn.io
          jsonPointers: ["/spec/preserveUnknownFields"]
    EOF
    kubectl apply -f longhorn-application.yaml
  4. Implante SUSE Storage com as configurações definidas.

     argocd app sync longhorn
  5. Verifique se SUSE Storage foi instalado com sucesso.

     kubectl -n longhorn-system get pod

    Exemplo de uma instalação bem-sucedida:

     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. Crie um controlador de Ingress NGINX com autenticação básica para acessar a interface do usuário. A autenticação na interface do usuário não está habilitada por padrão.

  7. Acesse a interface do usuário.