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 ou NVMe/TCP 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. |
Detecção de serviço de nós
O Astra 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 Astra Trident cria eventos para o nó a fim de identificar os serviços descobertos. Para rever estes eventos, execute:
kubectl get event -A --field-selector involvedObject.name=<Kubernetes node name>
O Astra Trident identifica serviços habilitados para cada nó no nó CR da 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 Astra 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 Astra Trident executa 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 Astra 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 logs, você deve ter definido debug como "true" durante a instalação do Astra Trident.
|
As funcionalidades de autorrecuperação iSCSI do Astra Trident ajudam 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 Astra 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
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 sg3_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
-
Definir 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
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 autorrecuperação iSCSI Astra 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.2402.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 Astra 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.
|