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
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour plus d’informations, consultez Démarrage rapide pour Bash dans Azure Cloud Shell.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
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
- Supprimer un cluster
- Obtenir les détails du cluster
- Obtenir le statut des nœuds de cluster
- Lister les clusters par groupe de ressources
- Lister les clusters par ID d’abonnement
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 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
- Supprimer un centre de données
- Obtenir les détails d’un centre de données
- Obtenir les centres de données dans un cluster
- Mettre à jour ou à l’échelle un centre de données
- Obtenir la configuration Cassandra
- Mettre à jour la configuration 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