|
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. |
Requisitos
Cada nó no cluster Kubernetes onde SUSE Storage está instalado deve atender aos seguintes requisitos:
-
Um tempo de execução do contêiner compatível com Kubernetes (Docker v1.13+, containerd v1.3.7+, etc.)
-
Kubernetes v1.25 ou posterior
-
open-iscsiestá instalado e o daemoniscsidestá em execução em todos os nós. Isso é necessário, uma vez que SUSE Storage depende deiscsiadmno host para fornecer volumes persistentes ao Kubernetes. Para ajuda na instalação doopen-iscsi, consulte Instalando open-iscsi. -
O suporte a RWX requer que cada nó tenha um cliente NFSv4 instalado.
-
Para instalar um cliente NFSv4, consulte Instalando Cliente NFSv4.
-
-
O sistema de arquivos do host suporta o recurso
file extentspara armazenar os dados. Atualmente, suportamos:-
ext4
-
XFS
-
-
bash,curl,findmnt,grep,awk,blkid,lsblkdevem ser instalados. -
Propagação de montagem deve estar habilitada.
As cargas de trabalho SUSE Storage devem ser capazes de ser executadas como root para que SUSE Storage seja implantado e operado corretamente.
A ferramenta de linha de comando Longhorn pode ser usada para verificar o ambiente Longhorn em busca de problemas potenciais.
Para o hardware mínimo recomendado, consulte o guia de melhores práticas.
Configuração Específica de SO/Distro
Você deve realizar configurações adicionais antes de usar SUSE Storage com certos sistemas operacionais e distribuições.
Verificando a Versão do Kubernetes
Use o seguinte comando para verificar a versão do seu servidor Kubernetes:
kubectl version
Resultado:
Client Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.10", GitCommit:"b8609d4dd75c5d6fba4a5eaa63a5507cb39a6e99", GitTreeState:"clean", BuildDate:"2023-10-18T11:44:31Z", GoVersion:"go1.20.10", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.10+k3s2", GitCommit:"cb5cb5557f34e240e38c68a8c4ca2506c68b1d86", GitTreeState:"clean", BuildDate:"2023-11-08T03:21:46Z", GoVersion:"go1.20.10", Compiler:"gc", Platform:"linux/amd64"}
O Server Version deve ser maior ou igual a v1.25.
Política de Segurança de Pod
SUSE Storage é fornecido com uma Política de Segurança de Pod padrão que dará a SUSE Storage os privilégios necessários para funcionar corretamente.
Nenhuma configuração especial é necessária para que SUSE Storage funcione corretamente em clusters com a Política de Segurança de Pod habilitada.
Notas sobre Propagação de Montagem
Se seu cluster Kubernetes foi provisionado pelo Rancher v2.0.7+ ou posterior, o recurso de Propagação de Montagem está habilitado por padrão.
Se a Propagação de Montagem estiver desabilitada, o recurso de Imagem Base será desabilitado.
Permissão de Root e Privilegiada
Os componentes de SUSE Storage requerem acesso root com permissões privilegiadas para realizar operações e gerenciamento de volumes, porque SUSE Storage depende de recursos do sistema no host em diferentes namespaces. Por exemplo, SUSE Storage usa nsenter para entender o uso de dispositivos de bloco ou criptografar/descriptografar volumes no host.
Abaixo estão os diretórios que os componentes de SUSE Storage requerem acesso com permissões root e privilegiadas:
-
Longhorn Manager
-
/boot: Obtenha informações sobre os módulos necessários de
/boot/config-$(uname -r)no host. -
/dev: Dispositivos de bloco criados pelo Longhorn estão sob o caminho
/dev. -
/proc: Encontre o processo do host reconhecido, como o tempo de execução do contêiner, e use
nsenterpara acessar as montagens no host para entender o uso dos discos. -
/var/lib/longhorn: O caminho padrão para armazenar dados de volume em um host.
-
-
Imagem do Longhorn Engine
-
/var/lib/longhorn/engine-binaries: O caminho padrão para armazenar os binários do Longhorn Engine.
-
-
Gerenciador de Instâncias Longhorn
-
/: Acesse qualquer caminho de dados neste nó e acesse os binários do Longhorn Engine.
-
/dev: Dispositivos de bloco criados pelo Longhorn estão sob o caminho
/dev. -
/proc: Encontre o processo do host reconhecido, como o tempo de execução do contêiner, e use
nsenterpara gerenciar os alvos e iniciadores iSCSI, além de alguns sistemas de arquivos.
-
-
Gerenciador de Compartilhamento Longhorn
-
/dev: Dispositivos de bloco criados pelo Longhorn estão sob o caminho
/dev. -
/lib/modules: Módulos do kernel necessários para
cryptsetupna criptografia de volumes. -
/proc: Encontre o processo de host reconhecido, como o tempo de execução do contêiner, e use
nsenterpara a criptografia de volumes. -
/sys: Suporte à criptografia de volume por
cryptsetup.
-
-
Plugin Longhorn CSI
-
/: Para verificações de host via o montador NFS do cliente (descontinuado). Observe que isso será removido na próxima versão.
-
/dev: Dispositivos de bloco criados pelo Longhorn estão sob o caminho
/dev. -
/lib/modules: Módulos do kernel necessários pelo plugin Longhorn CSI.
-
/sys: Suporte à criptografia de volume por
cryptsetup. -
/var/lib/kubelet/plugins/kubernetes.io/csi: O caminho onde o plugin Longhorn CSI cria o caminho de preparação (via
NodeStageVolume) de um dispositivo de bloco. O caminho de preparação será montado no caminho de destino/var/lib/kubelet/pods(viaNodePublishVolume) para que um único volume possa ser montado em vários Pods. -
/var/lib/kubelet/plugins_registry: O caminho onde o registrador do driver do nó registra o plugin CSI com o kubelet.
-
/var/lib/kubelet/plugins/driver.longhorn.io: O caminho onde o socket para a comunicação entre o kubelet e o driver CSI do Longhorn está localizado.
-
/var/lib/kubelet/pods: O caminho onde o driver CSI do Longhorn monta volumes a partir do caminho de destino (via
NodePublishVolume).
-
-
Longhorn CSI Attacher/Provisioner/Resizer/Snapshotter
-
/var/lib/kubelet/plugins/driver.longhorn.io: O caminho onde o socket para a comunicação entre o kubelet e o driver CSI do Longhorn está localizado.
-
-
Gerenciador de Imagens de Apoio do Longhorn
-
/var/lib/longhorn: O caminho padrão para armazenar dados no host.
-
-
Fonte de Dados de Imagem de Apoio do Longhorn
-
/var/lib/longhorn: O caminho padrão para armazenar dados no host.
-
-
Implantação de Restauração do Sistema Longhorn
-
/var/lib/longhorn/engine-binaries: O caminho padrão para armazenar os binários do Longhorn Engine.
-
Instalando open-iscsi
O comando usado para instalar open-iscsi difere dependendo da distribuição Linux.
Para GKE, recomendamos usar o Ubuntu como a imagem do sistema operacional convidado, pois já contém open-iscsi.
Você pode precisar editar o grupo de segurança do cluster para permitir o acesso SSH.
-
SUSE e openSUSE: Execute o seguinte comando:
zypper install open-iscsi systemctl enable iscsid systemctl start iscsid
-
Debian e Ubuntu: Execute o seguinte comando:
apt-get install open-iscsi
-
RHEL, CentOS e EKS (EKS Kubernetes Worker AMI com imagem AmazonLinux2): Execute os seguintes comandos:
yum --setopt=tsflags=noscripts install iscsi-initiator-utils echo "InitiatorName=$(/sbin/iscsi-iname)" > /etc/iscsi/initiatorname.iscsi systemctl enable iscsid systemctl start iscsid
Por favor, certifique-se de que o módulo iscsi_tcp foi carregado antes que o serviço iscsid inicie. Geralmente, ele deve ser carregado automaticamente junto com a instalação do pacote.
modprobe iscsi_tcp
No SUSE e openSUSE, o módulo iscsi_tcp está incluído apenas no pacote kernel-default. Se o pacote kernel-default-base estiver instalado em seu sistema, você deve substituí-lo por kernel-default.
|
Também fornecemos um instalador iscsi para facilitar a instalação automática do open-iscsi para os usuários. Você pode usar o Longhorn CLI para instalar os pré-requisitos.
Você pode usar o comando longhornctl check preflight. Este comando verifica o ambiente do seu cluster Kubernetes para garantir que ele atenda aos requisitos do SUSE Storage. Ele realiza uma série de verificações que podem ajudar a identificar problemas potenciais que podem impedir o funcionamento correto do SUSE Storage.
Exemplo:
> longhornctl check preflight
INFO[2025-08-22T12:58:40+08:00] Initializing preflight checker
INFO[2025-08-22T12:58:40+08:00] Cleaning up preflight checker
INFO[2025-08-22T12:58:42+08:00] Running preflight checker
INFO[2025-08-22T12:58:49+08:00] Retrieved preflight checker result:
ip-10-0-1-132:
info:
- Service iscsid is running
- NFS4 is supported
- Package nfs-client is installed
- Package open-iscsi is installed
- Package cryptsetup is installed
- Package device-mapper is installed
- Module dm_crypt is loaded
warn:
- Kube DNS "coredns" is set with fewer than 2 replicas; consider increasing replica count for high availability
INFO[2025-08-22T12:58:49+08:00] Cleaning up preflight checker
INFO[2025-08-22T12:58:50+08:00] Completed preflight checker
Em casos raros, pode ser necessário modificar a política SELinux instalada para fazer o SUSE Storage funcionar. Se você estiver executando uma versão atualizada de uma distribuição downstream do Fedora (por exemplo, Fedora, RHEL, Rocky, CentOS, etc.) e planeja manter o SELinux habilitado, consulte o KB para mais detalhes.
Instalando o cliente NFSv4
O recurso de backup requer NFSv4, v4.1 ou v4.2, e o recurso de volume ReadWriteMany (RWX) requer NFSv4.1. Antes de instalar o daemon e utilitários do espaço do usuário do cliente NFSv4, certifique-se de que o suporte do kernel do cliente esteja habilitado em cada nó SUSE Storage.
-
Verifique se o suporte
NFSv4.1está habilitado no kernel.cat /boot/config-`uname -r`| grep CONFIG_NFS_V4_1
-
Verifique se o suporte
NFSv4.2está habilitado no kernel.cat /boot/config-`uname -r`| grep CONFIG_NFS_V4_2
O comando usado para instalar um cliente NFSv4 difere dependendo da distribuição Linux.
-
Para Debian e Ubuntu, use este comando:
apt-get install nfs-common
-
Para RHEL, CentOS e EKS com
EKS Kubernetes Worker AMI with AmazonLinux2 image, use este comando:yum install nfs-utils
-
Para SUSE/OpenSUSE, você pode instalar um cliente NFSv4 via:
zypper install nfs-client
-
Para Talos Linux, o cliente NFS faz parte da imagem
kubeletmantida pela equipe Talos. -
Para Container-Optimized OS, o NFS é suportado com a imagem do nó.
Nós também disponibilizamos um instalador nfs para facilitar que os usuários instalem automaticamente o nfs-client. Você pode usar o Longhorn CLI para instalar os pré-requisitos.
Você pode usar o longhornctl check preflight comando. Este comando verifica o ambiente do seu cluster Kubernetes para garantir que atenda a SUSE Storage. Ele realiza uma série de verificações que podem ajudar a identificar problemas potenciais que podem impedir o funcionamento correto do SUSE Storage.
Exemplo:
> longhornctl check preflight
INFO[2025-08-22T12:58:40+08:00] Initializing preflight checker
INFO[2025-08-22T12:58:40+08:00] Cleaning up preflight checker
INFO[2025-08-22T12:58:42+08:00] Running preflight checker
INFO[2025-08-22T12:58:49+08:00] Retrieved preflight checker result:
ip-10-0-1-132:
info:
- Service iscsid is running
- NFS4 is supported
- Package nfs-client is installed
- Package open-iscsi is installed
- Package cryptsetup is installed
- Package device-mapper is installed
- Module dm_crypt is loaded
warn:
- Kube DNS "coredns" is set with fewer than 2 replicas; consider increasing replica count for high availability
INFO[2025-08-22T12:58:49+08:00] Cleaning up preflight checker
INFO[2025-08-22T12:58:50+08:00] Completed preflight checker
Instalando o Cryptsetup e LUKS
Cryptsetup é uma ferramenta de código aberto usada para configurar convenientemente alvos de mapeamento de dispositivos baseados em dm-crypt e SUSE Storage utiliza LUKS2 (Linux Unified Key Setup), que é o padrão para criptografia de disco no Linux para suportar a criptografia de volumes.
O comando usado para instalar a ferramenta cryptsetup varia dependendo da distribuição Linux.
-
Para Debian e Ubuntu, use este comando:
apt-get install cryptsetup -
Para RHEL, CentOS, Rocky Linux e EKS com
EKS Kubernetes Worker AMI with AmazonLinux2 image, use este comando:yum install cryptsetup -
Para SUSE/OpenSUSE, use este comando:
zypper install cryptsetup
Instalando a Ferramenta de Espaço de Usuário do Device Mapper
O device mapper é uma estrutura fornecida pelo kernel do Linux para mapear dispositivos de bloco físicos em dispositivos de bloco virtuais de nível superior. Ele forma a base da dm-crypt criptografia de disco e fornece o dispositivo dm linear no topo do volume v2. O device mapper é tipicamente incluído por padrão em muitas distribuições Linux. Algumas distribuições leves ou altamente personalizadas ou uma instalação mínima de uma distribuição podem excluí-lo para economizar espaço ou reduzir a complexidade.
O comando usado para instalar o device mapper varia dependendo da distribuição Linux.
-
Para Debian e Ubuntu, use este comando:
apt-get install dmsetup -
Para RHEL, CentOS, Rocky Linux e EKS com
EKS Kubernetes Worker AMI with AmazonLinux2 image, use este comando:yum install device-mapper -
Para SUSE/OpenSUSE, use este comando:
zypper install device-mapper
Ferramenta de Linha de Comando Longhorn
Verificando Pré-requisitos Usando a Ferramenta de Linha de Comando Longhorn
A ferramenta longhornctl é uma interface de linha de comando (CLI) para operações do Longhorn. Para mais informações, consulte Ferramenta de Linha de Comando (longhornctl).
Para verificar pré-requisitos e configurações, baixe a ferramenta longhornctl e, em seguida, execute o subcomando check:
# For AMD64 platform
curl -sSfL -o longhornctl https://github.com/longhorn/cli/releases/download/v1.11.2/longhornctl-linux-amd64
# For ARM platform
curl -sSfL -o longhornctl https://github.com/longhorn/cli/releases/download/v1.11.2/longhornctl-linux-arm64
chmod +x longhornctl
./longhornctl check preflight
Exemplo de resultado:
INFO[2024-01-01T00:00:01Z] Initializing preflight checker
INFO[2024-01-01T00:00:01Z] Cleaning up preflight checker
INFO[2024-01-01T00:00:01Z] Running preflight checker
INFO[2024-01-01T00:00:02Z] Retrieved preflight checker result:
worker1:
info:
- Service iscsid is running
- NFS4 is supported
- Package nfs-common is installed
- Package open-iscsi is installed
warn:
- multipathd.service is running. Please refer to https://longhorn.io/kb/troubleshooting-volume-with-multipath/ for more information.
worker2:
info:
- Service iscsid is running
- NFS4 is supported
- Package nfs-common is not installed
- Package open-iscsi is installed
Instalando Pré-requisitos Usando a Ferramenta de Linha de Comando Longhorn
Use o install subcomando para instalar e configurar as dependências de pré-voo antes de instalar o Longhorn. Isso envolve operações que podem exigir uma reinicialização do sistema em certas distribuições Linux.
Aqui estão exemplos de como usar o install subcomando:
-
Para executar a partir de um
longhornctlbinário baixado localmente:./longhornctl install preflight -
Para executar com parâmetros explícitos
kube-configeimage:longhornctl --kubeconfig ~/.kube/config --image longhornio/longhorn-cli:v1.11.2 install preflight
Exemplo de resultado após executar o comando de instalação:
INFO[2025-03-11T08:17:57+08:00] Initializing preflight installer
INFO[2025-03-11T08:17:57+08:00] Cleaning up preflight installer
INFO[2025-03-11T08:17:57+08:00] Running preflight installer
INFO[2025-03-11T08:17:57+08:00] Installing dependencies with package manager
INFO[2025-03-11T08:18:28+08:00] Installed dependencies with package manager
INFO[2025-03-11T08:18:28+08:00] Cleaning up preflight installer
INFO[2025-03-11T08:18:28+08:00] Completed preflight installer. Use 'longhornctl check preflight' to check the result.
|
Em algumas distribuições Linux imutáveis, como o SUSE Linux Enterprise Micro (SLE Micro), pode ser necessário reiniciar os nós de trabalho após executar o A documentação da distribuição Linux que você está usando deve descrever tais requisitos. Por exemplo, a documentação SLE Micro explica como todas as alterações feitas pelo comando |