Prepare o nó de trabalho
Todos os nós de trabalho no cluster Kubernetes devem ser capazes de montar os volumes que você provisionou para seus pods. Para preparar os nós de trabalho, você deve instalar as ferramentas NFS, iSCSI, NVMe/TCP ou FC, dependendo da sua seleção de driver.
Selecionar as ferramentas certas
Se você estiver usando uma combinação de drivers, deverá instalar todas as ferramentas necessárias para seus drivers. As versões recentes do Red Hat Enterprise Linux CoreOS (RHCOS) vêm com essas ferramentas instaladas por padrão.
"Instale as ferramentas NFS"Se você estiver usando: ontap-nas , ontap-nas-economy , ontap-nas-flexgroup , azure-netapp-files , gcp-cvs .
"Instale as ferramentas iSCSI"Se você estiver usando: ontap-san , ontap-san-economy , solidfire-san .
"Instale as ferramentas NVMe"se você estiver usando ontap-san para o protocolo de memória não volátil expressa (NVMe) sobre TCP (NVMe/TCP).
|
|
A NetApp recomenda o ONTAP 9.12 ou posterior para NVMe/TCP. |
Consulte"Formas de configurar hosts SAN FC e FC-NVMe" Para obter mais informações sobre como configurar seus hosts SAN FC e FC-NVMe.
"Instale as ferramentas FC"se você estiver usando ontap-san com sanType fcp (SCSI sobre FC).
Pontos a considerar: * SCSI sobre FC é suportado em ambientes OpenShift e KubeVirt. * SCSI sobre FC não é suportado no Docker. * A autorrecuperação do iSCSI não se aplica ao SCSI sobre FC.
Descoberta de serviços de nó
O Trident tenta detectar automaticamente se o nó pode executar serviços iSCSI ou NFS.
|
|
A descoberta de serviços de nós identifica os serviços descobertos, mas não garante que estejam configurados corretamente. Por outro lado, a ausência de um serviço detectado não garante que a montagem do volume falhará. |
O Trident cria eventos para o nó identificar os serviços descobertos. Para rever esses eventos, execute:
kubectl get event -A --field-selector involvedObject.name=<Kubernetes node name>
O Trident identifica os serviços habilitados para cada nó no CR do nó Trident . Para visualizar os serviços detectados, execute:
tridentctl get node -o wide -n <Trident namespace>
Volumes NFS
Instale as ferramentas NFS usando os comandos para o seu sistema operacional. Certifique-se de que o serviço NFS seja iniciado durante a inicialização do sistema.
sudo yum install -y nfs-utils
sudo apt-get install -y nfs-common
|
|
Reinicie os nós de trabalho após instalar as ferramentas NFS para evitar falhas ao conectar volumes aos contêineres. |
volumes iSCSI
O Trident pode estabelecer automaticamente uma sessão iSCSI, analisar LUNs, descobrir dispositivos multipath, formatá-los e montá-los em um pod.
Capacidades de autorrecuperação do iSCSI
Para sistemas ONTAP , o Trident executa a autorrecuperação iSCSI a cada cinco minutos para:
-
Identifique o estado desejado da sessão iSCSI e o estado atual da sessão iSCSI.
-
Compare o estado desejado com o estado atual para identificar os reparos necessários. A Trident determina as prioridades de reparo e quando antecipar os reparos.
-
Executar os reparos necessários para retornar o estado atual da sessão iSCSI ao estado desejado.
|
|
Os registros da atividade de autocura estão localizados em trident-main contêiner no respectivo pod do Daemonset. Para visualizar os registros, você precisa ter configurado debug para "verdadeiro" durante a instalação do Trident .
|
Os recursos de autorrecuperação do Trident iSCSI podem ajudar a prevenir:
-
Sessões iSCSI obsoletas ou com problemas de funcionamento que podem ocorrer após uma falha de conectividade de rede. No caso de uma sessão inativa, o Trident aguarda sete minutos antes de encerrar a sessão para restabelecer a conexão com um portal.
Por exemplo, se os segredos CHAP fossem rotacionados no controlador de armazenamento e a rede perdesse a conectividade, os segredos CHAP antigos (obsoletos) poderiam persistir. A função de autorrecuperação consegue reconhecer isso e restabelecer automaticamente a sessão para aplicar os segredos CHAP atualizados. -
Sessões iSCSI ausentes
-
LUNs ausentes
Pontos a considerar antes de atualizar o Trident
-
Se apenas os grupos de interfaces (igroups) por nó (introduzidos na versão 23.04+) estiverem em uso, a autorrecuperação do iSCSI iniciará novas varreduras SCSI para todos os dispositivos no barramento SCSI.
-
Se apenas grupos de interface (igroups) com escopo de backend (obsoletos a partir da versão 23.04) estiverem em uso, a autorrecuperação do iSCSI iniciará novas varreduras SCSI para obter os IDs de LUN exatos no barramento SCSI.
-
Se uma combinação de igroups por nó e igroups com escopo de backend estiver em uso, a autorrecuperação do iSCSI iniciará novas varreduras SCSI para obter os IDs de LUN exatos no barramento SCSI.
Instale as ferramentas iSCSI
Instale as ferramentas iSCSI usando os comandos para o seu sistema operacional.
-
Cada nó no cluster Kubernetes deve ter um IQN único. Este é um pré-requisito necessário.
-
Se estiver usando o RHCOS versão 4.5 ou posterior, ou outra distribuição Linux compatível com RHEL, com o
solidfire-sanPara drivers e Element OS 12.5 ou anterior, certifique-se de que o algoritmo de autenticação CHAP esteja definido como MD5 em/etc/iscsi/iscsid.confOs algoritmos CHAP seguros e compatíveis com FIPS, SHA1, SHA-256 e SHA3-256, estão disponíveis no Element 12.7.sudo sed -i 's/^\(node.session.auth.chap_algs\).*/\1 = MD5/' /etc/iscsi/iscsid.conf
-
Ao usar nós de trabalho que executam RHEL/Red Hat Enterprise Linux CoreOS (RHCOS) com PVs iSCSI, especifique o
discardA opção mountOption na StorageClass permite realizar a recuperação de espaço em linha. Consulte "Documentação da Red Hat" . -
Certifique-se de ter atualizado para a versão mais recente do
multipath-tools.
-
Instale os seguintes pacotes do sistema:
sudo yum install -y lsscsi iscsi-initiator-utils device-mapper-multipath
-
Verifique se a versão do iscsi-initiator-utils é 6.2.0.874-2.el7 ou posterior:
rpm -q iscsi-initiator-utils
-
Configure a digitalização para manual:
sudo sed -i 's/^\(node.session.scan\).*/\1 = manual/' /etc/iscsi/iscsid.conf
-
Ativar multipathing:
sudo mpathconf --enable --with_multipathd y --find_multipaths n
Garantir /etc/multipath.confcontémfind_multipaths nosobdefaults. -
Certifique-se de que
iscsidemultipathdestão em execução:sudo systemctl enable --now iscsid multipathd
-
Ative e inicie
iscsi:sudo systemctl enable --now iscsi
-
Instale os seguintes pacotes do sistema:
sudo apt-get install -y open-iscsi lsscsi sg3-utils multipath-tools scsitools
-
Verifique se a versão do open-iscsi é 2.0.874-5ubuntu2.10 ou posterior (para bionic) ou 2.0.874-7.1ubuntu6.1 ou posterior (para focal):
dpkg -l open-iscsi
-
Configure a digitalização para manual:
sudo sed -i 's/^\(node.session.scan\).*/\1 = manual/' /etc/iscsi/iscsid.conf
-
Ativar multipathing:
sudo tee /etc/multipath.conf <<-EOF defaults { user_friendly_names yes find_multipaths no } EOF sudo systemctl enable --now multipath-tools.service sudo service multipath-tools restartGarantir /etc/multipath.confcontémfind_multipaths nosobdefaults. -
Certifique-se de que
open-iscsiemultipath-toolsestão habilitados e em execução:sudo systemctl status multipath-tools sudo systemctl enable --now open-iscsi.service sudo systemctl status open-iscsi
Para o Ubuntu 18.04, você deve descobrir as portas de destino com iscsiadmantes de começaropen-iscsipara que o daemon iSCSI seja iniciado. Você também pode modificar oiscsiserviço para iniciariscsidautomaticamente.
Configure ou desative a autorrecuperação do iSCSI.
Você pode configurar as seguintes opções de autorrecuperação do Trident iSCSI para corrigir sessões obsoletas:
-
Intervalo de autorrecuperação do iSCSI: Determina a frequência com que a autorrecuperação do iSCSI é acionada (padrão: 5 minutos). Você pode configurá-lo para ser executado com mais frequência, definindo um número menor, ou com menos frequência, definindo um número maior.
|
|
Definir o intervalo de autorrecuperação do iSCSI para 0 interrompe completamente a autorrecuperação do iSCSI. Não recomendamos desativar a autorrecuperação do iSCSI; ela só deve ser desativada em cenários específicos, quando a autorrecuperação do iSCSI não estiver funcionando conforme o esperado ou para fins de depuração. |
-
Tempo de espera de auto-recuperação do iSCSI: Determina a duração que a auto-recuperação do iSCSI aguarda antes de encerrar uma sessão com problemas e tentar entrar novamente (padrão: 7 minutos). Você pode configurá-lo para um número maior, de forma que as sessões identificadas como não íntegras tenham que esperar mais tempo antes de serem desconectadas e, em seguida, uma nova tentativa de login seja feita, ou para um número menor, para desconectar e entrar mais cedo.
Para configurar ou alterar as configurações de autorrecuperação do iSCSI, passe o iscsiSelfHealingInterval e iscsiSelfHealingWaitTime parâmetros durante a instalação ou atualização do Helm.
O exemplo a seguir define o intervalo de autorrecuperação do iSCSI para 3 minutos e o tempo de espera para autorrecuperação para 6 minutos:
helm install trident trident-operator-100.2506.0.tgz --set iscsiSelfHealingInterval=3m0s --set iscsiSelfHealingWaitTime=6m0s -n trident
Para configurar ou alterar as configurações de autorrecuperação do iSCSI, passe o iscsi-self-healing-interval e iscsi-self-healing-wait-time parâmetros durante a instalação ou atualização do tridentctl.
O exemplo a seguir define o intervalo de autorrecuperação do iSCSI para 3 minutos e o tempo de espera para autorrecuperação para 6 minutos:
tridentctl install --iscsi-self-healing-interval=3m0s --iscsi-self-healing-wait-time=6m0s -n trident
Volumes NVMe/TCP
Instale as ferramentas NVMe usando os comandos específicos do seu sistema operacional.
|
|
|
sudo yum install nvme-cli sudo yum install linux-modules-extra-$(uname -r) sudo modprobe nvme-tcp
sudo apt install nvme-cli sudo apt -y install linux-modules-extra-$(uname -r) sudo modprobe nvme-tcp
Verifique a instalação
Após a instalação, verifique se cada nó no cluster Kubernetes possui um NQN exclusivo usando o comando:
cat /etc/nvme/hostnqn
|
|
Trident modifica o ctrl_device_tmo Valor para garantir que o NVMe não abandone o caminho caso ele falhe. Não altere esta configuração.
|
SCSI sobre volumes FC
Agora você pode usar o protocolo Fibre Channel (FC) com o Trident para provisionar e gerenciar recursos de armazenamento no sistema ONTAP .
Pré-requisitos
Configure as definições de rede e de nó necessárias para a FC.
Configurações de rede
-
Obtenha o WWPN das interfaces de destino. Consulte "exibição de interface de rede" para mais informações.
-
Obtenha o WWPN para as interfaces no iniciador (Host).
Consulte os utilitários correspondentes do sistema operacional do host.
-
Configure o zoneamento no switch FC usando os WWPNs do host e do destino.
Consulte a documentação do respectivo fornecedor do switch para obter informações.
Consulte a seguinte documentação do ONTAP para obter detalhes:
Instale as ferramentas FC
Instale as ferramentas FC usando os comandos para o seu sistema operacional.
-
Ao usar nós de trabalho que executam RHEL/Red Hat Enterprise Linux CoreOS (RHCOS) com PVs FC, especifique o
discardA opção mountOption na StorageClass permite realizar a recuperação de espaço em linha. Consulte "Documentação da Red Hat" .
-
Instale os seguintes pacotes do sistema:
sudo yum install -y lsscsi device-mapper-multipath
-
Ativar multipathing:
sudo mpathconf --enable --with_multipathd y --find_multipaths n
Garantir /etc/multipath.confcontémfind_multipaths nosobdefaults. -
Certifique-se de que
multipathdestá em execução:sudo systemctl enable --now multipathd
-
Instale os seguintes pacotes do sistema:
sudo apt-get install -y lsscsi sg3-utils multipath-tools scsitools
-
Ativar multipathing:
sudo tee /etc/multipath.conf <<-EOF defaults { user_friendly_names yes find_multipaths no } EOF sudo systemctl enable --now multipath-tools.service sudo service multipath-tools restartGarantir /etc/multipath.confcontémfind_multipaths nosobdefaults. -
Certifique-se de que
multipath-toolsEstá habilitado e em execução:sudo systemctl status multipath-tools