Administración de recursos de Azure Managed Instance for Apache Cassandra mediante la CLI de Azure
En este artículo se describen los comandos comunes para automatizar la administración de clústeres y centros de datos de Azure Managed Instance for Apache Cassandra mediante la CLI de Azure.
Requisitos previos
Use el entorno de Bash en Azure Cloud Shell. Para más información, consulte Inicio rápido para Bash en Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para más información, vea Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
En este artículo se necesita la CLI de Azure versión 2.30.0 o posterior. Si usa Azure Cloud Shell, ya está instalada la versión más reciente.
Importante
No se puede cambiar el nombre de los recursos de Azure Managed Instance for Apache Cassandra. El cambio de nombre de estos recursos infringe el funcionamiento de Azure Resource Manager con los URI de recursos.
Administración de clústeres
En las secciones siguientes se muestra cómo administrar clústeres de Azure Managed Instance for Apache Cassandra:
- Crear un clúster
- Eliminación de un clúster
- Obtención de los detalles del clúster
- Obtención del estado del nodo de clúster
- Listado de clústeres por grupo de recursos
- Listado de clústeres por identificador de suscripción
Crear un clúster
Cree un clúster de Azure Managed Instance for Apache Cassandra con el 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 un clúster
Elimine un clúster con el comando az managed-cassandra cluster delete:
resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
az managed-cassandra cluster delete \
--cluster-name $clusterName \
--resource-group $resourceGroupName
Obtención de los detalles del clúster
Obtenga los detalles del clúster con el comando az managed-cassandra cluster show:
resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
az managed-cassandra cluster show \
--cluster-name $clusterName \
--resource-group $resourceGroupName
Obtención del estado del nodo de clúster
Obtenga el estado de los nodos de clúster mediante el comando az managed-cassandra cluster status:
clusterName='cassandra-hybrid-cluster'
resourceGroupName='MyResourceGroup'
az managed-cassandra cluster status \
--cluster-name $clusterName \
--resource-group $resourceGroupName
Listado de clústeres por grupo de recursos
Enumere los clústeres por grupo de recursos con el comando az managed-cassandra cluster list:
subscriptionId='MySubscriptionId'
resourceGroupName='MyResourceGroup'
az managed-cassandra cluster list\
--resource-group $resourceGroupName
Listado de clústeres por identificador de suscripción
Enumere los clústeres por id. de suscripción con el comando az managed-cassandra cluster list:
# Set your subscription ID
az account set -s <subscriptionID>
az managed-cassandra cluster list
Administración de centros de datos
En las secciones siguientes se muestra cómo administrar centros de datos de Azure Managed Instance for Apache Cassandra:
- Creación de un centro de datos
- Eliminación de un centro de datos
- Obtención de los detalles del centro de datos
- Obtención de centro de datos en un clúster
- Actualización o escalabilidad de un centro de datos
- Obtención de la configuración de Cassandra
- Actualización de la configuración de Cassandra
Creación de un centro de datos
Cree un centro de datos con el 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
Elija el valor de --sku
entre las siguientes opciones de máquina virtual (VM) disponibles:
- 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
Actualmente, Azure Managed Instance for Apache Cassandra no admite la transición entre familias de máquinas virtuales. Por ejemplo, si actualmente tiene una máquina virtual Standard_DS13_v2 y le interesa actualizar a una máquina virtual más grande, como Standard_DS14_v2, esta opción no está disponible. Sin embargo, puede abrir una incidencia de soporte técnico para solicitar la actualización.
En el comando anterior, --availability-zone
se establece en false
. Para habilitar las zonas de disponibilidad, establezca este valor en true
. Las zonas de disponibilidad aumentan el Acuerdo de Nivel de Servicio para la disponibilidad del servicio. Para obtener más información, revise los detalles completos del Acuerdo de Nivel de Servicio.
Advertencia
Azure Managed Instance for Apache Cassandra no admite zonas de disponibilidad en todas las regiones. Se producirá un error en las implementaciones si selecciona una región en la que no se admiten las zonas de disponibilidad. Consulte la lista de regiones admitidas.
La implementación correcta de las zonas de disponibilidad también depende de la disponibilidad de los recursos de proceso en todas las zonas de una región. Es posible que se produzca un error en las implementaciones si la máquina virtual o la capacidad que seleccionó no están disponibles en todas las zonas.
Eliminación de un centro de datos
Elimine un centro de datos con el 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
Advertencia
Si tiene más de un centro de datos en el clúster, primero debe quitar las referencias al centro de datos que está intentando eliminar en todas las configuraciones de estrategia de replicación de espacio de claves. Este comando producirá un error si algún espacio de claves del clúster todavía tiene referencias al centro de datos.
Obtención de detalles del centro de datos
Obtenga los detalles del centro de datos con el 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
Actualización o escalabilidad de un centro de datos
Actualice o escale un centro de datos mediante el 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 escalar un centro de datos, cambie el valor de --node-count
.
Obtención de la configuración de Cassandra
Obtenga la configuración actual de YAML de un nodo mediante el 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'
Puede hacer que la salida sea más legible mediante los siguientes 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
Actualización de la configuración de Cassandra
Cambie la configuración de Cassandra en un centro de datos mediante el comando az managed-cassandra datacenter update. Debe codificar el fragmento de YAML en Base64 mediante una herramienta en línea.
Por ejemplo, considere el siguiente fragmento de YAML:
column_index_size_in_kb: 16
read_request_timeout_in_ms: 10000
Cuando se codifica, YAML se convierte en: Y29sdW1uX2luZGV4X3NpemVfaW5fa2I6IDE2CnJlYWRfcmVxdWVzdF90aW1lb3V0X2luX21zOiAxMDAwMA==
.
Este es el comando az managed-cassandra datacenter update
con el fragmento de 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
Asegúrese de que la configuración de YAML de Cassandra que proporcione sea adecuada para su versión de Cassandra. Consulte la configuración de Cassandra v3.11 y la configuración de Cassandra v4.0. No se permite actualizar la siguiente configuración de 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
Obtención de los centro de datos de un clúster
Obtenga los centros de datos de un clúster con el comando az managed-cassandra datacenter list:
resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
az managed-cassandra datacenter list \
--resource-group $resourceGroupName \
--cluster-name $clusterName