Prepare o nó de trabalho
Todos os nós de trabalho no cluster do Kubernetes precisam ser capazes de montar os volumes provisionados para os pods. Para preparar os nós de trabalho, é necessário instalar ferramentas NFS, iSCSI, NVMe/TCP ou FC com base na seleção de driver.
Selecionar as ferramentas certas
Se você estiver usando uma combinação de drivers, você deve instalar todas as ferramentas necessárias para seus drivers. Versões recentes do RedHat CoreOS têm as ferramentas instaladas por padrão.
"Instalar as ferramentas NFS" se estiver a utilizar: ontap-nas
, ontap-nas-economy
, ontap-nas-flexgroup
, , , azure-netapp-files
gcp-cvs
.
"Instale as ferramentas iSCSI" se estiver a utilizar: ontap-san
, ontap-san-economy
, solidfire-san
.
"Instalar as ferramentas do NVMe" Se você estiver usando ontap-san
o protocolo NVMe (não-volátil Memory Express) em TCP (NVMe/TCP).
Recomendamos o ONTAP 9.12 ou posterior para NVMe/TCP. |
SCSI over Fibre Channel (FC) é um recurso de pré-visualização técnica na versão do Trident 24,10.
"Instalar as ferramentas FC" Se você estiver usando ontap-san
com sanType ( `fcp`SCSI sobre FC).
"Maneiras de configurar hosts SAN FC FC-NVMe"Consulte para obter mais informações.
Detecção de serviço de nós
O Trident tenta detetar automaticamente se o nó pode executar serviços iSCSI ou NFS.
A descoberta de serviço de nó identifica os serviços descobertos, mas não garante que os serviços estejam configurados corretamente. Por outro lado, a ausência de um serviço descoberto não garante que a montagem de volume falhe. |
O Trident cria eventos para o nó para identificar os serviços descobertos. Para rever estes eventos, execute:
kubectl get event -A --field-selector involvedObject.name=<Kubernetes node name>
O Trident identifica os serviços ativados para cada nó no CR do nó Trident. Para visualizar os serviços descobertos, execute:
tridentctl get node -o wide -n <Trident namespace>
Volumes NFS
Instale as ferramentas NFS usando os comandos do seu sistema operacional. Certifique-se de que o serviço NFS seja iniciado durante o tempo de inicialização.
sudo yum install -y nfs-utils
sudo apt-get install -y nfs-common
Reinicie seus nós de trabalho após instalar as ferramentas NFS para evitar falhas ao anexar volumes a contêineres. |
Volumes iSCSI
O Trident pode estabelecer automaticamente uma sessão iSCSI, digitalizar LUNs e descobrir dispositivos multipath, formatá-los e montá-los em um pod.
Recursos de autorrecuperação iSCSI
Para sistemas ONTAP, o Trident executa a autorrecuperação iSCSI a cada cinco minutos para:
-
Identifique o estado de sessão iSCSI desejado e o estado atual da sessão iSCSI.
-
Compare o estado desejado com o estado atual para identificar as reparações necessárias. O Trident determina as prioridades de reparação e quando efetuar as reparações.
-
Efetuar reparações necessárias para repor o estado atual da sessão iSCSI para o estado de sessão iSCSI pretendido.
Logs de atividade de auto-cura estão localizados no trident-main recipiente no respetivo pod Daemonset. Para visualizar registos, tem de ter definido debug como "verdadeiro" durante a instalação do Trident.
|
Os recursos de autorrecuperação iSCSI da Trident podem ajudar a impedir:
-
Sessões iSCSI obsoletas ou não saudáveis que podem ocorrer após um problema de conetividade de rede. No caso de uma sessão obsoleta, o Trident aguarda sete minutos antes de sair para restabelecer a conexão com um portal.
Por exemplo, se os segredos CHAP foram girados no controlador de armazenamento e a rede perder a conetividade, os segredos CHAP antigos (stale) podem persistir. A auto-cura pode reconhecer isso e restabelecer automaticamente a sessão para aplicar os segredos CHAP atualizados. -
Sessões iSCSI em falta
-
LUNs em falta
Pontos a considerar antes de atualizar o Trident
-
Se apenas os grupos por nó (introduzidos em mais de 23,04) estiverem em uso, a recuperação automática iSCSI iniciará os rescans SCSI para todos os dispositivos no barramento SCSI.
-
Se apenas grupos com escopo de back-end (obsoletos a partir de 23,04) estiverem em uso, a recuperação automática iSCSI iniciará as reconfigurações SCSI para IDs de LUN exatas no barramento SCSI.
-
Se uma combinação de grupos por nó e grupos com escopo de back-end estiver em uso, a recuperação automática iSCSI iniciará as substituições SCSI para IDs LUN exatas no barramento SCSI.
Instale as ferramentas iSCSI
Instale as ferramentas iSCSI utilizando os comandos do seu sistema operativo.
-
Cada nó no cluster do Kubernetes precisa ter uma IQN exclusiva. Este é um pré-requisito necessário.
-
Se estiver usando RHCOS versão 4,5 ou posterior, ou outra distribuição Linux compatível com RHEL, com o
solidfire-san
driver e o Element OS 12,5 ou anterior, verifique se o algoritmo de autenticação CHAP está definido como MD5 em/etc/iscsi/iscsid.conf
. algoritmos CHAP compatíveis com FIPS seguros SHA1, SHA-256 e SHA3-256 estão disponíveis com o elemento 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/RedHat CoreOS com iSCSI PVs, especifique a
discard
mountOption no StorageClass para executar a recuperação de espaço em linha. Consulte a "Documentação da RedHat".
-
Instale os seguintes pacotes de sistema:
sudo yum install -y lsscsi iscsi-initiator-utils device-mapper-multipath
-
Verifique se a versão iscsi-iniciador-utils é 6,2.0,874-2.el7 ou posterior:
rpm -q iscsi-initiator-utils
-
Ativar multipathing:
sudo mpathconf --enable --with_multipathd y --find_multipaths n
Certifique-se de etc/multipath.conf
que contémfind_multipaths no
defaults
em . -
Certifique-se de que
iscsid
emultipathd
estão a funcionar:sudo systemctl enable --now iscsid multipathd
-
Ativar e iniciar
iscsi
:sudo systemctl enable --now iscsi
-
Instale os seguintes pacotes de sistema:
sudo apt-get install -y open-iscsi lsscsi sg3-utils multipath-tools scsitools
-
Verifique se a versão 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
-
Definir 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 restart
Certifique-se de etc/multipath.conf
que contémfind_multipaths no
defaults
em . -
Certifique-se de que
open-iscsi
emultipath-tools
estão ativados 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 portas de destino com iscsiadm
antes de iniciaropen-iscsi
o daemon iSCSI para iniciar. Em alternativa, pode modificar oiscsi
serviço para iniciariscsid
automaticamente.
Configurar ou desativar a auto-recuperação iSCSI
Você pode configurar as seguintes configurações de auto-recuperação iSCSI Trident para corrigir sessões obsoletas:
-
Intervalo de auto-recuperação iSCSI: Determina a frequência na qual a auto-recuperação iSCSI é invocada (predefinição: 5 minutos). Você pode configurá-lo para executar com mais frequência definindo um número menor ou com menos frequência definindo um número maior.
Definir o intervalo de auto-recuperação iSCSI para 0 interrompe completamente a auto-recuperação iSCSI. Não recomendamos a desativação do iSCSI Self-healing; ele só deve ser desativado em certos cenários quando o iSCSI Self-healing não estiver funcionando como pretendido ou para fins de depuração. |
-
Tempo de espera de auto-cura iSCSI: Determina a duração de espera de auto-recuperação iSCSI antes de sair de uma sessão não saudável e tentar iniciar sessão novamente (predefinição: 7 minutos). Você pode configurá-lo para um número maior para que as sessões identificadas como não saudáveis tenham que esperar mais antes de serem desconetadas e, em seguida, uma tentativa é feita para fazer login novamente, ou um número menor para fazer logout e fazer login mais cedo.
Para configurar ou alterar as definições de recuperação automática iSCSI, passe os iscsiSelfHealingInterval
parâmetros e iscsiSelfHealingWaitTime
durante a instalação do leme ou atualização do leme.
O exemplo a seguir define o intervalo de auto-recuperação iSCSI para 3 minutos e o tempo de espera de auto-recuperação para 6 minutos:
helm install trident trident-operator-100.2410.0.tgz --set iscsiSelfHealingInterval=3m0s --set iscsiSelfHealingWaitTime=6m0s -n trident
Para configurar ou alterar as configurações de auto-recuperação iSCSI, passe os iscsi-self-healing-interval
parâmetros e iscsi-self-healing-wait-time
durante a instalação ou atualização do tridentctl.
O exemplo a seguir define o intervalo de auto-recuperação iSCSI para 3 minutos e o tempo de espera de auto-recuperaçã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 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 do Kubernetes tem um NQN exclusivo usando o comando:
cat /etc/nvme/hostnqn
O Trident modifica o ctrl_device_tmo valor para garantir que o NVMe não desista do caminho se ele cair. Não altere esta definição.
|
Instalar as ferramentas FC
Instale as ferramentas FC usando os comandos do seu sistema operacional.
-
Ao usar nós de trabalho que executam RHEL/RedHat CoreOS com FC PVs, especifique a
discard
mountOption no StorageClass para executar a recuperação de espaço em linha. Consulte a "Documentação da RedHat".
-
Instale os seguintes pacotes de sistema:
sudo yum install -y lsscsi device-mapper-multipath
-
Ativar multipathing:
sudo mpathconf --enable --with_multipathd y --find_multipaths n
Certifique-se de etc/multipath.conf
que contémfind_multipaths no
defaults
em . -
Certifique-se de que
multipathd
está em execução:sudo systemctl enable --now multipathd
-
Instale os seguintes pacotes de 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 restart
Certifique-se de etc/multipath.conf
que contémfind_multipaths no
defaults
em . -
Certifique-se de que
multipath-tools
está ativado e em execução:sudo systemctl status multipath-tools