Biblioteca de acciones y errores de Azure Chaos Studio
En este artículo se enumeran los errores que puede usar en Chaos Studio, organizados por el tipo de recurso aplicable. Para comprender qué asignaciones de roles se recomiendan para cada tipo de recurso, consulte Tipos de recursos admitidos y asignaciones de roles para Azure Chaos Studio.
Errores basados en agente
Los errores basados en agente se insertan en Azure Virtual Machines o en instancias de conjunto de escalado de máquinas virtuales instalando el agente de Chaos Studio. Busque las opciones de error directo del servicio para estos recursos en las tablas Máquina virtual y Conjunto de escalado de máquinas virtuales.
Tipos de sistema operativo aplicables | Nombre de error | Situaciones aplicables |
---|---|---|
Windows, Linux | Presión de CPU | Pérdida de capacidad de proceso, presión de recursos |
Windows, Linux | Proceso de terminación | Interrupción de dependencias |
Windows | Pausar proceso | Interrupción de dependencias, interrupción del servicio |
Windows1, Linux2 | Desconexión de red | Interrupción de la red |
Windows1, Linux2 | Latencia de red | Degradación del rendimiento de la red |
Windows1, Linux2 | Pérdida de paquetes de red | Problemas de confiabilidad de red |
Windows, Linux2 | Aislamiento de red | Interrupción de la red |
Windows | Error de DNS | Problemas de resolución de DNS |
Windows | Desconexión de red (mediante firewall) | Interrupción de la red |
Windows, Linux | Presión de memoria física | Pérdida de capacidad de memoria, presión de recursos |
Windows, Linux | Detención del servicio | Interrupción o reinicio del servicio |
Windows | Cambio de hora | Problemas de sincronización de hora |
Windows | Presión de memoria virtual | Pérdida de capacidad de memoria, presión de recursos |
Linux | Esfuerzo de stress-ng arbitrario | Pruebas generales de esfuerzo del sistema |
Linux | Presión de DiskIO de Linux | Degradación del rendimiento de E/S de disco |
Windows | Presión de DiskIO | Degradación del rendimiento de E/S de disco |
1 Solo paquetes TCP/UDP. 2 Solo tráfico de red saliente.
App Service
Esta sección se aplica al tipo de recurso Microsoft.Web/sites
. Obtenga más información sobre App Service.
Nombre de error | Situaciones aplicables |
---|---|
Detención de App Service | Interrupción del servicio |
Configuración de escalado automático
Esta sección se aplica al tipo de recurso Microsoft.Insights/autoscaleSettings
. Obtenga más información sobre la configuración de escalabilidad automática.
Nombre de error | Situaciones aplicables |
---|---|
Deshabilitar escalado automático | Pérdida de capacidad de proceso (cuando se usa con apagado del conjunto de escalado de máquinas virtuales) |
Azure Kubernetes Service
Esta sección se aplica al tipo de recurso Microsoft.ContainerService/managedClusters
. Obtenga más información acerca de Azure Kubernetes Service.
Nombre de error | Situaciones aplicables |
---|---|
Chaos de DNS de Chaos Mesh de AKS | Problemas de resolución de DNS |
Chaos de HTTP de Chaos Mesh de AKS | Interrupción de la red |
Chaos de E/S de Chaos Mesh de AKS | Degradación y presión del disco |
Chaos del kernel de Chaos Mesh de AKS | Interrupción del kernel |
Chaos de red de Chaos Mesh de AKS | Interrupción de la red |
Chaos de pod de Chaos Mesh de AKS | Interrupción del contenedor |
Chaos de esfuerzo de Chaos Mesh de AKS | Pruebas de esfuerzo del sistema |
Chaos de tiempo de Chaos Mesh de AKS | Problemas de sincronización de hora |
Cloud Services (clásico)
Esta sección se aplica al tipo de recurso Microsoft.ClassicCompute/domainNames
. Obtenga más información sobre Cloud Services (clásico).
Nombre de error | Situaciones aplicables |
---|---|
Apagado del servicio en la nube | Pérdida de proceso |
Caché en clúster para Redis
Esta sección se aplica al tipo de recurso Microsoft.Cache/redis
. Obtenga más información sobre caché en clúster para Redis.
Nombre de error | Situaciones aplicables |
---|---|
Azure Cache for Redis (reinicio) | Interrupción de dependencias (cachés) |
Cosmos DB
Esta sección se aplica al tipo de recurso Microsoft.DocumentDB/databaseAccounts
. Más información sobre Azure Cosmos DB.
Nombre de error | Situaciones aplicables |
---|---|
Conmutación por error de Cosmos DB | Conmutación por error de la base de datos |
Event Hubs
Esta sección se aplica al tipo de recurso Microsoft.EventHub/namespaces
. Más información sobre Event Hubs.
Nombre de error | Situaciones aplicables |
---|---|
Cambiar el estado del centro de eventos | Configuración o interrupción de la infraestructura de mensajería |
Key Vault
Esta sección se aplica al tipo de recurso Microsoft.KeyVault/vaults
. Obtenga más información sobre Key Vault.
Nombre de error | Situaciones aplicables |
---|---|
Key Vault: Denegar acceso | Denegación de certificado |
Key Vault: Deshabilitar certificado | Interrupción del certificado |
Key Vault: Incrementar la versión del certificado | Incremento de la versión del certificado |
Key Vault: Actualizar directiva de certificado | Cambios o configuraciones incorrectas de la directiva de certificado |
Grupos de seguridad de red
Esta sección se aplica al tipo de recurso Microsoft.Network/networkSecurityGroups
. Más información sobre los grupos de seguridad de red.
Nombre de error | Situaciones aplicables |
---|---|
Regla de seguridad de NSG | Interrupción de la red (para muchos servicios de Azure) |
Service Bus
Esta sección se aplica al tipo de recurso Microsoft.ServiceBus/namespaces
. Más información acerca de Service Bus.
Nombre de error | Situaciones aplicables |
---|---|
Cambio del estado de la cola | Configuración o interrupción de la infraestructura de mensajería |
Cambio del estado de la suscripción | Configuración o interrupción de la infraestructura de mensajería |
Cambio del estado del tema | Configuración o interrupción de la infraestructura de mensajería |
Virtual Machines (service-direct)
Esta sección se aplica al tipo de recurso Microsoft.Compute/virtualMachines
. Obtenga más información acerca de Virtual Machines.
Nombre de error | Situaciones aplicables |
---|---|
Reimplementación de máquina virtual | Interrupción del proceso, eventos de mantenimiento |
Apagado de máquina virtual | Pérdida o interrupción del proceso |
Conjunto de escalado de máquinas virtuales
Esta sección se aplica al tipo de recurso Microsoft.Compute/virtualMachineScaleSets
. Obtenga más información sobre Virtual Machine Scale Sets.
Nombre de error | Situaciones aplicables |
---|---|
Conjunto de escalado de máquinas virtuales | Pérdida o interrupción del proceso |
Conjunto de escalado de máquinas virtuales (2.0) | Pérdida o interrupción del proceso (por zona de disponibilidad) |
Acciones de orquestación
Estas acciones son bloques de creación para construir experimentos efectivos. Úselas en combinación con otros errores, como ejecutar una prueba de carga mientras se cierran instancias de proceso en paralelo en una zona.
Categoría de acción | Nombre de error |
---|---|
Cargar | Inicio de prueba de carga (Azure Load Testing) |
Cargar | Detención de la prueba de carga (Azure Load Testing) |
Retraso de tiempo | Delay |
Detalles: errores basados en agente
Desconexión de red
Propiedad | Valor |
---|---|
Nombre de la prestación | NetworkDisconnect-1.1 |
Tipo de destino | Microsoft-Agent |
Tipos de sistema operativo admitidos | Windows y Linux (solo tráfico saliente) |
Descripción | Bloquea el tráfico de red para el intervalo de puertos y el bloque de red especificados. Se debe proporcionar al menos una matriz destinationFilter o inboundDestinationFilter. |
Requisitos previos | Windows: el agente debe ejecutarse como administrador, lo que sucede de forma predeterminada si se instala como una extensión de máquina virtual. |
Linux: el paquete tc (Control de tráfico) se usa para errores de red. Si aún no está instalado, el agente intenta instalarlo automáticamente desde el administrador de paquetes predeterminado. |
|
Urn | urn:csci:microsoft:agent:networkDisconnect/1.1 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
destinationFilters | Matriz JSON delimitada de filtros de paquetes que definen los paquetes salientes que se van a destinar. Máximo de 16. |
inboundDestinationFilters | Matriz JSON delimitada de filtros de paquetes que definen los paquetes entrantes que se van a destinar. Máximo de 16. |
virtualMachineScaleSetInstances | Matriz de id. de instancia al aplicar este error a un conjunto de escalado de máquinas virtuales. Necesario para los conjuntos de escalado de máquinas virtuales en modo de orquestación uniforme. Obtenga más información sobre los id. de instancia. |
Los parámetros destinationFilters e inboundDestinationFilters usan la siguiente matriz de filtros de paquetes.
Propiedad | Valor |
---|---|
address | Dirección IP que indica el inicio del intervalo IP. |
subnetMask | Máscara de subred para el intervalo de direcciones IP. |
portLow | (Opcional) Número de puerto del inicio del intervalo de puertos. |
portHigh | (Opcional) Número de puerto del final del intervalo de puertos. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:networkDisconnect/1.1",
"parameters": [
{
"key": "destinationFilters",
"value": "[ { \"address\": \"23.45.229.97\", \"subnetMask\": \"255.255.255.224\", \"portLow\": \"5000\", \"portHigh\": \"5200\" } ]"
},
{
"key": "inboundDestinationFilters",
"value": "[ { \"address\": \"23.45.229.97\", \"subnetMask\": \"255.255.255.224\", \"portLow\": \"5000\", \"portHigh\": \"5200\" } ]"
},
{
"key": "virtualMachineScaleSetInstances",
"value": "[0,1,2]"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Limitaciones
- Actualmente, los errores de red basados en agente solo admiten direcciones IPv4.
- El error de desconexión de red solo afecta a las nuevas conexiones. Las conexiones activas existentes siguen persistiendo. Puede reiniciar el servicio o el proceso para forzar la interrupción de las conexiones.
- Cuando se ejecuta en Windows, el error de desconexión de red solo funciona actualmente con paquetes TCP o UDP.
- Cuando se ejecuta en Linux, este error solo puede afectar al tráfico saliente, nunca al entrante. El error puede afectar tanto al tráfico entrante como al saliente en entornos de Windows (a través de los
inboundDestinationFilters
parámetros ydestinationFilters
).
Desconexión de red (mediante firewall)
Propiedad | Valor |
---|---|
Nombre de la prestación | NetworkDisconnectViaFirewall-1.0 |
Tipo de destino | Microsoft-Agent |
Tipos de sistema operativo admitidos | Windows |
Descripción | Aplica una regla de firewall de Windows para bloquear el tráfico saliente para el intervalo de puertos y el bloque de red especificados. |
Requisitos previos | El agente debe ejecutarse como administrador. Si el agente se instala como una extensión de máquina virtual, se ejecuta como administrador de manera predeterminada. |
Urn | urn:csci:microsoft:agent:networkDisconnectViaFirewall/1.0 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
destinationFilters | Matriz JSON delimitada de filtros de paquetes que define los paquetes salientes que se deben dirigir para la inyección de errores. |
address | Dirección IP que indica el inicio del intervalo IP. |
subnetMask | Máscara de subred para el intervalo de direcciones IP. |
portLow | (Opcional) Número de puerto del inicio del intervalo de puertos. |
portHigh | (Opcional) Número de puerto del final del intervalo de puertos. |
virtualMachineScaleSetInstances | Matriz de id. de instancia al aplicar este error a un conjunto de escalado de máquinas virtuales. Necesario para los conjuntos de escalado de máquinas virtuales en modo de orquestación uniforme. Obtenga más información sobre los id. de instancia. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:networkDisconnectViaFirewall/1.0",
"parameters": [
{
"key": "destinationFilters",
"value": "[ { \"Address\": \"23.45.229.97\", \"SubnetMask\": \"255.255.255.224\", \"PortLow\": \"5000\", \"PortHigh\": \"5200\" } ]"
},
{
"key": "virtualMachineScaleSetInstances",
"value": "[0,1,2]"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Limitaciones
- Actualmente, los errores de red basados en agente solo admiten direcciones IPv4.
- Este error solo afecta actualmente a las nuevas conexiones. Las conexiones activas existentes no se ven afectadas. Puede reiniciar el servicio o el proceso para forzar la interrupción de las conexiones.
Latencia de red
Propiedad | Valor |
---|---|
Nombre de la prestación | NetworkLatency-1.1 |
Tipo de destino | Microsoft-Agent |
Tipos de sistema operativo admitidos | Windows y Linux (solo tráfico saliente) |
Descripción | Aumenta la latencia de red para un intervalo de puertos y un bloque de red especificados. Se debe proporcionar al menos una matriz destinationFilter o inboundDestinationFilter. |
Requisitos previos | Windows: el agente debe ejecutarse como administrador, lo que sucede de forma predeterminada si se instala como una extensión de máquina virtual. |
Linux: el paquete tc (Control de tráfico) se usa para errores de red. Si aún no está instalado, el agente intenta instalarlo automáticamente desde el administrador de paquetes predeterminado. |
|
Urn | urn:csci:microsoft:agent:networkLatency/1.1 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
latencyInMilliseconds | Cantidad de latencia que se va a aplicar en milisegundos. |
destinationFilters | Matriz JSON delimitada de filtros de paquetes que definen los paquetes salientes que se van a destinar. Máximo de 16. |
inboundDestinationFilters | Matriz JSON delimitada de filtros de paquetes que definen los paquetes entrantes que se van a destinar. Máximo de 16. |
virtualMachineScaleSetInstances | Matriz de id. de instancia al aplicar este error a un conjunto de escalado de máquinas virtuales. Necesario para los conjuntos de escalado de máquinas virtuales en modo de orquestación uniforme. Obtenga más información sobre los id. de instancia. |
Los parámetros destinationFilters e inboundDestinationFilters usan la siguiente matriz de filtros de paquetes.
Propiedad | Valor |
---|---|
address | Dirección IP que indica el inicio del intervalo IP. |
subnetMask | Máscara de subred para el intervalo de direcciones IP. |
portLow | (Opcional) Número de puerto del inicio del intervalo de puertos. |
portHigh | (Opcional) Número de puerto del final del intervalo de puertos. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:networkLatency/1.1",
"parameters": [
{
"key": "destinationFilters",
"value": "[ { \"address\": \"23.45.229.97\", \"subnetMask\": \"255.255.255.224\", \"portLow\": \"5000\", \"portHigh\": \"5200\" } ]"
},
{
"key": "inboundDestinationFilters",
"value": "[ { \"address\": \"23.45.229.97\", \"subnetMask\": \"255.255.255.224\", \"portLow\": \"5000\", \"portHigh\": \"5200\" } ]"
},
{
"key": "latencyInMilliseconds",
"value": "100",
},
{
"key": "virtualMachineScaleSetInstances",
"value": "[0,1,2]"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Limitaciones
- Actualmente, los errores de red basados en agente solo admiten direcciones IPv4.
- Cuando se ejecuta en Linux, el error de latencia de red solo puede afectar al tráfico saliente, nunca al entrante. El error puede afectar tanto al tráfico entrante como al saliente en entornos de Windows (a través de los
inboundDestinationFilters
parámetros ydestinationFilters
). - Cuando se ejecuta en Windows, el error de latencia de red solo funciona actualmente con paquetes TCP o UDP.
- Este error solo afecta actualmente a las nuevas conexiones. Las conexiones activas existentes no se ven afectadas. Puede reiniciar el servicio o el proceso para forzar la interrupción de las conexiones.
Pérdida de paquetes de red
Propiedad | Valor |
---|---|
Nombre de la prestación | NetworkPacketLoss-1.0 |
Tipo de destino | Microsoft-Agent |
Tipos de sistema operativo admitidos | Windows y Linux (solo tráfico saliente) |
Descripción | Introduce la pérdida de paquetes para el tráfico saliente a una velocidad especificada, entre 0,0 (sin paquetes perdidos) y 1,0 (todos los paquetes perdidos). Esto puede ayudar a simular escenarios como problemas de congestión de red o hardware de red. |
Requisitos previos | Windows: el agente debe ejecutarse como administrador, lo que sucede de forma predeterminada si se instala como una extensión de máquina virtual. |
Linux: el paquete tc (Control de tráfico) se usa para errores de red. Si aún no está instalado, el agente intenta instalarlo automáticamente desde el administrador de paquetes predeterminado. |
|
Urn | urn:csci:microsoft:agent:networkPacketLoss/1.0 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
packetLossRate | Velocidad a la que se perderán los paquetes que coincidan con los filtros de destino, que va de 0,0 a 1,0. |
virtualMachineScaleSetInstances | Matriz de id. de instancia al aplicar este error a un conjunto de escalado de máquinas virtuales. Necesario para los conjuntos de escalado de máquinas virtuales en modo de orquestación uniforme. Obtenga más información sobre los id. de instancia. |
destinationFilters | Matriz JSON delimitada de filtros de paquetes (parámetros que se indican a continuación) que definen los paquetes salientes que se destinan a la inyección de errores. Máximo de tres. |
address | Dirección IP que indica el inicio del intervalo IP. |
subnetMask | Máscara de subred para el intervalo de direcciones IP. |
portLow | (Opcional) Número de puerto del inicio del intervalo de puertos. |
portHigh | (Opcional) Número de puerto del final del intervalo de puertos. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:networkPacketLoss/1.0",
"parameters": [
{
"key": "destinationFilters",
"value": "[{\"address\":\"23.45.229.97\",\"subnetMask\":\"255.255.255.224\",\"portLow\":5000,\"portHigh\":5200}]"
},
{
"key": "packetLossRate",
"value": "0.5"
},
{
"key": "virtualMachineScaleSetInstances",
"value": "[0,1,2]"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Limitaciones
- Actualmente, los errores de red basados en agente solo admiten direcciones IPv4.
- Cuando se ejecuta en Windows, el error de pérdida de paquete de red solo funciona actualmente con paquetes TCP o UDP.
- Cuando se ejecuta en Linux, este error solo puede afectar al tráfico saliente, nunca al entrante. El error puede afectar tanto al tráfico entrante como al saliente en entornos de Windows (a través de los
inboundDestinationFilters
parámetros ydestinationFilters
). - Este error solo afecta actualmente a las nuevas conexiones. Las conexiones activas existentes no se ven afectadas. Puede reiniciar el servicio o el proceso para forzar la interrupción de las conexiones.
Aislamiento de red
Propiedad | Valor |
---|---|
Nombre de la prestación | NetworkIsolation-1.0 |
Tipo de destino | Microsoft-Agent |
Tipos de sistema operativo admitidos | Windows, Linux (solo salida) |
Descripción | Para aislar completamente la máquina virtual de las conexiones de red, quite todos los paquetes entrantes (en Windows) y salientes (en Windows y Linux) basados en IP durante la duración especificada. Al final de la duración, se volverán a habilitar las conexiones de red. Dado que el agente depende del tráfico de red, esta acción no se puede cancelar y se ejecutará durante la duración especificada. |
Requisitos previos | Windows: el agente debe ejecutarse como administrador, lo que sucede de forma predeterminada si se instala como una extensión de máquina virtual. |
Linux: el paquete tc (Control de tráfico) se usa para errores de red. Si aún no está instalado, el agente intenta instalarlo automáticamente desde el administrador de paquetes predeterminado. |
|
Urn | urn:csci:microsoft:agent:networkIsolation/1.0 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
virtualMachineScaleSetInstances | Matriz de id. de instancia al aplicar este error a un conjunto de escalado de máquinas virtuales. Necesario para los conjuntos de escalado de máquinas virtuales en modo de orquestación uniforme, opcional en caso contrario. Obtenga más información sobre los id. de instancia. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:networkIsolation/1.0",
"parameters": [],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Limitaciones
- Dado que el agente depende del tráfico de red, esta acción no se puede cancelar y se ejecutará durante la duración especificada. Úselo con precaución.
- Este error solo afecta actualmente a las nuevas conexiones. Las conexiones activas existentes no se ven afectadas. Puede reiniciar el servicio o el proceso para forzar la interrupción de las conexiones.
- Cuando se ejecuta en Linux, este error solo puede afectar al tráfico saliente, nunca al entrante. El error puede afectar tanto al tráfico entrante como al saliente en entornos de Windows.
Error de DNS
Propiedad | Valor |
---|---|
Nombre de la prestación | DnsFailure-1.0 |
Tipo de destino | Microsoft-Agent |
Tipos de sistema operativo admitidos | Windows |
Descripción | Sustituye las respuestas de una solicitud de búsqueda DNS por un código de error especificado. Las solicitudes de búsqueda DNS que se sustituyen deben:
|
Requisitos previos | Ninguno. |
Urn | urn:csci:microsoft:agent:dnsFailure/1.0 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
hosts | Matriz JSON delimitada de nombres de host para los que se producirá un error en la solicitud de búsqueda DNS. Esta propiedad acepta caracteres comodín ( * ), pero solo para el primer subdominio de una dirección y solo se aplica al subdominio para el que se especifican. Por ejemplo:
|
dnsFailureReturnCode | Código de error DNS que se va a devolver al cliente para el error de búsqueda (FormErr, ServFail, NXDomain, NotImp, Refused, XDomain, YXRRSet, NXRRSet, NotAuth, NotZone). Para obtener más información sobre los códigos de retorno DNS, consulte el sitio web de IANA. |
virtualMachineScaleSetInstances | Matriz de id. de instancia al aplicar este error a un conjunto de escalado de máquinas virtuales. Necesario para los conjuntos de escalado de máquinas virtuales en modo de orquestación uniforme. Obtenga más información sobre los id. de instancia. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:dnsFailure/1.0",
"parameters": [
{
"key": "hosts",
"value": "[ \"www.bing.com\", \"msdn.microsoft.com\" ]"
},
{
"key": "dnsFailureReturnCode",
"value": "ServFail"
},
{
"key": "virtualMachineScaleSetInstances",
"value": "[0,1,2]"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Limitaciones
- El error de DNS requiere Windows 2019 RS5 o posterior.
- La caché DNS se omite durante la duración del error para los nombres de host definidos en el error.
Presión de CPU
Propiedad | Valor |
---|---|
Nombre de la prestación | CPUPressure-1.0 |
Tipo de destino | Microsoft-Agent |
Tipos de sistema operativo admitidos | Windows, Linux |
Descripción | Agregue presión de CPU hasta el valor especificado en la máquina virtual donde se inserta este error durante la acción de error. La presión artificial de la CPU se elimina al final de la duración o si se cancela el experimento. En Windows, el contador de rendimiento % de utilidad del procesador se usa al principio del error para determinar el porcentaje de CPU actual, que se resta del elemento pressureLevel definido en el error para que % de utilidad del procesador alcance aproximadamente el elemento pressureLevel definido en los parámetros de error. |
Requisitos previos | Linux: debe instalarse la utilidad stress-ng. Esto sucede automáticamente como parte de la instalación del agente mediante el administrador de paquetes predeterminado en varios sistemas operativos, incluyendo los basados en Debian (como Ubuntu), Red Hat Enterprise Linux y OpenSUSE. Para otras distribuciones, incluido Azure Linux, debe instalar stress-ng manualmente. Para obtener más información, consulte el repositorio de proyectos ascendentes. |
Windows: ninguno. | |
Urn | urn:csci:microsoft:agent:cpuPressure/1.0 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
pressureLevel | Entero entre 1 y 95 que indica cuánto presión de CPU (%) se aplica a la máquina virtual en términos de % de uso de CPU |
virtualMachineScaleSetInstances | Matriz de id. de instancia al aplicar este error a un conjunto de escalado de máquinas virtuales. Necesario para los conjuntos de escalado de máquinas virtuales en modo de orquestación uniforme. Obtenga más información sobre los id. de instancia. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:cpuPressure/1.0",
"parameters": [
{
"key": "pressureLevel",
"value": "95"
},
{
"key": "virtualMachineScaleSetInstances",
"value": "[0,1,2]"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Limitaciones
Problemas conocidos en Linux:
- Es posible que el efecto de estrés no finalice correctamente si
AzureChaosAgent
se termina inesperadamente.
Presión de memoria física
Propiedad | Valor |
---|---|
Nombre de la prestación | PhysicalMemoryPressure-1.0 |
Tipo de destino | Microsoft-Agent |
Tipos de sistema operativo admitidos | Windows, Linux |
Descripción | Agrega presión de memoria física, hasta el valor especificado, en la máquina virtual donde se inserta este error durante la acción de error. La presión de memoria física artificial se elimina al final de la duración o si se cancela el experimento. |
Requisitos previos | Linux: debe instalarse la utilidad stress-ng. Esto sucede automáticamente como parte de la instalación del agente mediante el administrador de paquetes predeterminado en varios sistemas operativos, incluyendo los basados en Debian (como Ubuntu), Red Hat Enterprise Linux y OpenSUSE. Para otras distribuciones, incluido Azure Linux, debe instalar stress-ng manualmente. Para obtener más información, consulte el repositorio de proyectos ascendentes. |
Windows: ninguno. | |
Urn | urn:csci:microsoft:agent:physicalMemoryPressure/1.0 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
pressureLevel | Entero entre 1 y 95 que indica la cantidad de presión de memoria física (%) que se aplica a la máquina virtual. |
virtualMachineScaleSetInstances | Matriz de id. de instancia al aplicar este error a un conjunto de escalado de máquinas virtuales. Necesario para los conjuntos de escalado de máquinas virtuales en modo de orquestación uniforme. Obtenga más información sobre los id. de instancia. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:physicalMemoryPressure/1.0",
"parameters": [
{
"key": "pressureLevel",
"value": "95"
},
{
"key": "virtualMachineScaleSetInstances",
"value": "[0,1,2]"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Limitaciones
Actualmente, el agente de Windows no reduce la presión de memoria cuando otras aplicaciones aumentan su uso de memoria. Si el uso general de memoria supera el 100 %, el agente de Windows podría bloquearse.
Presión de memoria virtual
Propiedad | Valor |
---|---|
Nombre de la prestación | VirtualMemoryPressure-1.0 |
Tipo de destino | Microsoft-Agent |
Tipos de sistema operativo admitidos | Windows |
Descripción | Agrega presión de memoria virtual, hasta el valor especificado, en la máquina virtual donde se inserta este error durante la acción de error. La presión de memoria virtual artificial se elimina al final de la duración o si se cancela el experimento. |
Requisitos previos | Ninguno. |
Urn | urn:csci:microsoft:agent:virtualMemoryPressure/1.0 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
pressureLevel | Entero entre 1 y 95 que indica la cantidad de presión de memoria física (%) que se aplica a la máquina virtual. |
virtualMachineScaleSetInstances | Matriz de id. de instancia al aplicar este error a un conjunto de escalado de máquinas virtuales. Necesario para los conjuntos de escalado de máquinas virtuales en modo de orquestación uniforme. Obtenga más información sobre los id. de instancia. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:virtualMemoryPressure/1.0",
"parameters": [
{
"key": "pressureLevel",
"value": "95"
},
{
"key": "virtualMachineScaleSetInstances",
"value": "[0,1,2]"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Presión de E/S de disco
Propiedad | Valor |
---|---|
Nombre de la prestación | DiskIOPressure-1.1 |
Tipo de destino | Microsoft-Agent |
Tipos de sistema operativo admitidos | Windows |
Descripción | Usa la utilidad diskspd para agregar presión de disco a una máquina virtual. De forma predeterminada, se agrega presión al disco principal o al disco especificado con el parámetro targetTempDirectory. Este error tiene cinco modos de ejecución diferentes. La presión del disco artificial se elimina al final de la duración o si se cancela el experimento. |
Requisitos previos | Ninguno. |
Urn | urn:csci:microsoft:agent:diskIOPressure/1.1 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
pressureMode | Modo preestablecido de presión de disco que se agrega al almacenamiento principal de la máquina virtual. Debe ser uno de los PressureModes de la tabla siguiente. |
targetTempDirectory | (Opcional) Directorio que se va a usar para aplicar presión al disco. Por ejemplo, D:/Temp . Si el parámetro no está incluido, se agregará presión al disco principal. |
virtualMachineScaleSetInstances | Matriz de id. de instancia al aplicar este error a un conjunto de escalado de máquinas virtuales. Necesario para los conjuntos de escalado de máquinas virtuales en modo de orquestación uniforme. Obtenga más información sobre los id. de instancia. |
Modos de presión
PressureMode | Descripción |
---|---|
PremiumStorageP10IOPS | numberOfThreads = 1 randomBlockSizeInKB = 64 randomSeed = 10 numberOfIOperThread = 25 sizeOfBlocksInKB = 8 sizeOfWriteBufferInKB = 64 fileSizeInGB = 2 percentOfWriteActions = 50 |
PremiumStorageP10Throttling | numberOfThreads = 2 randomBlockSizeInKB = 64 randomSeed = 10 numberOfIOperThread = 25 sizeOfBlocksInKB = 64 sizeOfWriteBufferInKB = 64 fileSizeInGB = 1 percentOfWriteActions = 50 |
PremiumStorageP50IOPS | numberOfThreads = 32 randomBlockSizeInKB = 64 randomSeed = 10 numberOfIOperThread = 32 sizeOfBlocksInKB = 8 sizeOfWriteBufferInKB = 64 fileSizeInGB = 1 percentOfWriteActions = 50 |
PremiumStorageP50Throttling | numberOfThreads = 2 randomBlockSizeInKB = 1024 randomSeed = 10 numberOfIOperThread = 2 sizeOfBlocksInKB = 1024 sizeOfWriteBufferInKB = 1024 fileSizeInGB = 20 percentOfWriteActions = 50 |
Valor predeterminado | numberOfThreads = 2 randomBlockSizeInKB = 64 randomSeed = 10 numberOfIOperThread = 2 sizeOfBlocksInKB = 64 sizeOfWriteBufferInKB = 64 fileSizeInGB = 1 percentOfWriteActions = 50 |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:diskIOPressure/1.1",
"parameters": [
{
"key": "pressureMode",
"value": "PremiumStorageP10IOPS"
},
{
"key": "targetTempDirectory",
"value": "C:/temp/"
},
{
"key": "virtualMachineScaleSetInstances",
"value": "[0,1,2]"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Presión de E/S de disco Linux
Propiedad | Valor |
---|---|
Nombre de la prestación | LinuxDiskIOPressure-1.1 |
Tipo de destino | Microsoft-Agent |
Tipos de sistema operativo admitidos | Linux |
Descripción | Usa stress-ng para aplicar presión al disco. Se generan uno o varios procesos de trabajo que realizan procesos de E/S con archivos temporales. De forma predeterminada, se agrega presión al disco principal o al disco especificado con el parámetro targetTempDirectory. Para obtener información sobre cómo se aplica la presión, consulte el artículo stress-ng. |
Requisitos previos | Linux: debe instalarse la utilidad stress-ng. Esto sucede automáticamente como parte de la instalación del agente mediante el administrador de paquetes predeterminado en varios sistemas operativos, incluyendo los basados en Debian (como Ubuntu), Red Hat Enterprise Linux y OpenSUSE. Para otras distribuciones, incluido Azure Linux, debe instalar stress-ng manualmente. Para obtener más información, consulte el repositorio de proyectos ascendentes. |
Urn | urn:csci:microsoft:agent:linuxDiskIOPressure/1.1 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
workerCount | Número de procesos de trabajo que se ejecutarán. Establecer workerCount en 0 genera tantos procesos de trabajo como número de procesadores haya. |
fileSizePerWorker | Tamaño del archivo temporal con el que un trabajo realiza operaciones de E/S. Entero más una unidad en bytes (b), kilobytes (k), megabytes (m) o gigabytes (g) (por ejemplo, 4m para 4 megabytes y 256g para 256 gigabytes). |
blockSize | Tamaño de bloque que se usará para las operaciones de E/S de disco, superiores a 1 byte e inferiores a 4 megabytes (el valor máximo es 4095k ). Entero más una unidad en bytes, kilobytes o megabytes (por ejemplo, 512k para 512 kilobytes). |
targetTempDirectory | (Opcional) Directorio que se va a usar para aplicar presión al disco. Por ejemplo, /tmp/ . Si el parámetro no está incluido, se agregará presión al disco principal. |
virtualMachineScaleSetInstances | Matriz de id. de instancia al aplicar este error a un conjunto de escalado de máquinas virtuales. Necesario para los conjuntos de escalado de máquinas virtuales en modo de orquestación uniforme. Obtenga más información sobre los id. de instancia. |
Ejemplo de JSON
Estos valores de ejemplo produjeron aproximadamente un 100 % de presión de disco cuando se probaron en una máquina virtual Standard_D2s_v3
con LRS SSD prémium. Un fileSizePerWorker grande y un blockSize más pequeño ayudan a que el disco se esfuerce por completo.
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:linuxDiskIOPressure/1.1",
"parameters": [
{
"key": "workerCount",
"value": "4"
},
{
"key": "fileSizePerWorker",
"value": "2g"
},
{
"key": "blockSize",
"value": "64k"
},
{
"key": "targetTempDirectory",
"value": "/tmp/"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Detener servicio
Propiedad | Valor |
---|---|
Nombre de la prestación | StopService-1.0 |
Tipo de destino | Microsoft-Agent |
Tipos de sistema operativo admitidos | Windows, Linux |
Descripción | Detiene un servicio de Windows o un servicio con sistema Linux durante el error. Lo reinicia al final de la duración o si se cancela el experimento. |
Requisitos previos | Ninguno. |
Urn | urn:csci:microsoft:agent:stopService/1.0 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
serviceName | Nombre del servicio de Windows o del servicio con sistema Linux que desea detener. |
virtualMachineScaleSetInstances | Matriz de id. de instancia al aplicar este error a un conjunto de escalado de máquinas virtuales. Necesario para los conjuntos de escalado de máquinas virtuales en modo de orquestación uniforme. Obtenga más información sobre los id. de instancia. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:stopService/1.0",
"parameters": [
{
"key": "serviceName",
"value": "nvagent"
},
{
"key": "virtualMachineScaleSetInstances",
"value": "[0,1,2]"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Limitaciones
- Windows: no se admiten nombres para mostrar para los servicios. Use
sc.exe query
en el símbolo del sistema para explorar los nombres de servicio. - Linux: no se admiten otros tipos de servicio aparte de systemd, como sysvinit.
Proceso de terminación
Propiedad | Valor |
---|---|
Nombre de la prestación | KillProcess-1.0 |
Tipo de destino | Microsoft-Agent |
Tipos de sistema operativo admitidos | Windows, Linux |
Descripción | Termina todas las instancias en ejecución de un proceso que coincide con el nombre del proceso enviado en los parámetros de error. Dentro de la duración establecida para la acción de error, un proceso se termina de forma repetitiva en función del valor del intervalo de eliminación especificado. Este es un error destructivo donde el administrador del sistema tendrá que recuperar manualmente el proceso si la recuperación automática está configurada para el proceso. Tenga en cuenta que se producirá un error cuando se use en un proceso de nombre vacío, cuando se use con un intervalo no especificado o cuando no podamos encontrar el nombre del proceso de destino que queremos eliminar. |
Requisitos previos | Ninguno. |
Urn | urn:csci:microsoft:agent:killProcess/1.0 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
processName | Nombre de un proceso que se va a terminar continuamente (sin el .exe). No es necesario ejecutar el proceso cuando el error comienza a ejecutarse. |
killIntervalInMilliseconds | Cantidad de tiempo que espera el error entre intentos sucesivos de eliminación en milisegundos. |
virtualMachineScaleSetInstances | Matriz de id. de instancia al aplicar este error a un conjunto de escalado de máquinas virtuales. Necesario para los conjuntos de escalado de máquinas virtuales en modo de orquestación uniforme. Obtenga más información sobre los id. de instancia. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:killProcess/1.0",
"parameters": [
{
"key": "processName",
"value": "myapp"
},
{
"key": "killIntervalInMilliseconds",
"value": "1000"
},
{
"key": "virtualMachineScaleSetInstances",
"value": "[0,1,2]"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Pausar proceso
Propiedad | Valor |
---|---|
Nombre de la prestación | PauseProcess-1.0 |
Tipo de destino | Microsoft-Agent |
Tipos de sistema operativo admitidos | Windows |
Descripción | Pausa (suspende) los procesos especificados durante la duración especificada. Si hay varios procesos con el mismo nombre, este error suspende todos esos procesos. Dentro de la duración del error, los procesos se pausan repetidamente en el intervalo especificado. Al final de la duración o si se cancela el experimento, los procesos se reanudarán. |
Requisitos previos | Ninguno. |
Urn | urn:csci:microsoft:agent:pauseProcess/1.0 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
processNames | Matriz JSON delimitada de nombres de proceso que definen qué procesos se van a pausar. Máximo de 4. El nombre del proceso puede incluir opcionalmente la extensión ".exe". |
pauseIntervalInMilliseconds | Cantidad de tiempo que el error espera entre intentos sucesivos de pausa, en milisegundos. |
virtualMachineScaleSetInstances | Matriz de id. de instancia al aplicar este error a un conjunto de escalado de máquinas virtuales. Necesario para los conjuntos de escalado de máquinas virtuales en modo de orquestación uniforme. Obtenga más información sobre los id. de instancia. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:pauseProcess/1.0",
"parameters": [
{
"key": "processNames",
"value": "[ \"test-0\", \"test-1.exe\" ]"
},
{
"key": "pauseIntervalInMilliseconds",
"value": "1000"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Limitaciones
Actualmente, se puede enumerar un máximo de 4 nombres de proceso en el parámetro processNames.
Cambio de hora
Propiedad | Valor |
---|---|
Nombre de la prestación | TimeChange-1.0 |
Tipo de destino | Microsoft-Agent |
Tipos de sistema operativo admitidos | Windows |
Descripción | Cambia la hora del sistema de la máquina virtual y la restablece al final del experimento o si este se cancela. |
Requisitos previos | Ninguno. |
Urn | urn:csci:microsoft:agent:timeChange/1.0 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
dateTime | Una cadena DateTime en formato ISO8601. Si faltan valores YYYY-MM-DD , el valor predeterminado es el día actual cuando se ejecuta el experimento. Si faltan valores hh:mm:ss, el valor predeterminado es 12:00:00 AM. Si se proporciona un año de 2 dígitos (YY ), se convierte en un año de 4 dígitos (YYYY ) basado en el siglo actual. Si falta la zona horaria <Z> , el desplazamiento predeterminado es la zona horaria local. <Z> debe incluir siempre un símbolo de signo (negativo o positivo). |
virtualMachineScaleSetInstances | Matriz de id. de instancia al aplicar este error a un conjunto de escalado de máquinas virtuales. Necesario para los conjuntos de escalado de máquinas virtuales en modo de orquestación uniforme. Obtenga más información sobre los id. de instancia. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:timeChange/1.0",
"parameters": [
{
"key": "dateTime",
"value": "2038-01-01T03:14:07"
},
{
"key": "virtualMachineScaleSetInstances",
"value": "[0,1,2]"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Esfuerzo de stress-ng arbitrario
Propiedad | Valor |
---|---|
Nombre de la prestación | StressNg-1.0 |
Tipo de destino | Microsoft-Agent |
Tipos de sistema operativo admitidos | Linux |
Descripción | Ejecuta cualquier comando stress-ng pasando argumentos directamente a stress-ng. Resulta útil cuando uno de los errores predefinidos para stress-ng no satisface sus necesidades. |
Requisitos previos | Linux: debe instalarse la utilidad stress-ng. Esto sucede automáticamente como parte de la instalación del agente mediante el administrador de paquetes predeterminado en varios sistemas operativos, incluyendo los basados en Debian (como Ubuntu), Red Hat Enterprise Linux y OpenSUSE. Para otras distribuciones, incluido Azure Linux, debe instalar stress-ng manualmente. Para obtener más información, consulte el repositorio de proyectos ascendentes. |
Urn | urn:csci:microsoft:agent:stressNg/1.0 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
stressNgArguments | Uno o varios argumentos que se pasarán al proceso stress-ng. Para obtener información sobre los posibles argumentos de stress-ng, consulte el artículo stress-ng. NOTA: NO incluya el argumento "-t" porque provocará un error. La longitud del experimento se define directamente en la interfaz de usuario del experimento del caos de Azure, NO en stressNgArguments. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:agent:stressNg/1.0",
"parameters": [
{
"key": "stressNgArguments",
"value": "--random 64"
},
{
"key": "virtualMachineScaleSetInstances",
"value": "[0,1,2]"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Detalles: errores directos del servicio
Detención de App Service
Propiedad | Valor |
---|---|
Nombre de la prestación | Stop-1.0 |
Tipo de destino | Microsoft-AppService |
Descripción | Detiene las aplicaciones de App Service de destino y, a continuación, las reinicia al final de la duración del error. Esto se aplica a los recursos del tipo "Microsoft.Web/sites", incluidos App Service, API Apps, Mobile Apps y Azure Functions. |
Requisitos previos | Ninguno. |
Urn | urn:csci:microsoft:appService:stop/1.0 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | Ninguno. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:appService:stop/1.0",
"duration": "PT10M",
"parameters":[],
"selectorid": "myResources"
}
]
}
Deshabilitar escalado automático
Propiedad | Valor |
---|---|
Nombre de la prestación | DisableAutoscale |
Tipo de destino | Microsoft-AutoscaleSettings |
Descripción | Deshabilita el servicio de escalado automático. Cuando la escalabilidad automática está deshabilitada, recursos como los conjuntos de escalado de máquinas virtuales, aplicaciones web, Service Bus y mucho más no se agregan ni se quitan automáticamente en función de la carga de la aplicación. |
Requisitos previos | El recurso autoScalesetting que está habilitado en el recurso debe incorporarse a Chaos Studio. |
Urn | urn:csci:microsoft:autoscalesettings:disableAutoscale/1.0 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
enableOnComplete | booleano. Configura si se vuelve a habilitar el escalado automático una vez finalizada la acción. El valor predeterminado es true . |
Ejemplo de JSON
{
"name": "BranchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:autoscaleSetting:disableAutoscale/1.0",
"parameters": [
{
"key": "enableOnComplete",
"value": "true"
}
],
"duration": "PT2M",
"selectorId": "Selector1",
}
]
}
Chaos de red de Chaos Mesh de AKS
Propiedad | Valor |
---|---|
Nombre de la prestación | NetworkChaos-2.2 |
Tipo de destino | Microsoft-AzureKubernetesServiceChaosMesh |
Tipos de sistema operativo del grupo de nodos admitidos | Linux |
Descripción | Hace que un error de red disponible a través de Chaos Mesh se ejecute en el clúster de Azure Kubernetes Service (AKS). Resulta útil para volver a crear incidentes de AKS resultantes de interrupciones de red, retrasos, duplicaciones, pérdidas y daños. |
Requisitos previos | El clúster de AKS debe tener implementado Chaos Mesh. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.2 |
Parámetros (clave, valor) | |
jsonSpec | Especificación de Chaos Mesh con formato JSON que usa el tipo NetworkChaos. Puede usar un convertidor de YAML a JSON como Convertir YAML a JSON para convertir el YAML de Chaos Mesh a JSON y minificarlo. Use comillas simples dentro del JSON o escape las comillas con un carácter de barra diagonal inversa. Incluya solo el YAML en la propiedad jsonSpec . No incluya información como metadatos o el tipo. La especificación de la duración dentro de jsonSpec no es necesaria, pero se usará si está disponible. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:networkChaos/2.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"action\":\"delay\",\"mode\":\"one\",\"selector\":{\"namespaces\":[\"default\"]},\"delay\":{\"latency\":\"200ms\",\"correlation\":\"100\",\"jitter\":\"0ms\"}}}"
}
],
"selectorid": "myResources"
}
]
}
Chaos de pod de Chaos Mesh de AKS
Propiedad | Valor |
---|---|
Nombre de la prestación | PodChaos-2.2 |
Tipo de destino | Microsoft-AzureKubernetesServiceChaosMesh |
Tipos de sistema operativo del grupo de nodos admitidos | Linux |
Descripción | Provoca un error de pod disponible a través de Chaos Mesh para ejecutarse en el clúster de AKS. Resulta útil para volver a crear incidentes de AKS que son el resultado de errores de pod o problemas de contenedor. |
Requisitos previos | El clúster de AKS debe tener implementado Chaos Mesh. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:podChaos/2.2 |
Parámetros (clave, valor) | |
jsonSpec | Especificación de Chaos Mesh con formato JSON que usa el tipo podChaos. Puede usar un convertidor de YAML a JSON como Convertir YAML a JSON para convertir el YAML de Chaos Mesh a JSON y minificarlo. Use comillas simples dentro del JSON o escape las comillas con un carácter de barra diagonal inversa. Incluya solo el YAML en la propiedad jsonSpec . No incluya información como metadatos o el tipo. La especificación de la duración dentro de jsonSpec no es necesaria, pero se usará si está disponible. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:podChaos/2.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"action\":\"pod-failure\",\"mode\":\"all\",\"selector\":{\"namespaces\":[\"default\"]}}"
}
],
"selectorid": "myResources"
}
]
}
Chaos de esfuerzo de Chaos Mesh de AKS
Propiedad | Valor |
---|---|
Nombre de la prestación | StressChaos-2.2 |
Tipo de destino | Microsoft-AzureKubernetesServiceChaosMesh |
Tipos de sistema operativo del grupo de nodos admitidos | Linux |
Descripción | Provoca un error de esfuerzo disponible a través de Chaos Mesh para ejecutarse en el clúster de AKS. Resulta útil para volver a crear incidentes de AKS debido a las sobrecargas en una colección de pods, por ejemplo, debido a un consumo elevado de CPU o memoria. |
Requisitos previos | El clúster de AKS debe tener implementado Chaos Mesh. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:stressChaos/2.2 |
Parámetros (clave, valor) | |
jsonSpec | Especificación de Chaos Mesh con formato JSON que usa el tipo StressChaos. Puede usar un convertidor de YAML a JSON como Convertir YAML a JSON para convertir el YAML de Chaos Mesh a JSON y minificarlo. Use comillas simples dentro del JSON o escape las comillas con un carácter de barra diagonal inversa. Incluya solo el YAML en la propiedad jsonSpec . No incluya información como metadatos o el tipo. La especificación de la duración dentro de jsonSpec no es necesaria, pero se usará si está disponible. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:stressChaos/2.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"mode\":\"one\",\"selector\":{\"namespaces\":[\"default\"]},\"stressors\":{\"cpu\":{\"workers\":1,\"load\":50},\"memory\":{\"workers\":4,\"size\":\"256MB\"}}"
}
],
"selectorid": "myResources"
}
]
}
Chaos de E/S de Chaos Mesh de AKS
Propiedad | Valor |
---|---|
Nombre de la prestación | IOChaos-2.2 |
Tipo de destino | Microsoft-AzureKubernetesServiceChaosMesh |
Tipos de sistema operativo del grupo de nodos admitidos | Linux |
Descripción | Provoca un error de E/S disponible a través de Chaos Mesh para ejecutarse en el clúster de AKS. Resulta útil para volver a crear incidentes de AKS debido a retrasos de E/S y errores de lectura y escritura cuando se usan llamadas del sistema de E/S, como open , read o write . |
Requisitos previos | El clúster de AKS debe tener implementado Chaos Mesh. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:IOChaos/2.2 |
Parámetros (clave, valor) | |
jsonSpec | Especificación de Chaos Mesh con formato JSON que usa el tipo IOChaos. Puede usar un convertidor de YAML a JSON como Convertir YAML a JSON para convertir el YAML de Chaos Mesh a JSON y minificarlo. Use comillas simples dentro del JSON o escape las comillas con un carácter de barra diagonal inversa. Incluya solo el YAML en la propiedad jsonSpec . No incluya información como metadatos o el tipo. La especificación de la duración dentro de jsonSpec no es necesaria, pero se usará si está disponible. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:IOChaos/2.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"action\":\"latency\",\"mode\":\"one\",\"selector\":{\"app\":\"etcd\"},\"volumePath\":\"\/var\/run\/etcd\",\"path\":\"\/var\/run\/etcd\/**\/*\",\"delay\":\"100ms\",\"percent\":50}"
}
],
"selectorid": "myResources"
}
]
}
Chaos de tiempo de Chaos Mesh de AKS
Propiedad | Valor |
---|---|
Nombre de la prestación | TimeChaos-2.2 |
Tipo de destino | Microsoft-AzureKubernetesServiceChaosMesh |
Tipos de sistema operativo del grupo de nodos admitidos | Linux |
Descripción | Provoca un cambio en el reloj del sistema en el clúster de AKS mediante Chaos Mesh. Resulta útil para volver a crear incidentes de AKS que se deban a sistemas distribuidos que no están sincronizados, lógica de año bisiesto o segundo intercalar ausente o incorrecta, etc. |
Requisitos previos | El clúster de AKS debe tener implementado Chaos Mesh. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:timeChaos/2.2 |
Parámetros (clave, valor) | |
jsonSpec | Especificación de Chaos Mesh con formato JSON que usa el tipo TimeChaos. Puede usar un convertidor de YAML a JSON como Convertir YAML a JSON para convertir el YAML de Chaos Mesh a JSON y minificarlo. Use comillas simples dentro del JSON o escape las comillas con un carácter de barra diagonal inversa. Incluya solo el YAML en la propiedad jsonSpec . No incluya información como metadatos o el tipo. La especificación de la duración dentro de jsonSpec no es necesaria, pero se usará si está disponible. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:timeChaos/2.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"mode\":\"one\",\"selector\":{\"namespaces\":[\"default\"]},\"timeOffset\":\"-10m100ns\"}"
}
],
"selectorid": "myResources"
}
]
}
Chaos del kernel de Chaos Mesh de AKS
Propiedad | Valor |
---|---|
Nombre de la prestación | KernelChaos-2.2 |
Tipo de destino | Microsoft-AzureKubernetesServiceChaosMesh |
Tipos de sistema operativo del grupo de nodos admitidos | Linux |
Descripción | Provoca un error de kernel disponible a través de Chaos Mesh para ejecutarse en el clúster de AKS. Resulta útil para volver a crear incidentes de AKS debidos a errores de nivel de kernel de Linux, como un error de montaje o falta de asignación de memoria. |
Requisitos previos | El clúster de AKS debe tener implementado Chaos Mesh. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:kernelChaos/2.2 |
Parámetros (clave, valor) | |
jsonSpec | Especificación de Chaos Mesh con formato JSON que usa el tipo KernelChaos. Puede usar un convertidor de YAML a JSON como Convertir YAML a JSON para convertir el YAML de Chaos Mesh a JSON y minificarlo. Use comillas simples dentro del JSON o escape las comillas con un carácter de barra diagonal inversa. Incluya solo el YAML en la propiedad jsonSpec . No incluya información como metadatos o el tipo. La especificación de la duración dentro de jsonSpec no es necesaria, pero se usará si está disponible. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:kernelChaos/2.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"mode\":\"one\",\"selector\":{\"namespaces\":[\"default\"]},\"failKernRequest\":{\"callchain\":[{\"funcname\":\"__x64_sys_mount\"}],\"failtype\":0}}"
}
],
"selectorid": "myResources"
}
]
}
Chaos de HTTP de Chaos Mesh de AKS
Propiedad | Valor |
---|---|
Nombre de la prestación | HTTPChaos-2.2 |
Tipo de destino | Microsoft-AzureKubernetesServiceChaosMesh |
Tipos de sistema operativo del grupo de nodos admitidos | Linux |
Descripción | Provoca un error de HTTP disponible a través de Chaos Mesh para ejecutarse en el clúster de AKS. Resulta útil para volver a crear incidentes debidos a errores de procesamiento de solicitudes y respuestas HTTP, como respuestas retrasadas o incorrectas. |
Requisitos previos | El clúster de AKS debe tener implementado Chaos Mesh. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:httpChaos/2.2 |
Parámetros (clave, valor) | |
jsonSpec | Especificación de Chaos Mesh con formato JSON que usa el tipo HTTPChaos. Puede usar un convertidor de YAML a JSON como Convertir YAML a JSON para convertir el YAML de Chaos Mesh a JSON y minificarlo. Use comillas simples dentro del JSON o escape las comillas con un carácter de barra diagonal inversa. Incluya solo el YAML en la propiedad jsonSpec . No incluya información como metadatos o el tipo. La especificación de la duración dentro de jsonSpec no es necesaria, pero se usará si está disponible. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:httpChaos/2.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"mode\":\"all\",\"selector\":{\"namespaces\":[\"default\"]},\"target\":\"Request\",\"port\":80,\"method\":\"GET\",\"path\":\"/api\",\"abort\":true}"
}
],
"selectorid": "myResources"
}
]
}
Chaos de DNS de Chaos Mesh de AKS
Propiedad | Valor |
---|---|
Nombre de la prestación | DNSChaos-2.2 |
Tipo de destino | Microsoft-AzureKubernetesServiceChaosMesh |
Tipos de sistema operativo del grupo de nodos admitidos | Linux |
Descripción | Provoca un error de DNS disponible a través de Chaos Mesh para ejecutarse en el clúster de AKS. Resulta útil para volver a crear incidentes debido a errores de DNS. |
Requisitos previos | El clúster de AKS debe tener implementado Chaos Mesh y el servicio DNS debe estar instalado. |
Urn | urn:csci:microsoft:azureKubernetesServiceChaosMesh:dnsChaos/2.2 |
Parámetros (clave, valor) | |
jsonSpec | Especificación de Chaos Mesh con formato JSON que usa el tipo DNSChaos. Puede usar un convertidor de YAML a JSON como Convertir YAML a JSON para convertir el YAML de Chaos Mesh a JSON y minificarlo. Use comillas simples dentro del JSON o escape las comillas con un carácter de barra diagonal inversa. Incluya solo el YAML en la propiedad jsonSpec . No incluya información como metadatos o el tipo. La especificación de la duración dentro de jsonSpec no es necesaria, pero se usará si está disponible. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:azureKubernetesServiceChaosMesh:dnsChaos/2.2",
"parameters": [
{
"key": "jsonSpec",
"value": "{\"action\":\"random\",\"mode\":\"all\",\"patterns\":[\"google.com\",\"chaos-mesh.*\",\"github.?om\"],\"selector\":{\"namespaces\":[\"default\"]}}"
}
],
"selectorid": "myResources"
}
]
}
Apagado de Cloud Services (clásico)
Propiedad | Valor |
---|---|
Nombre de la prestación | Shutdown-1.0 |
Tipo de destino | Microsoft-DomainName |
Descripción | Detiene una implementación durante el error. Reinicia la implementación al final de la duración del error o si se cancela el experimento. |
Requisitos previos | Ninguno. |
Urn | urn:csci:microsoft:domainName:shutdown/1.0 |
Tipo de error | Continuo: |
Parámetros | Ninguno. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:domainName:shutdown/1.0",
"parameters": [],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Azure Cache for Redis (reinicio)
Propiedad | Valor |
---|---|
Nombre de la prestación | Reboot-1.0 |
Tipo de destino | Microsoft-AzureClusteredCacheForRedis |
Descripción | Hace que se produzca una operación de reinicio forzado en el destino para simular una breve interrupción. |
Requisitos previos | N/D |
Urn | urn:csci:microsoft:azureClusteredCacheForRedis:reboot/1.0 |
Tipo de error | Discreto. |
Parámetros (clave, valor) | |
rebootType | Los tipos de nodo donde se va a realizar la acción de reinicio, que se pueden especificar como PrimaryNode, SecondaryNode o AllNodes. |
shardId | Identificador de la partición que se va a reiniciar. Solo es relevante para las memorias caché de nivel Premium. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "discrete",
"name": "urn:csci:microsoft:azureClusteredCacheForRedis:reboot/1.0",
"parameters": [
{
"key": "RebootType",
"value": "AllNodes"
},
{
"key": "ShardId",
"value": "0"
}
],
"selectorid": "myResources"
}
]
}
Limitaciones
- El error de reinicio hace que un reinicio forzado simule mejor un evento de interrupción, lo cual significa que existe la posibilidad de que se produzca una pérdida de datos.
- El error de reinicio es un tipo de error discreto. A diferencia de los errores continuos, es una acción única y no tiene ninguna duración.
Conmutación por error de Cosmos DB
Propiedad | Valor |
---|---|
Nombre de la prestación | Failover-1.0 |
Tipo de destino | Microsoft-CosmosDB |
Descripción | Hace que una cuenta de Azure Cosmos DB con una sola región de escritura conmute por error a una región de lectura especificada para simular una interrupción de la región de escritura. |
Requisitos previos | Ninguno. |
Urn | urn:csci:microsoft:cosmosDB:failover/1.0 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
readRegion | La región de lectura que se debe promover a la región de escritura durante la conmutación por error; por ejemplo, East US 2 . |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:cosmosDB:failover/1.0",
"parameters": [
{
"key": "readRegion",
"value": "West US 2"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Cambiar el estado del centro de eventos
Propiedad | Valor |
---|---|
Nombre de la prestación | ChangeEventHubState-1.0 |
Tipo de destino | Microsoft-EventHub |
Descripción | Establece centros de eventos individuales en el estado deseado dentro de un espacio de nombres de Azure Event Hubs. Es posible afectar a nombres específicos del centro de eventos o usar “*” para afectar a todo el espacio de nombres. Esto puede ayudar a probar la infraestructura de mensajería para escenarios de mantenimiento o error. Se trata de un error discreto, por lo que la entidad no se devolverá automáticamente al estado inicial. |
Requisitos previos | Un espacio de nombres de Azure Event Hubs con al menos una entidad del centro de eventos. |
Urn | urn:csci:microsoft:eventHub:changeEventHubState/1.0 |
Tipo de error | Discreto. |
Parámetros (clave, valor) | |
desiredState | Estado deseado del centro de eventos de destino. Los estados posibles son Active, Disabled y SendDisabled. |
eventHubs | Lista separada por comas de los nombres del centro de eventos dentro del espacio de nombres de destino. Use "*" para que afecte a todas las entidades del espacio de nombres. |
Ejemplo de JSON
{
"name": "Branch1",
"actions": [
{
"selectorId": "Selector1",
"type": "discrete",
"parameters": [
{
"key": "eventhubs",
"value": "[\"*\"]"
},
{
"key": "desiredState",
"value": "Disabled"
}
],
"name": "urn:csci:microsoft:eventHub:changeEventHubState/1.0"
}
]
}
Key Vault: Denegar acceso
Propiedad | Valor |
---|---|
Nombre de la prestación | DenyAccess-1.0 |
Tipo de destino | Microsoft-KeyVault |
Descripción | Bloquea todo el acceso de red a un almacén de claves modificando temporalmente las reglas de red del almacén de claves. Esta acción impide que una aplicación dependiente del almacén de claves acceda a secretos, claves o certificados. Si el almacén de claves permite el acceso a todas las redes, esta configuración solo se cambia para permitir el acceso desde redes seleccionadas. No hay ninguna red virtual en la lista de permitidos al principio del error. Se permite el acceso a todas las redes al final de la duración del error. Si el almacén de claves está establecido para permitir solo el acceso desde redes seleccionadas, las redes virtuales de la lista de permitidos se quitan al principio del error. Se restauran al final de la duración del error. |
Requisitos previos | El almacén de claves de destino no puede tener ninguna regla de firewall y no debe establecerse para permitir que los servicios de Azure omitan el firewall. Si el almacén de claves de destino está establecida para permitir solo el acceso desde redes seleccionadas, debe haber al menos una regla de red virtual. El almacén de claves no puede estar en modo de recuperación. |
Urn | urn:csci:microsoft:keyVault:denyAccess/1.0 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | Ninguno. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:keyvault:denyAccess/1.0",
"parameters": [],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Key Vault: Deshabilitar certificado
Propiedad | Valor |
---|---|
Nombre de la prestación | DisableCertificate-1.0 |
Tipo de destino | Microsoft-KeyVault |
Descripción | Mediante el uso de propiedades de certificado, el error deshabilita el certificado durante una duración específica (proporcionada por el usuario). Habilita el certificado después de esta duración del error. |
Requisitos previos | Ninguno. |
Urn | urn:csci:microsoft:keyvault:disableCertificate/1.0 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
certificateName | Nombre del certificado de Azure Key Vault en el que se ejecuta el error. |
version | Versión del certificado que se debe deshabilitar. Si no se especifica, la versión más reciente se deshabilita. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:keyvault:disableCertificate/1.0",
"parameters": [
{
"key": "certificateName",
"value": "<name of AKV certificate>"
},
{
"key": "version",
"value": "<certificate version>"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Key Vault: Incrementar la versión del certificado
Propiedad | Valor |
---|---|
Nombre de la prestación | IncrementCertificateVersion-1.0 |
Tipo de destino | Microsoft-KeyVault |
Descripción | Genera una nueva versión de certificado y una huella digital mediante la biblioteca cliente de certificados de Key Vault. El certificado de trabajo actual se actualiza a esta versión. La versión del certificado no se revierte después de la duración del error. |
Requisitos previos | Ninguno. |
Urn | urn:csci:microsoft:keyvault:incrementCertificateVersion/1.0 |
Tipo de error | Discreto. |
Parámetros (clave, valor) | |
certificateName | Nombre del certificado de Azure Key Vault en el que se ejecuta el error. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "discrete",
"name": "urn:csci:microsoft:keyvault:incrementCertificateVersion/1.0",
"parameters": [
{
"key": "certificateName",
"value": "<name of AKV certificate>"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Key Vault: Actualizar directiva de certificado
Propiedad | Valor |
---|---|
Nombre de la prestación | UpdateCertificatePolicy-1.0 |
Tipo de destino | Microsoft-KeyVault |
Descripción | Las directivas de certificado (por ejemplo, el período de validez del certificado, el tipo de certificado, el tamaño de clave o el tipo de clave) se actualizan en función de la entrada del usuario y se revierten después de la duración del error. |
Requisitos previos | Ninguno. |
Urn | urn:csci:microsoft:keyvault:updateCertificatePolicy/1.0 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
certificateName | Nombre del certificado de Azure Key Vault en el que se ejecuta el error. |
version | Versión del certificado que se debe actualizar. Si no se especifica, se actualizará la versión más reciente. |
enabled | booleano. Valor que indica si la nueva versión del certificado está habilitada. |
validityInMonths | Período de validez del certificado en meses. |
certificateTransparency | Indica si el certificado se debe publicar en la lista de transparencia del certificado al crearse. |
certificateType | Tipo de certificado. |
contentType | Tipo de contenido del certificado. Por ejemplo, es Pkcs12 cuando el certificado contiene bytes PFX sin procesar o Pem cuando contiene bytes codificados en PEM ASCII. Pkcs12 es el valor predeterminado asumido. |
keySize | Tamaño de la clave RSA: 2048, 3072 o 4096. |
exportable | booleano. Valor que indica si la clave de certificado se puede exportar desde el almacén o el almacén de certificados seguro. |
reuseKey | booleano. Valor que indica si se debe reutilizar la clave de certificado cuando se gira el certificado. |
keyType | Tipo de clave de respaldo generada cuando se emiten nuevos certificados, como RSA o EC. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:keyvault:updateCertificatePolicy/1.0",
"parameters": [
{
"key": "certificateName",
"value": "<name of AKV certificate>"
},
{
"key": "version",
"value": "<certificate version>"
},
{
"key": "enabled",
"value": "True"
},
{
"key": "validityInMonths",
"value": "12"
},
{
"key": "certificateTransparency",
"value": "True"
},
{
"key": "certificateType",
"value": "<certificate type>"
},
{
"key": "contentType",
"value": "Pem"
},
{
"key": "keySize",
"value": "4096"
},
{
"key": "exportable",
"value": "True"
},
{
"key": "reuseKey",
"value": "False"
},
{
"key": "keyType",
"value": "RSA"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Regla de seguridad de NSG
Propiedad | Valor |
---|---|
Nombre de la prestación | SecurityRule-1.0, SecurityRule-1.1 |
Tipo de destino | Microsoft-NetworkSecurityGroup |
Descripción | Habilita la manipulación o creación de reglas en un grupo de seguridad de red (NSG) de Azure existente o en un conjunto de grupos de seguridad de red de Azure, suponiendo que la definición de regla sea aplicable en todos los grupos de seguridad. Útil para:
|
Requisitos previos | Ninguno. |
Urn | urn:csci:microsoft:networkSecurityGroup:securityRule/1.0, urn:csci:microsoft:networkSecurityGroup:securityRule/1.1 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
name | Un nombre único para la regla de seguridad que se crea. Se producirá un error si ya existe otra regla en NSG con el mismo nombre. Debe comenzar con una letra o número. Debe finalizar en una letra, un número o un carácter de subrayado. Solo puede contener letras, números, caracteres de subrayado, puntos o guiones. |
protocolo | Protocolo para la regla de seguridad. Debe ser Cualquiera, TCP, UDP o ICMP. |
sourceAddresses | Cadena que representa una matriz delimitada por JSON de direcciones IP con formato CIDR. También puede ser un nombre de etiqueta de servicio para una regla de entrada; por ejemplo, AppService . También se puede usar un asterisco * para establecer correspondencia entre todas las IP de origen. |
destinationAddresses | Cadena que representa una matriz delimitada por JSON de direcciones IP con formato CIDR. También puede ser un nombre de etiqueta de servicio para una regla de salida; por ejemplo, AppService . También se puede usar un asterisco * para establecer correspondencia entre todas las IP de destino. |
action | Tipo de acceso del grupo de seguridad. Debe ser Permitir o Denegar. |
destinationPortRanges | Cadena que representa una matriz delimitada por JSON de puertos únicos o intervalos de puertos, como 80 o 1024-65535. |
sourcePortRanges | Cadena que representa una matriz delimitada por JSON de puertos únicos o intervalos de puertos, como 80 o 1024-65535. |
priority | Escriba un valor de 100 a 4096 que sea único para todas las reglas de seguridad del NSG. Se producirá un error si ya existe otra regla en NSG con la misma prioridad. |
direction | Dirección del tráfico afectado por la regla de seguridad. Debe ser Entrante o Saliente. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:networkSecurityGroup:securityRule/1.0",
"parameters": [
{
"key": "name",
"value": "Block_SingleHost_to_Networks"
},
{
"key": "protocol",
"value": "Any"
},
{
"key": "sourceAddresses",
"value": "[\"10.1.1.128/32\"]"
},
{
"key": "destinationAddresses",
"value": "[\"10.20.0.0/16\",\"10.30.0.0/16\"]"
},
{
"key": "access",
"value": "Deny"
},
{
"key": "destinationPortRanges",
"value": "[\"80-8080\"]"
},
{
"key": "sourcePortRanges",
"value": "[\"*\"]"
},
{
"key": "priority",
"value": "100"
},
{
"key": "direction",
"value": "Outbound"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Limitaciones
- El error solo se puede aplicar a un grupo de seguridad de red existente.
- Cuando se aplica una regla de NSG destinada a denegar el tráfico, las conexiones existentes no se dividirán hasta que hayan estado inactivas durante 4 minutos. Una solución alternativa consiste en agregar otra rama en el mismo paso que usa un error que hará que las conexiones existentes se interrumpan cuando se aplica el error de NSG. Por ejemplo, eliminar el proceso, detener temporalmente el servicio o reiniciar la máquina virtual provocará el restablecimiento de las conexiones.
- Las reglas se aplican al principio de la acción. Los cambios externos en la regla durante la duración de la acción provocan un error en el experimento.
- No se admite la creación o modificación de reglas del grupo de seguridad de aplicaciones.
- Los valores de prioridad deben ser únicos en cada NSG de destino. Si se intenta crear una nueva regla que tenga el mismo valor de prioridad que otra, se producirá un error en el experimento.
- La regla de seguridad de NSG versión 1.1 error admite un parámetro
flushConnection
adicional. Esta funcionalidad tiene un problema conocido activo: siflushConnection
está habilitado, el error puede provocar un error "FlushingNetworkSecurityGroupConnectionIsNotEnabled". Para evitar este error temporalmente, deshabilite el parámetroflushConnection
o use la versión de la regla de seguridad de NSG 1.0 error.
Service Bus: Cambiar el estado de la cola
Propiedad | Valor |
---|---|
Nombre de la prestación | ChangeQueueState-1.0 |
Tipo de destino | Microsoft-ServiceBus |
Descripción | Establece las entidades Queue dentro de un espacio de nombres de Service Bus en el estado deseado. Puede afectar a nombres de entidad específicos o puede usar "*" para afectarlos a todos. Esto puede ayudar a probar la infraestructura de mensajería para escenarios de mantenimiento o error. Se trata de un error discreto, por lo que la entidad no se devolverá automáticamente al estado inicial. |
Requisitos previos | Un espacio de nombres de Service Bus con al menos una entidad Queue. |
Urn | urn:csci:microsoft:serviceBus:changeQueueState/1.0 |
Tipo de error | Discreto. |
Parámetros (clave, valor) | |
desiredState | Estado deseado para las colas de destino. Los estados posibles son Active, Disabled, SendDisabled y ReceiveDisabled. |
queues | Lista separada por comas de los nombres de cola dentro del espacio de nombres de destino. Use "*" para afectar a todas las colas del espacio de nombres. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "discrete",
"name": "urn:csci:microsoft:serviceBus:changeQueueState/1.0",
"parameters":[
{
"key": "desiredState",
"value": "Disabled"
},
{
"key": "queues",
"value": "samplequeue1,samplequeue2"
}
],
"selectorid": "myServiceBusSelector"
}
]
}
Limitaciones
- Se puede pasar un máximo de 1000 entidades de cola a este error.
Service Bus: Cambiar el estado de la suscripción
Propiedad | Valor |
---|---|
Nombre de la prestación | ChangeSubscriptionState-1.0 |
Tipo de destino | Microsoft-ServiceBus |
Descripción | Establece las entidades Subscription dentro de un espacio de nombres de Service Bus y Topic en el estado deseado. Puede afectar a nombres de entidad específicos o puede usar "*" para afectarlos a todos. Esto puede ayudar a probar la infraestructura de mensajería para escenarios de mantenimiento o error. Se trata de un error discreto, por lo que la entidad no se devolverá automáticamente al estado inicial. |
Requisitos previos | Un espacio de nombres de Service Bus con al menos una entidad Subscription. |
Urn | urn:csci:microsoft:serviceBus:changeSubscriptionState/1.0 |
Tipo de error | Discreto. |
Parámetros (clave, valor) | |
desiredState | Estado deseado para las suscripciones de destino. Los estados posibles son Activo y Deshabilitado. |
topic | El tema primario que contiene una o varias suscripciones que se van a afectar. |
subscriptions | Lista separada por comas de los nombres de suscripción dentro del espacio de nombres de destino. Use "*" para afectar a todas las suscripciones del espacio de nombres. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "discrete",
"name": "urn:csci:microsoft:serviceBus:changeSubscriptionState/1.0",
"parameters":[
{
"key": "desiredState",
"value": "Disabled"
},
{
"key": "topic",
"value": "topic01"
},
{
"key": "subscriptions",
"value": "*"
}
],
"selectorid": "myServiceBusSelector"
}
]
}
Limitaciones
- Se puede pasar un máximo de 1000 entidades Subscription a este error.
Service Bus: Cambiar el estado del tema
Propiedad | Valor |
---|---|
Nombre de la prestación | ChangeTopicState-1.0 |
Tipo de destino | Microsoft-ServiceBus |
Descripción | Establece las entidades Topic especificadas dentro de un espacio de nombres de Service Bus en el estado deseado. Puede afectar a nombres de entidad específicos o puede usar "*" para afectarlos a todos. Esto puede ayudar a probar la infraestructura de mensajería para escenarios de mantenimiento o error. Se trata de un error discreto, por lo que la entidad no se devolverá automáticamente al estado inicial. |
Requisitos previos | Un espacio de nombres de Service Bus con al menos una entidad Topic. |
Urn | urn:csci:microsoft:serviceBus:changeTopicState/1.0 |
Tipo de error | Discreto. |
Parámetros (clave, valor) | |
desiredState | Estado deseado para los temas de destino. Los estados posibles son Activo y Deshabilitado. |
topics | Lista separada por comas de los nombres de tema dentro del espacio de nombres de destino. Use "*" para afectar a todos los temas del espacio de nombres. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "discrete",
"name": "urn:csci:microsoft:serviceBus:changeTopicState/1.0",
"parameters":[
{
"key": "desiredState",
"value": "Disabled"
},
{
"key": "topics",
"value": "*"
}
],
"selectorid": "myServiceBusSelector"
}
]
}
Limitaciones
- Se puede pasar un máximo de 1000 entidades Topic a este error.
Reimplementación de máquinas virtuales
Propiedad | Valor |
---|---|
Nombre de la prestación | Redeploy-1.0 |
Tipo de destino | Microsoft-VirtualMachine |
Descripción | Vuelve a implementar una máquina virtual al apagarla, moverla a un nuevo nodo de la infraestructura de Azure y volver a encenderla. Esto ayuda a validar la resistencia de la carga de trabajo a los eventos de mantenimiento. |
Requisitos previos | Ninguno. |
Urn | urn:csci:microsoft:virtualMachine:redeploy/1.0 |
Tipo de error | Discreto. |
Parámetros (clave, valor) | Ninguno. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "discrete",
"name": "urn:csci:microsoft:virtualMachine:redeploy/1.0",
"parameters":[],
"selectorid": "myResources"
}
]
}
Limitaciones
- La operación de reimplementación de la máquina virtual se limita en un intervalo de 10 horas. Si se produce un error en el experimento con un error "Demasiadas solicitudes de reimplementación", espere 10 horas para reintentar el experimento.
Apagado de la máquina virtual
Propiedad | Valor |
---|---|
Nombre de la prestación | Shutdown-1.0 |
Tipo de destino | Microsoft-VirtualMachine |
Tipos de sistema operativo admitidos | Windows y Linux. |
Descripción | Apaga una máquina virtual mientras dure el error. La reinicia al final del experimento o si este se cancela. solo se admiten VM de Azure Resource Manager. |
Requisitos previos | Ninguno. |
Urn | urn:csci:microsoft:virtualMachine:shutdown/1.0 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
abruptShutdown | (Opcional) Valor booleano que indica si la máquina virtual debe apagarse correcta o repentinamente (de forma destructiva). |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:virtualMachine:shutdown/1.0",
"parameters": [
{
"key": "abruptShutdown",
"value": "false"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Apagado del conjunto de escalado de máquinas virtuales
Este error tiene dos versiones disponibles que puede usar: versión 1.0 y versión 2.0. La principal diferencia es que la versión 2.0 permite filtrar por zonas de disponibilidad, solo cerrando instancias dentro de una zona o zonas especificadas.
Apagado del conjunto de escalado de máquinas virtuales versión 1.0
Propiedad | Valor |
---|---|
Nombre de la prestación | Versión 1.0 |
Tipo de destino | Microsoft-VirtualMachineScaleSet |
Tipos de sistema operativo admitidos | Windows y Linux. |
Descripción | Apaga o elimina una instancia del conjunto de escalado de máquinas virtuales durante el error y reinicia la máquina virtual al final de la duración del error o si se cancela el experimento. |
Requisitos previos | Ninguno. |
Urn | urn:csci:microsoft:virtualMachineScaleSet:shutdown/1.0 |
Tipo de error | Continuo: |
Parámetros (clave, valor) | |
abruptShutdown | (Opcional) Booleano que indica si la instancia del conjunto de escalado de máquinas virtuales debe apagarse correcta o repentinamente (de forma destructiva). |
instances | Cadena que es una matriz delimitada de identificadores de instancia del conjunto de escalado de máquinas virtuales a los que se aplica el error. |
JSON de ejemplo de la versión 1.0
{
"name": "branchOne",
"actions": [
{
"type": "continuous",
"name": "urn:csci:microsoft:virtualMachineScaleSet:shutdown/1.0",
"parameters": [
{
"key": "abruptShutdown",
"value": "true"
},
{
"key": "instances",
"value": "[\"1\",\"3\"]"
}
],
"duration": "PT10M",
"selectorid": "myResources"
}
]
}
Apagado del conjunto de escalado de máquinas virtuales versión 2.0
Propiedad | Valor |
---|---|
Nombre de la prestación | Shutdown-2.0 |
Tipo de destino | Microsoft-VirtualMachineScaleSet |
Tipos de sistema operativo admitidos | Windows y Linux. |
Descripción | Apaga o elimina una instancia del conjunto de escalado de máquinas virtuales durante el error. Reinicia la máquina virtual al final de la duración del error o si se cancela el experimento. Admite los destinos dinámicos. |
Requisitos previos | Ninguno. |
Urn | urn:csci:microsoft:virtualMachineScaleSet:shutdown/2.0 |
Tipo de error | Continuo: |
filter | (Opcional) Disponible a partir de la versión 2.0. Se usa para filtrar la lista de destinos de un selector. Actualmente admite el filtrado en una lista de zonas. El filtro solo se aplica a los recursos del conjunto de escalado de máquinas virtuales dentro de una zona:
|
Parámetros (clave, valor) | |
abruptShutdown | (Opcional) Booleano que indica si la instancia del conjunto de escalado de máquinas virtuales debe apagarse correcta o repentinamente (de forma destructiva). |
Fragmentos de código JSON de ejemplo de la versión 2.0
Los fragmentos de código siguientes muestran cómo configurar tanto el filtrado dinámico como el error de apagado 2.0.
Configuración de un filtro de destinos dinámicos:
{
"type": "List",
"id": "myResources",
"targets": [
{
"id": "<targetResourceId>",
"type": "ChaosTarget"
}
],
"filter": {
"type": "Simple",
"parameters": {
"zones": [
"1"
]
}
}
}
Configuración del error de apagado:
{
"name": "branchOne",
"actions": [
{
"name": "urn:csci:microsoft:virtualMachineScaleSet:shutdown/2.0",
"type": "continuous",
"selectorId": "myResources",
"duration": "PT10M",
"parameters": [
{
"key": "abruptShutdown",
"value": "false"
}
]
}
]
}
Limitaciones
Actualmente, solo se admiten conjuntos de escalado de máquinas virtuales configurados con el modo de orquestación Uniforme. Si el conjunto de escalado de máquinas virtuales usa la orquestación flexible, puede usar el error de apagado de la máquina virtual de Azure Resource Manager para apagar las instancias seleccionadas.
Detalles: acciones de orquestación
Delay
Propiedad | Valor |
---|---|
Proveedor de errores | N/D |
Tipos de sistema operativo admitidos | N/D |
Descripción | Agrega un retraso de tiempo antes, entre o después de otras acciones de un experimento. Esto no es un error y se usa para sincronizar acciones dentro de un experimento. Use esta acción para esperar a que aparezca el impacto de un error en un servicio o espere a que se complete una actividad fuera del experimento. Por ejemplo, el experimento podría esperar a que se produzca el ensayo automático antes de insertar otro error. |
Requisitos previos | N/D |
Urn | urn:csci:microsoft:chaosStudio:timedDelay/1.0 |
Duration | Duración del retraso en formato ISO 8601 (por ejemplo, PT10M). |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "delay",
"name": "urn:csci:microsoft:chaosStudio:timedDelay/1.0",
"duration": "PT10M"
}
]
}
Inicio de prueba de carga (Azure Load Testing)
Propiedad | Valor |
---|---|
Nombre de la prestación | Start-1.0 |
Tipo de destino | Microsoft-AzureLoadTest |
Descripción | Inicia una prueba de carga (desde Azure Load Testing) en función del id. de prueba de carga proporcionado. |
Requisitos previos | Se debe crear una prueba de carga con un id. de prueba de carga válido en el servicio Azure Load Testing. |
Urn | urn:csci:microsoft:azureLoadTest:start/1.0 |
Tipo de error | Discreto. |
Parámetros (clave, valor) | |
testID | Id. de una prueba de carga específica creada en el servicio Azure Load Testing. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "discrete",
"name": "urn:csci:microsoft:azureLoadTest:start/1.0",
"parameters": [
{
"key": "testID",
"value": "0"
}
],
"selectorid": "myResources"
}
]
}
Detención de la prueba de carga (Azure Load Testing)
Propiedad | Valor |
---|---|
Nombre de la prestación | Stop-1.0 |
Tipo de destino | Microsoft-AzureLoadTest |
Descripción | Detiene una prueba de carga (desde Azure Load Testing) en función del id. de prueba de carga proporcionado. |
Requisitos previos | Se debe crear una prueba de carga con un id. de prueba de carga válido en el servicio Azure Load Testing. |
Urn | urn:csci:microsoft:azureLoadTest:stop/1.0 |
Tipo de error | Discreto. |
Parámetros (clave, valor) | |
testID | Id. de una prueba de carga específica creada en el servicio Azure Load Testing. |
Ejemplo de JSON
{
"name": "branchOne",
"actions": [
{
"type": "discrete",
"name": "urn:csci:microsoft:azureLoadTest:stop/1.0",
"parameters": [
{
"key": "testID",
"value": "0"
}
],
"selectorid": "myResources"
}
]
}