Configurar um back-end do Azure NetApp Files
Use o Azure NetApp Files como backend para Trident. Esse backend oferece suporte a volumes NFS e SMB. Trident oferece suporte a identidades gerenciadas e identidade de carga de trabalho para clusters do Azure Kubernetes Service (AKS).
Ambientes de nuvem Azure suportados
Trident oferece suporte a back-ends do Azure NetApp Files em vários ambientes de nuvem do Azure.
As nuvens do Microsoft Azure compatíveis incluem:
-
Azure Commercial
-
Azure Government (Azure Government / MAG)
Ao implantar Trident ou configurar um backend do Azure NetApp Files, certifique-se de que o Azure Resource Manager e os endpoints de autenticação correspondam ao seu ambiente de nuvem do Azure.
Revise o suporte do driver do Azure NetApp Files
Trident fornece o seguinte driver de armazenamento Azure NetApp Files.
Os modos de acesso suportados incluem ReadWriteOnce (RWO), ReadOnlyMany (ROX), ReadWriteMany (RWX) e ReadWriteOncePod (RWOP).
| Condutor | Protocolo | VolumeMode | Modos de acesso suportados | Sistemas de arquivos suportados |
|---|---|---|---|---|
|
NFS, SMB |
Sistema de ficheiros |
RWO, ROX, RWX, RWOP |
|
Revisar considerações
-
Azure NetApp Files não suporta volumes menores que 50 GiB. Trident cria um volume de 50 GiB quando um volume menor é solicitado.
-
O Trident dá suporte a volumes SMB montados em pods executados apenas em nós do Windows.
-
As implantações do Azure NetApp Files em nuvens Azure não comerciais exigem endpoints do Azure Resource Manager e de autenticação específicos da nuvem. Certifique-se de que Trident e qualquer configuração de backend usem os endpoints apropriados para o seu ambiente de nuvem Azure.
Use identidades gerenciadas para AKS
Trident oferece suporte "identidades gerenciadas" para clusters AKS.
Se você utiliza tridentctl para criar ou gerenciar back-ends do Azure NetApp Files, certifique-se de que ele esteja configurado para o ambiente de nuvem Azure correto.
Para usar identidades gerenciadas, você deve ter:
-
Um cluster do Kubernetes implantado usando AKS
-
Identidades gerenciadas configuradas no cluster Kubernetes do AKS
-
Trident instalado com
cloudProviderdefinido para"Azure"
Edite tridentorchestrator_cr.yaml e defina cloudProvider para "Azure".
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
name: trident
spec:
debug: true
namespace: trident
imagePullPolicy: IfNotPresent
cloudProvider: "Azure"
O exemplo a seguir instala Trident e define cloudProvider usando a variável de ambiente $CP:
helm install trident trident-operator-100.2506.0.tgz --create-namespace --namespace <trident-namespace> --set cloudProvider=$CP
O exemplo a seguir instala Trident e define o cloud-provider sinalizador para Azure:
tridentctl install --cloud-provider="Azure" -n trident
Use identidade de carga de trabalho para AKS
A identidade de carga de trabalho permite que os pods do Kubernetes acessem recursos do Azure autenticando-se como uma identidade de carga de trabalho.
Se você utiliza tridentctl para criar ou gerenciar back-ends do Azure NetApp Files, certifique-se de que ele esteja configurado para o ambiente de nuvem Azure correto.
Para usar workload identity, você precisa ter:
-
Um cluster do Kubernetes implantado usando AKS
-
Identidade da carga de trabalho e oidc-emitente configurados no cluster AKS Kubernetes
-
Trident instalado com
cloudProviderdefinido para"Azure"ecloudIdentitydefinido para o valor de identidade da carga de trabalho
Edite tridentorchestrator_cr.yaml e defina cloudProvider como "Azure". Defina cloudIdentity como azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx.
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
name: trident
spec:
debug: true
namespace: trident
imagePullPolicy: IfNotPresent
cloudProvider: "Azure"
cloudIdentity: 'azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx' # Edit
Defina os valores para os parâmetros cloud-provider (CP) e cloud-identity (CI) usando as seguintes variáveis de ambiente:
export CP="Azure"
export CI="'azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'"
O exemplo a seguir instala Trident e define cloudProvider usando $CP e define cloudIdentity usando $CI:
helm install trident trident-operator-100.6.0.tgz --set cloudProvider=$CP --set cloudIdentity="$CI"
Defina os valores para os parâmetros cloud provider e cloud identity usando as seguintes variáveis de ambiente:
export CP="Azure"
export CI="azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx"
O exemplo a seguir instala Trident e define cloud-provider como $CP e cloud-identity como $CI:
tridentctl install --cloud-provider=$CP --cloud-identity="$CI" -n trident