Configuração do NetApp ONTAP iSCSI
Para integrar o sistema de armazenamento NetApp ONTAP com clusters VMware Tanzu Kubernetes para volumes persistentes via iSCSI, a primeira etapa é preparar os nós efetuando login em cada nó e configurando os utilitários ou pacotes iSCSI para montar volumes iSCSI. Para tal, siga o procedimento descrito neste"link" .
|
A NetApp não recomenda esse procedimento para implantações NAT de clusters VMware Tanzu Kubernetes. |
|
O TKGI usa VMs Bosh como nós para clusters Tanzu Kubernetes que executam imagens de configuração imutáveis, e quaisquer alterações manuais de pacotes iSCSI em VMs Bosh não permanecem persistentes após reinicializações. Portanto, a NetApp recomenda o uso de volumes NFS para armazenamento persistente para clusters Tanzu Kubernetes implantados e operados pela TKGI. |
Depois que os nós do cluster estiverem preparados para volumes iSCSI, você deverá criar um backend que permita a comunicação com o sistema de armazenamento. Configuramos um backend básico nesta solução, mas, se você estiver procurando por opções mais personalizadas, visite a documentação"aqui" .
Crie um SVM no ONTAP
Para criar um SVM no ONTAP, conclua as seguintes etapas:
-
Efetue login no ONTAP System Manager, navegue até Armazenamento > VMs de armazenamento e clique em Adicionar.
-
Insira um nome para o SVM, ative o protocolo iSCSI e forneça detalhes para os LIFs de dados.
-
Insira os detalhes da conta de administração do SVM e clique em Salvar.
-
Para atribuir os agregados ao SVM, navegue até Armazenamento > VMs de armazenamento, clique nas reticências ao lado do SVM recém-criado e clique em Editar. Marque a caixa de seleção Limitar criação de volume a níveis locais preferenciais e anexe os agregados necessários a ela.
Criar backends e StorageClasses
-
Para sistemas NetApp ONTAP que atendem NFS, crie um arquivo de configuração de backend no jumphost com backendName, managementLIF, dataLIF, svm, nome de usuário, senha e outros detalhes.
{ "version": 1, "storageDriverName": "ontap-san", "backendName": "ontap-san+10.61.181.231", "managementLIF": "172.21.224.201", "dataLIF": "10.61.181.231", "svm": "trident_svm_iscsi", "username": "admin", "password": "password" }
-
Crie o backend do Trident executando o seguinte comando.
[netapp-user@rhel7 trident-installer]$ ./tridentctl -n trident create backend -f backend-ontap-san.json +------------------------+----------------+--------------------------------------+--------+---------+ | NAME | STORAGE DRIVER | UUID | STATE | VOLUMES | +------------------------+----------------+--------------------------------------+--------+---------+ | ontap-san+10.61.181.231 | ontap-san | 6788533c-7fea-4a35-b797-fb9bb3322b91 | online | 0 | +------------------------+----------------+--------------------------------------+--------+---------+
-
Depois de criar um backend, você deve criar uma classe de armazenamento. A definição de classe de armazenamento de exemplo a seguir destaca os campos obrigatórios e básicos. O parâmetro
backendType
deve refletir o driver de armazenamento do backend Trident recém-criado. Observe também o valor do campo nome, que deve ser referenciado em uma etapa posterior.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ontap-iscsi provisioner: csi.trident.netapp.io parameters: backendType: "ontap-san"
Existe um campo opcional chamado fsType
que é definido neste arquivo. Em backends iSCSI, esse valor pode ser definido para um tipo específico de sistema de arquivos Linux (XFS, ext4 e assim por diante) ou pode ser excluído para permitir que os clusters Tanzu Kubernetes decidam qual sistema de arquivos usar. -
Crie a classe de armazenamento executando o comando kubectl.
[netapp-user@rhel7 trident-installer]$ kubectl create -f storage-class-iscsi.yaml storageclass.storage.k8s.io/ontap-iscsi created
-
Com a classe de armazenamento criada, você deve criar a primeira reivindicação de volume persistente (PVC). Um exemplo de definição de PVC é fornecido abaixo. Certifique-se de que o
storageClassName
campo corresponde ao nome da classe de armazenamento recém-criada. A definição de PVC pode ser personalizada conforme necessário, dependendo da carga de trabalho a ser provisionada.kind: PersistentVolumeClaim apiVersion: v1 metadata: name: basic spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi storageClassName: ontap-iscsi
-
Crie o PVC emitindo o comando kubectl. A criação pode levar algum tempo dependendo do tamanho do volume de apoio que está sendo criado, então você pode acompanhar o processo conforme ele é concluído.
[netapp-user@rhel7 trident-installer]$ kubectl create -f pvc-basic.yaml persistentvolumeclaim/basic created [netapp-user@rhel7 trident-installer]$ kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE basic Bound pvc-7ceac1ba-0189-43c7-8f98-094719f7956c 1Gi RWO ontap-iscsi 3s