Gerenciar recursos da Instância Gerenciada do Azure para Apache Cassandra usando a CLI do Azure

Este artigo descreve comandos comuns para automatizar o gerenciamento de sua Instância Gerenciada do Azure para clusters e datacenters Apache Cassandra usando a CLI do Azure.

Pré-requisitos

  • Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.

  • Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.

    • Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.

    • Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.

    • Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.

Este artigo requer a CLI do Azure versão 2.30.0 ou posterior. Se você estiver usando o Azure Cloud Shell, a versão mais recente já está instalada.

Importante

Não é possível renomear Gerenciar Instância Gerenciada do Azure para recursos do Apache Cassandra. Renomear esses recursos viola como o Azure Resource Manager funciona com URIs de recursos.

Gerir clusters

As seções a seguir demonstram como gerenciar a Instância Gerenciada do Azure para clusters Apache Cassandra:

Criar um cluster

Crie uma Instância Gerenciada do Azure para o cluster Apache Cassandra usando o comando 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 \

Eliminar um cluster

Exclua um cluster usando o comando az managed-cassandra cluster delete :

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

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

Obter detalhes do cluster

Obtenha detalhes do cluster usando o comando az managed-cassandra cluster show :

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

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

Obter o status do nó do cluster

Obtenha o status dos nós de cluster usando o comando az managed-cassandra cluster node-status :

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

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

Listar clusters por grupo de recursos

Liste clusters por grupo de recursos usando o comando az managed-cassandra cluster list :

subscriptionId='MySubscriptionId'
resourceGroupName='MyResourceGroup'

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

Listar clusters por ID de assinatura

Liste clusters por ID de assinatura usando o comando az managed-cassandra cluster list :

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

az managed-cassandra cluster list

Gerenciar datacenters

As seções a seguir demonstram como gerenciar a Instância Gerenciada do Azure para datacenters Apache Cassandra:

Criar um datacenter

Crie um datacenter usando o comando 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

Escolha o valor para --sku uma das seguintes opções de máquina virtual (VM) disponíveis:

  • 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

Atualmente, a Instância Gerenciada do Azure para Apache Cassandra não oferece suporte à transição entre famílias de VMs. Por exemplo, se você tiver atualmente uma VM Standard_DS13_v2 e estiver interessado em atualizar para uma VM maior, como Standard_DS14_v2, essa opção não estará disponível. No entanto, você pode abrir um tíquete de suporte para solicitar a atualização.

No comando anterior, --availability-zone é definido como false. Para habilitar zonas de disponibilidade, defina esse valor como true. As zonas de disponibilidade aumentam o contrato de nível de serviço (SLA) para a disponibilidade do serviço. Para obter mais informações, consulte os detalhes completos do SLA.

Aviso

A Instância Gerenciada do Azure para Apache Cassandra não oferece suporte a zonas de disponibilidade em todas as regiões. Se você selecionar uma região onde as zonas de disponibilidade não são suportadas, as implantações falharão. Consulte a lista de regiões suportadas.

A implantação bem-sucedida de zonas de disponibilidade também está sujeita à disponibilidade de recursos de computação em todas as zonas de uma região. As implantações podem falhar se a VM ou a capacidade selecionada não estiver disponível em todas as zonas.

Excluir um datacenter

Exclua um datacenter usando o comando 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 

Aviso

Se você tiver mais de um datacenter em seu cluster, deverá remover primeiro todas as referências ao datacenter que está tentando excluir em qualquer configuração de estratégia de replicação de espaço de chave. Este comando falhará se quaisquer espaços-chave dentro do cluster ainda tiverem referências ao datacenter.

Obter detalhes do datacenter

Obtenha detalhes do datacenter usando o comando 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 

Atualizar ou dimensionar um datacenter

Atualize ou dimensione um datacenter usando o comando az managed-cassandra datacenter update :

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 

Para dimensionar um datacenter, altere o --node-count valor.

Obter a configuração Cassandra

Obtenha a configuração YAML atual de um nó usando o comando 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'

Você pode tornar a saída mais legível usando os seguintes comandos:

$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

Atualizar a configuração do Cassandra

Altere a configuração do Cassandra em um datacenter usando o comando az managed-cassandra datacenter update . Você precisa codificar Base64 o fragmento YAML usando uma ferramenta online.

Por exemplo, considere o seguinte fragmento YAML:

column_index_size_in_kb: 16
read_request_timeout_in_ms: 10000

Quando é codificado, o YAML é convertido em: Y29sdW1uX2luZGV4X3NpemVfaW5fa2I6IDE2CnJlYWRfcmVxdWVzdF90aW1lb3V0X2luX21zOiAxMDAwMA==.

Aqui está o az managed-cassandra datacenter update comando com o fragmento YAML codificado:

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

Importante

Certifique-se de que as configurações Cassandra YAML que você fornece são apropriadas para sua versão do Cassandra. Consulte as configurações de Cassandra v3.11 e Cassandra v4.0. Você não tem permissão para atualizar as seguintes configurações do YAML:

  • 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

Obter os datacenters em um cluster

Obtenha datacenters em um cluster usando o comando az managed-cassandra datacenter list :

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

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

Próximos passos