Gérer les ressources Azure Managed Instance pour Apache Cassandra en utilisant Azure CLI

Cet article décrit les commandes courantes permettant d’automatiser la gestion de vos clusters et centres de données Azure Managed Instance pour Apache Cassandra en utilisant Azure CLI.

Prérequis

Cet article nécessite la version 2.30.0 ou ultérieure d'Azure CLI. Si vous utilisez Azure Cloud Shell, sachez que la version la plus récente est déjà installée.

Important

Vous ne pouvez pas renommer Gérer les ressources Azure Managed Instance pour Apache Cassandra. Renommer ces ressources n'est pas conforme à la manière dont Azure Resource Manager travaille avec les URI de ressources.

Gérer des clusters

Les sections suivantes montrent comment gérer les clusters Azure Managed Instance pour Apache Cassandra :

Créer un cluster

Créez un cluster Azure Managed Instance pour Apache Cassandra à l’aide de la commande az managed-cassandra cluster create :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
location='West US'
delegatedManagementSubnetId='/subscriptions/<subscription id>/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management'
initialCassandraAdminPassword='myPassword'

# You can override the cluster name if the original name is not legal for an Azure resource:
# overrideClusterName='ClusterNameIllegalForAzureResource'
# The default Cassandra version is v3.11

az managed-cassandra cluster create \
    --cluster-name $clusterName \
    --resource-group $resourceGroupName \
    --location $location \
    --delegated-management-subnet-id $delegatedManagementSubnetId \
    --initial-cassandra-admin-password $initialCassandraAdminPassword \

Suppression d'un cluster

Supprimez un cluster à l’aide de la commande az managed-cassandra cluster delete :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'

az managed-cassandra cluster delete \
    --cluster-name $clusterName \
    --resource-group $resourceGroupName

Obtenir les détails du cluster

Récupérez les détails du cluster à l’aide de la commande az managed-cassandra cluster show :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'

az managed-cassandra cluster show \
    --cluster-name $clusterName \
    --resource-group $resourceGroupName

Obtenir le statut des nœuds de cluster

Récupérez l’état des nœuds de cluster à l’aide de la commande az managed-cassandra cluster node-status :

clusterName='cassandra-hybrid-cluster'
resourceGroupName='MyResourceGroup'

az managed-cassandra cluster status \
    --cluster-name $clusterName \
    --resource-group $resourceGroupName

Lister les clusters par groupe de ressources

Répertoriez les clusters par groupe de ressources à l’aide de la commande az managed-cassandra cluster list :

subscriptionId='MySubscriptionId'
resourceGroupName='MyResourceGroup'

az managed-cassandra cluster list\
    --resource-group $resourceGroupName

Lister les clusters par ID d’abonnement

Répertoriez les clusters par ID d’abonnement à l’aide de la commande az managed-cassandra cluster list :

# Set your subscription ID
az account set -s <subscriptionID>

az managed-cassandra cluster list

Gérer les centres de données

Les sections suivantes montrent comment gérer les centres de données Azure Managed Instance pour Apache Cassandra :

Créer un centre de données

Créez un centre de données à l’aide de la commande az managed-cassandra datacenter create :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'
dataCenterLocation='eastus2'
delegatedSubnetId='/subscriptions/<SubscriptionID>/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1-subnet'
virtualMachineSKU='Standard_D8s_v4'
noOfDisksPerNode=4

az managed-cassandra datacenter create \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName \
    --data-center-location $dataCenterLocation \
    --delegated-subnet-id $delegatedSubnetId \
    --node-count 3 
    --sku $virtualMachineSKU \
    --disk-capacity $noOfDisksPerNode \
    --availability-zone false

Choisissez la valeur pour --sku à partir des options de machine virtuelle (VM) disponibles suivantes :

  • Standard_E8s_v4
  • Standard_E16s_v4
  • Standard_E20s_v4
  • Standard_E32s_v4
  • Standard_DS13_v2
  • Standard_DS14_v2
  • Standard_D8s_v4
  • Standard_D16s_v4
  • Standard_D32s_v4
  • Standard_L8s_v3
  • Standard_L16s_v3
  • Standard_L32s_v3
  • Standard_L8as_v3
  • Standard_L16as_v3
  • Standard_L32as_v3

Actuellement, Azure Managed Instance pour Apache Cassandra ne prend pas en charge la transition entre les familles de machine virtuelle. Par exemple, si vous disposez actuellement d'une machine virtuelle Standard_DS13_v2 et que vous souhaitez passer à une machine virtuelle plus importante telle que Standard_DS14_v2, cette option n'est pas disponible. Toutefois, vous pouvez ouvrir un ticket de support pour demander la mise à niveau.

Dans la commande précédente, --availability-zone est configuré pour false. Pour activer les zones de disponibilité, définissez cette valeur sur true. Les zones de disponibilité augmentent le contrat de niveau de service (SLA) pour la disponibilité du service. Pour plus d’informations, consultez les détails complets du SLA.

Avertissement

Azure Managed Instance pour Apache Cassandra ne prend pas en charge les zones de disponibilité dans toutes les régions. Si vous sélectionnez une région où les zones de disponibilité ne sont pas prises en charge, les déploiements échoueront. Consultez la liste des régions prises en charge.

La réussite du déploiement des zones de disponibilité dépend également de la disponibilité des ressources de calcul dans toutes les zones d’une région. Les déploiements peuvent échouer si la machine virtuelle ou la capacité que vous avez sélectionnée n'est pas disponible dans toutes les zones.

Supprimer un centre de données

Supprimez un centre de données à l’aide de la commande az managed-cassandra datacenter delete :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'

az managed-cassandra datacenter delete \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName 

Avertissement

Si vous avez plus d’un centre de données dans votre cluster, vous devez commencer par supprimer toute référence au centre de données que vous essayez de supprimer dans tous les paramètres de stratégie de réplication d’espace de clés. Cette commande échoue si des espaces de clés au sein de votre cluster a toujours des références au centre de données.

Obtenir les détails d’un centre de données

Récupérez des informations sur le centre de données à l’aide de la commande az managed-cassandra datacenter show :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'

az managed-cassandra datacenter show \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName 

Mettre à jour ou à l’échelle un centre de données

Mettez à jour ou mettez à l’échelle un centre de données à l’aide de la commande mise à jour du centre de données az managed-cassandra :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'

az managed-cassandra datacenter update \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName \
    --node-count 13 

Pour mettre à l’échelle un centre de données, modifiez la valeur --node-count.

Obtenir la configuration Cassandra

Obtenez la configuration YAML actuelle d’un nœud à l’aide de la commande az managed-cassandra cluster invoke-command :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
commandName='get-cassandra-yaml'
 
az managed-cassandra cluster invoke-command \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --host <ip address> \
    --command-name 'get-cassandra-yaml'

Vous pouvez rendre la sortie plus lisible en utilisant les commandes suivantes :

$output = az managed-cassandra cluster invoke-command \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --host <ip address> \
    --command-name 'get-cassandra-yaml' \
    | ConvertFrom-Json
$output.commandOutput

Mettre à jour la configuration Cassandra

Vous pouvez changer la configuration Cassandra dans un centre de données à l’aide de la commande az managed-cassandra datacenter update. Vous devez encoder en Base64 le fragment YAML à l’aide d’un outil en ligne.

Par exemple, considérez le fragment YAML suivant :

column_index_size_in_kb: 16
read_request_timeout_in_ms: 10000

Une fois l’encodage terminé, le fragment YAML est converti comme suit : Y29sdW1uX2luZGV4X3NpemVfaW5fa2I6IDE2CnJlYWRfcmVxdWVzdF90aW1lb3V0X2luX21zOiAxMDAwMA==.

Voici la commande az managed-cassandra datacenter update avec le fragment YAML encodé :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'
dataCenterLocation='eastus'
yamlFragment='Y29sdW1uX2luZGV4X3NpemVfaW5fa2I6IDE2CnJlYWRfcmVxdWVzdF90aW1lb3V0X2luX21zOiAxMDAwMA=='

az managed-cassandra datacenter update \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName \
    --base64-encoded-cassandra-yaml-fragment $yamlFragment

Important

Vérifiez que les paramètres YAML de Cassandra que vous fournissez sont appropriés pour votre version de Cassandra. Consultez les paramètres Cassandra v3.11 et les paramètres Cassandra v4.0. Vous n’êtes pas autorisé à mettre à jour les paramètres YAML suivants :

  • cluster_name
  • seed_provider
  • initial_token
  • autobootstrap
  • client_encryption_options
  • server_encryption_options
  • transparent_data_encryption_options
  • audit_logging_options
  • authenticator
  • authorizer
  • role_manager
  • storage_port
  • ssl_storage_port
  • native_transport_port
  • native_transport_port_ssl
  • listen_address
  • listen_interface
  • broadcast_address
  • hints_directory
  • data_file_directories
  • commitlog_directory
  • cdc_raw_directory
  • saved_caches_directory
  • endpoint_snitch
  • partitioner
  • rpc_address
  • rpc_interface

Obtenir les centres de données dans un cluster

Récupérez les centres de données dans un cluster à l’aide de la commande az managed-cassandra datacenter list :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'

az managed-cassandra datacenter list \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName

Étapes suivantes