Open Service Mesh habilitado para Azure Arc

Open Service Mesh (OSM) es una malla de servicio nativa ligera, extensible y en la nube que permite a los usuarios administrar de forma uniforme características de observación para entornos de microservicios muy dinámicos, así como protegerlas y disfrutar de ellas de inmediato.

OSM ejecuta un plano de control basado en Envoy en Kubernetes, se puede configurar con API de SMI y funciona insertando un proxy de Envoy como un contenedor sidecar junto a cada instancia de la aplicación. Obtenga más información sobre los escenarios de mallas de servicio que habilita Open Service Mesh.

Opciones y requisitos de instalación

Las instancias de Open Service Mesh habilitadas para Azure Arc se pueden implementar mediante Azure Portal, CLI de Azure, una plantilla de ARM o una directiva integrada de Azure.

Requisitos previos

  • Asegúrese de cumplir con todos los requisitos previos comunes para las extensiones de clúster que se enumeran aquí.
  • Use las versiones >= v1.0.4 de la extensión az k8s-extension para la CLI.

Limitaciones de compatibilidad actuales

  • En los clústeres de Kubernetes conectados a Azure Arc no se puede implementar más de una instancia de Open Service Mesh.
  • El soporte está disponible para las dos versiones secundarias publicadas más recientemente de Open Service Mesh habilitado para Arc. Busque la versión más reciente aquí. Las versiones admitidas se indican mediante notas anexadas. No tenga en cuenta las etiquetas asociadas a las versiones intermedias.
  • Actualmente se admiten las siguientes distribuciones de Kubernetes:
    • Motor de AKS (Azure Kubernetes Service)
    • Clústeres de AKS en Azure Stack HCI
    • Clústeres híbridos de AKS aprovisionados desde Azure
    • Cluster API de Azure
    • Google Kubernetes Engine
    • Distribución Canonical Kubernetes
    • Rancher Kubernetes Engine
    • Distribución OpenShift Kubernetes
    • Amazon Elastic Kubernetes Service
    • VMware Tanzu Kubernetes Grid
  • La integración de Azure Monitor con Open Service Mesh habilitado para Azure Arc está disponible en la versión preliminar con compatibilidad limitada.

Sugerencia

Al usar esta extensión con clústeres híbridos de AKS aprovisionados desde Azure, debe establecer --cluster-type para usar provisionedClusters y agregar también al comando --cluster-resource-provider microsoft.hybridcontainerservice. La instalación de extensiones de Azure Arc en clústeres híbridos de AKS aprovisionados desde Azure se encuentra actualmente en versión preliminar.

Instalación básica mediante Azure Portal

Para implementar una instancia mediante Azure Portal, obtenga un clúster conectado a Arc y vaya a la sección Open Service Mesh del clúster.

Abrir Service Mesh ubicado en Configuración del clúster de Kubernetes habilitado para Arc

Para implementar la versión más reciente de la extensión, solo deberá seleccionar el botón Instalar extensión.

Como alternativa, puede usar la experiencia de la CLI que se muestra a continuación. Para realizar una incorporación a escala, lea las secciones sobre la implementación mediante una plantilla de ARM y mediante Azure Policy.

Instalación básica mediante la CLI de Azure

En los pasos siguientes se supone que ya tiene un clúster con una distribución de Kubernetes compatible conectada a Azure Arc. Asegúrese de que la variable de entorno KUBECONFIG apunta al archivo kubeconfig del clúster de Kubernetes habilitado para Arc.

Establezca las variables de entorno:

export CLUSTER_NAME=<arc-cluster-name>
export RESOURCE_GROUP=<resource-group-name>

Si usa un clúster de OpenShift, vaya directamente a los pasos de instalación de OpenShift que se indican a continuación.

Cree la extensión:

Nota

Si desea anclar una versión específica de OSM, agregue la marca --version x.y.z al comando create. Tenga en cuenta que esto establecerá el valor del elemento auto-upgrade-minor-version como false.

az k8s-extension create --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --extension-type Microsoft.openservicemesh --scope cluster --name osm

Tras ejecutar el comando anterior, debería obtener una salida similar a la del siguiente ejemplo. El gráfico de Helm real de la instancia de OSM puede tardar entre 3 y 5 minutos en implementarse en el clúster. Hasta que se realice dicha implementación, installState seguirá mostrándose como Pendiente.

{
  "autoUpgradeMinorVersion": true,
  "configurationSettings": {},
  "creationTime": "2021-04-29T17:50:11.4116524+00:00",
  "errorInfo": {
    "code": null,
    "message": null
  },
  "extensionType": "microsoft.openservicemesh",
  "id": "/subscriptions/<subscription-id>/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Kubernetes/connectedClusters/$CLUSTER_NAME/providers/Microsoft.KubernetesConfiguration/extensions/osm",
  "identity": null,
  "installState": "Pending",
  "lastModifiedTime": "2021-04-29T17:50:11.4116525+00:00",
  "lastStatusTime": null,
  "location": null,
  "name": "osm",
  "releaseTrain": "stable",
  "resourceGroup": "$RESOURCE_GROUP",
  "scope": {
    "cluster": {
      "releaseNamespace": "arc-osm-system"
    },
    "namespace": null
  },
  "statuses": [],
  "type": "Microsoft.KubernetesConfiguration/extensions",
  "version": "x.y.z"
}

Después, valide la instalación.

Instalaciones personalizadas

En las secciones siguientes se describen determinadas instalaciones personalizadas OSM habilitado para Azure Arc. Las instalaciones personalizadas requieren el establecimiento de los valores de OSM en un archivo JSON y pasarlos al comando de la CLI k8s-extension create, como se describe a continuación.

Instalación de OSM en un clúster de OpenShift

  1. Copie y guarde el siguiente contenido en un archivo JSON. Si ya ha creado un archivo de configuración, agregue la siguiente línea al archivo existente para conservar los cambios anteriores.

    {
        "osm.osm.enablePrivilegedInitContainer": "true"
    }
    
  2. Instale OSM con valores personalizados.

  3. Agregue la restricción de contexto de seguridad con privilegios a cada cuenta de servicio correspondiente a las aplicaciones de la malla.

    oc adm policy add-scc-to-user privileged -z <service account name> -n <service account namespace>
    

El gráfico de Helm real de la instancia de OSM puede tardar entre 3 y 5 minutos en implementarse en el clúster. Hasta que se realice dicha implementación, installState seguirá mostrándose como Pendiente.

Para asegurarse de que la configuración del contenedor de inicialización con privilegios no se revierta al valor predeterminado, use la configuración "osm.osm.enablePrivilegedInitContainer" : "true" en todos los comandos az k8s-extension create que ejecute a posteriori.

Habilitación de características de alta disponibilidad durante la instalación

Los componentes del plano de control de OSM se han creado pensando en la alta disponibilidad y la tolerancia a errores. En esta sección se describe cómo habilitar el escalado automático horizontal de pods (HPA) y el presupuesto de interrupciones de pods (PDB) durante la instalación. Obtenga más información sobre las consideraciones de diseño de alta disponibilidad en OSM aquí.

Escalado automático horizontal de pods (HPA)

HPA escala o reduce verticalmente de manera automática los pods del plano de control en función del uso medio de la CPU de destino (%) y el uso medio de memoria de destino (%) definido por el usuario. Para habilitar HPA y establecer los valores aplicables en los pods del plano de control de OSM durante la instalación, cree o anexe al archivo de configuración JSON existente como se indica a continuación, repitiendo los pares clave-valor para cada pod del plano de control (osmController, injector) en el que desea habilitar HPA.

{
  "osm.osm.<control_plane_pod>.autoScale.enable" : "true",
  "osm.osm.<control_plane_pod>.autoScale.minReplicas" : "<allowed values: 1-10>",
  "osm.osm.<control_plane_pod>.autoScale.maxReplicas" : "<allowed values: 1-10>",
  "osm.osm.<control_plane_pod>.autoScale.cpu.targetAverageUtilization" : "<allowed values 0-100>",
  "osm.osm.<control_plane_pod>.autoScale.memory.targetAverageUtilization" : "<allowed values 0-100>"
}

Ahora, instale OSM con valores personalizados.

Presupuesto de interrupciones de pods (PDB)

Para evitar interrupciones durante las interrupciones planeadas, los pods osm-controller y osm-injector del plano de control y tienen una PDB que garantiza que siempre haya al menos un pod correspondiente a cada aplicación del plano de control.

Para habilitar PDB, cree o anexe al archivo de configuración JSON existente como se muestra a continuación para cada pod de plano de control deseado (osmController, injector):

{
  "osm.osm.<control_plane_pod>.enablePodDisruptionBudget" : "true"
}

Ahora, instale OSM con valores personalizados.

Instalación de OSM con cert-manager para la administración de certificados

cert-manager es un proveedor que se puede usar para emitir certificados firmados a OSM sin necesidad de almacenar claves privadas en Kubernetes. Para más información, consulte la documentación de cert-manager y la demo de cert-manager de OSM.

Nota

Use los comandos proporcionados en la documentación de GitHub sobre el OSM con precaución. Asegúrese de que incluye el espacio de nombres adecuado en los comandos o especifíquelo con la marca --osm-namespace arc-osm-system. Para instalar OSM con cert-manager como proveedor de certificados, cree o anexe al archivo de configuración JSON existente el valor certificateProvider.kind establecido en cert-manager como se muestra a continuación. Si desea no usar los valores predeterminados de cert-manager especificados en la documentación de OSM, incluya y actualice también las líneas certmanager.issuer posteriores.

{
  "osm.osm.certificateProvider.kind" : "cert-manager",
  "osm.osm.certmanager.issuerName" : "<issuer name>",
  "osm.osm.certmanager.issuerKind" : "<issuer kind>",
  "osm.osm.certmanager.issuerGroup" : "<issuer group>"
}

Ahora, instale OSM con valores personalizados.

Instalación de OSM con Contour para procesos de entrada

OSM proporciona varias opciones para exponer los servicios de malla externamente mediante la entrada. OSM puede usar Contour, que funciona con el controlador de entrada instalado fuera de la malla y aprovisionado con un certificado para participar en la malla. Para más información, consulte la documentación de entrada y la demo de entrada de OSM.

Nota

Use los comandos proporcionados en la documentación de GitHub sobre el OSM con precaución. Asegúrese de que incluye el espacio de nombres adecuado en los comandos o especifíquelo con la marca --osm-namespace arc-osm-system. Para establecer los valores necesarios para configurar Contour durante la instalación de OSM, anexe lo siguiente al archivo de configuración JSON:

{
  "osm.osm.osmNamespace" : "arc-osm-system",
  "osm.contour.enabled" : "true",
  "osm.contour.configInline.tls.envoy-client-certificate.name" : "osm-contour-envoy-client-cert", 
  "osm.contour.configInline.tls.envoy-client-certificate.namespace" : "arc-osm-system"
}

Ahora, instale OSM con valores personalizados.

Establecimiento de valores durante la instalación de OSM

Los valores que deben establecerse durante la instalación de OSM deben guardarse en un único archivo JSON y pasarse a través del comando de instalación de la CLI de Azure.

Una vez que haya creado un archivo JSON con los valores aplicables, como se describe en las secciones de instalación personalizada anteriores, establezca la ruta de acceso del archivo como variable de entorno:

export SETTINGS_FILE=<json-file-path>

Ejecute el az k8s-extension create comando para crear la extensión de OSM y pase el archivo de configuración mediante la opción

--configuration-settings-file marca:

az k8s-extension create --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --extension-type Microsoft.openservicemesh --scope cluster --name osm --configuration-settings-file $SETTINGS_FILE

Instalación de OSM habilitado para Azure Arc mediante una plantilla de ARM

Después de conectar el clúster a Azure Arc, cree un archivo JSON con el formato siguiente y asegúrese de actualizar los valores <cluster-name> y <osm-arc-version>:

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "ConnectedClusterName": {
            "defaultValue": "<cluster-name>",
            "type": "String",
            "metadata": {
                "description": "The Connected Cluster name."
            }
        },
        "ExtensionInstanceName": {
            "defaultValue": "osm",
            "type": "String",
            "metadata": {
                "description": "The extension instance name."
            }
        },
        "ExtensionVersion": {
            "defaultValue": "<osm-arc-version>",
            "type": "String",
            "metadata": {
                "description": "The extension type version."
            }
        },
        "ExtensionType": {
            "defaultValue": "Microsoft.openservicemesh",
            "type": "String",
            "metadata": {
                "description": "The extension type."
            }
        },
        "ReleaseTrain": {
            "defaultValue": "Stable",
            "type": "String",
            "metadata": {
                "description": "The release train."
            }
        }
    },
    "functions": [],
    "resources": [
        {
            "type": "Microsoft.KubernetesConfiguration/extensions",
            "apiVersion": "2020-07-01-preview",
            "name": "[parameters('ExtensionInstanceName')]",
            "properties": {
                "extensionType": "[parameters('ExtensionType')]",
                "releaseTrain": "[parameters('ReleaseTrain')]",
                "version": "[parameters('ExtensionVersion')]"
            },
            "scope": "[concat('Microsoft.Kubernetes/connectedClusters/', parameters('ConnectedClusterName'))]"
        }
    ]
}

Establezca las variables de entorno:

export TEMPLATE_FILE_NAME=<template-file-path>
export DEPLOYMENT_NAME=<desired-deployment-name>

Ejecute el siguiente comando para instalar la extensión OSM mediante la CLI az:

az deployment group create --name $DEPLOYMENT_NAME --resource-group $RESOURCE_GROUP --template-file $TEMPLATE_FILE_NAME

Ya debería poder ver los recursos de OSM y usar la extensión OSM en el clúster.

Instalación de OSM habilitado para Azure Arc mediante una directiva integrada

La categoría Kubernetes de Azure Portal dispone de una directiva integrada denominada Los clústeres de Kubernetes habilitados para Azure Arc deben tener instalada la extensión Open Service Mesh. Esta directiva se puede asignar en el ámbito de una suscripción o un grupo de recursos. La acción predeterminada de esta directiva es de Implementar si no existe. Por otro lado, podría optar por limitarse a auditar las instalaciones de extensiones en los clústeres, mediante cambios en los parámetros durante la asignación. También se le pedirá que especifique la versión que desea instalar (v1.0.0-1 o superior) en forma de parámetro.

Validar la instalación

Ejecute el siguiente comando.

az k8s-extension show --cluster-type connectedClusters --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --name osm

Debería mostrarse una salida JSON similar a la siguiente:

{
  "autoUpgradeMinorVersion": true,
  "configurationSettings": {},
  "creationTime": "2021-04-29T19:22:00.7649729+00:00",
  "errorInfo": {
    "code": null,
    "message": null
  },
  "extensionType": "microsoft.openservicemesh",
  "id": "/subscriptions/<subscription-id>/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Kubernetes/connectedClusters/$CLUSTER_NAME/providers/Microsoft.KubernetesConfiguration/extensions/osm",
  "identity": null,
  "installState": "Installed",
  "lastModifiedTime": "2021-04-29T19:22:00.7649731+00:00",
  "lastStatusTime": "2021-04-29T19:23:27.642+00:00",
  "location": null,
  "name": "osm",
  "releaseTrain": "stable",
  "resourceGroup": "$RESOURCE_GROUP",
  "scope": {
    "cluster": {
      "releaseNamespace": "arc-osm-system"
    },
    "namespace": null
  },
  "statuses": [],
  "type": "Microsoft.KubernetesConfiguration/extensions",
  "version": "x.y.z"
}

Configuración del controlador de OSM

OSM implementa un recurso de MeshConfig osm-mesh-config como parte de su plano de control en el espacio de nombres arc-osm-system. El propósito de este recurso de MeshConfig es proporcionar al propietario u operador de la malla la capacidad de actualizar algunas de las configuraciones de la malla en función de sus necesidades. Para ver los valores predeterminados, use el comando siguiente.

kubectl describe meshconfig osm-mesh-config -n arc-osm-system

En el resultado se mostrarán los valores predeterminados:

  Certificate:
    Cert Key Bit Size:               2048
    Service Cert Validity Duration:  24h
  Feature Flags:
    Enable Async Proxy Service Mapping:  false
    Enable Egress Policy:                true
    Enable Envoy Active Health Checks:   false
    Enable Ingress Backend Policy:       true
    Enable Multicluster Mode:            false
    Enable Retry Policy:                 false
    Enable Snapshot Cache Mode:          false
    Enable WASM Stats:                   true
  Observability:
    Enable Debug Server:  false
    Osm Log Level:        info
    Tracing:
      Enable:  false
  Sidecar:
    Config Resync Interval:            0s
    Enable Privileged Init Container:  false
    Log Level:                         error
    Resources:
  Traffic:
    Enable Egress:                          false
    Enable Permissive Traffic Policy Mode:  true
    Inbound External Authorization:
      Enable:              false
      Failure Mode Allow:  false
      Stat Prefix:         inboundExtAuthz
      Timeout:             1s
    Inbound Port Exclusion List:
    Outbound IP Range Exclusion List:
    Outbound Port Exclusion List:

Consulte la referencia de la API de configuración para obtener más información. Observe que el valor de spec.traffic.enablePermissiveTrafficPolicyMode es true. Si OSM se establece en el modo de directiva de tráfico permisiva, se omitirá el cumplimiento de las directivas para el tráfico de SMI. En este modo, OSM detecta automáticamente los servicios que forman parte de la malla de servicio y programa reglas de la directiva de tráfico en cada sidecar del proxy de Envoy para comunicarse con estos servicios.

El recurso osm-mesh-config también se puede visualizar en Azure Portal si se selecciona Editar configuración en la sección Open Service Mesh del clúster.

Botón Editar configuración situado en la parte superior de la sección Open Service Mesh

Aplicación de cambios en la configuración del controlador de OSM

Nota

Los valores del recurso de MeshConfig osm-mesh-config son persistentes en todas las actualizaciones. Los cambios en osm-mesh-config pueden realizarse con el comando de revisión kubectl. En el ejemplo siguiente, el modo de directiva de tráfico permisiva se cambia a false.

kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"enablePermissiveTrafficPolicyMode":false}}}' --type=merge

Si se usa un valor incorrecto, las validaciones del CRD de MeshConfig impedirán el cambio con un mensaje de error en el que se explicará por qué el valor no es válido. Por ejemplo, el comando siguiente muestra lo que sucede si se revisa enableEgress con un valor no booleano.

kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"enableEgress":"no"}}}'  --type=merge
# Validations on the CRD will deny this change
The MeshConfig "osm-mesh-config" is invalid: spec.traffic.enableEgress: Invalid value: "string": spec.traffic.enableEgress in body must be of type boolean: "string"

Otra forma de editar el recurso osm-mesh-config en Azure Portal consiste en seleccionar Editar configuración en la sección Open Service Mesh del clúster.

Botón Editar configuración en la sección Open Service Mesh

Uso de OSM habilitado para Azure Arc

Para empezar a usar las funcionalidades de OSM, primero debe incorporar los espacios de nombres de la aplicación a la malla de servicio. Descargue la CLI de OSM desde la página de versiones de OSM en GitHub. Una vez que los espacios de nombres se hayan agregado a la malla, podrá configurar las directivas de SMI para lograr la funcionalidad de OSM deseada.

Incorporación de espacios de nombres a la malla de servicio

Agregue los espacios de nombres a la malla mediante la ejecución del comando siguiente:

osm namespace add <namespace_name>

También se pueden incorporar espacios de nombres desde Azure Portal si se selecciona +Agregar en la sección Open Service Mesh del clúster.

Botón +Agregar situado en la parte superior de la sección Open Service Mesh

Para obtener más información acerca de la incorporación de servicios, consulte este vínculo.

Configuración de OSM con directivas de Service Mesh Interface (SMI)

Para probar las directivas de SMI, puede partir de una aplicación de ejemplo o usar el entorno de pruebas.

Nota

Si usa una aplicación de ejemplo, asegúrese de que su versión coincida con la de la extensión OSM que esté instalada en el clúster. Por ejemplo, si usa la versión v1.0.0 de la extensión OSM, deberá usar el manifiesto de librería de la rama release-v1.0 del repositorio ascendente de OSM.

Configuración de sus propias instancias de Jaeger, Prometheus y Grafana

La extensión OSM no instala complementos como Jaeger, Prometheus, Grafana o Flagger. En su lugar, los usuarios puedan integrar el recurso OSM con sus propias instancias en ejecución de esas herramientas. Para realizar la integración con sus propias instancias, consulte la siguiente documentación:

Nota

Use los comandos proporcionados en la documentación de GitHub sobre el OSM con precaución. Asegúrese de que usa el nombre del espacio de nombres adecuado arc-osm-system cuando efectúe cambios en el recurso osm-mesh-config.

Supervisión de aplicaciones mediante Azure Monitor y Applications Insights (versión preliminar)

Tanto Azure Monitor como Azure Application Insights ayudan a maximizar la disponibilidad y el rendimiento de las aplicaciones y los servicios mediante una solución completa que permite recopilar datos de telemetría tanto en la nube como en entornos locales, así como analizarlos y actuar sobre ellos. Una instancia de Open Service Mesh habilitada para Azure Arc dispondrá de integraciones profundas en ambos servicios de Azure. Además, esta le proporcionará una experiencia de Azure ininterrumpida que le permitirá la visualizar los KPI críticos que proporcionan las métricas de OSM y responder a ellos.

Importante

Las características en versión preliminar de Kubernetes habilitado para Azure Arc están disponibles en autoservicio y de manera opcional. Las versiones preliminares se proporcionan "tal cual" y "como están disponibles", y están excluidas de los Acuerdos de nivel de servicio y la garantía limitada. Las versiones preliminares de Kubernetes habilitadas para Azure Arc reciben cobertura parcial del soporte al cliente en la medida de lo posible.

Siga los pasos que se indican a continuación para permitir que Azure Monitor extraiga puntos de conexión de Prometheus para recopilar métricas de la aplicación.

  1. Siga la guía disponible aquí para asegurarse de que los espacios de nombres de la aplicación que quiere supervisar estén incorporados en la malla.

  2. Exponga los puntos de conexión de Prometheus para su uso con los espacios de nombres de la aplicación.

    osm metrics enable --namespace <namespace1>
    osm metrics enable --namespace <namespace2>
    
  3. Instale la extensión de Azure Monitor con las instrucciones disponibles aquí.

  4. Cree un Configmap en el espacio de nombres kube-system que permite que Azure Monitor supervise los espacios de nombres. Por ejemplo, cree un archivo container-azm-ms-osmconfig.yaml que incluya el siguiente código para supervisar los nombres <namespace1> y <namespace2>:

    kind: ConfigMap
    apiVersion: v1
    data:
      schema-version: v1
      config-version: ver1
      osm-metric-collection-configuration: |-
        # OSM metric collection settings
        [osm_metric_collection_configuration]
          [osm_metric_collection_configuration.settings]
              # Namespaces to monitor
              monitor_namespaces = ["<namespace1>", "<namespace2>"]
    metadata:
      name: container-azm-ms-osmconfig
      namespace: kube-system
    
  5. Ejecute el siguiente comando de kubectl

    kubectl apply -f container-azm-ms-osmconfig.yaml
    

Las métricas pueden tardar hasta 15 minutos en aparecer en Log Analytics. Puede tratar de consultar la tabla InsightsMetrics.

InsightsMetrics
| where Name contains "envoy"
| extend t=parse_json(Tags)
| where t.app == "namespace1"
  1. Acceda al clúster de Kubernetes conectado a Arc a través de este vínculo.
  2. Vaya a Azure Monitor y diríjase a la pestaña Informes para acceder al libro de OSM.
  3. Seleccione el intervalo de tiempo y el espacio de nombres para el ámbito de los servicios.

Libro de OSM

Pestaña Solicitudes

  • Esta pestaña proporciona el resumen de todas las solicitudes HTTP enviadas mediante conexiones de servicio a servicio en OSM.
  • Puede ver todos los servicios, así como todos los servicios con los que se están comunicando, si selecciona algún servicio en la cuadrícula.
  • Puede ver el total de solicitudes, la tasa de errores de solicitud y la latencia P90.
  • Puede explorar en profundidad el destino y ver las tendencias de códigos de error o éxito HTTP, la tasa de éxito, el uso de recursos de pod y las latencias en distintos percentiles.

Pestaña Connections (Conexiones)

  • Esta pestaña proporciona un resumen de todas las conexiones entre los servicios de Open Service Mesh.
  • Conexiones salientes: el número total de conexiones entre los servicios de origen y destino.
  • Conexiones salientes activas: el último recuento de conexiones activas entre el origen y el destino durante un intervalo de tiempo seleccionado.
  • Conexiones salientes con errores: el número total de conexiones con errores entre los servicios de origen y destino.

Actualización a una versión específica de OSM

Es posible que durante las actualizaciones el plano de control esté inactivo durante algunos momentos. El plano de datos solo se verá afectado durante las actualizaciones de CRD.

Actualizaciones admitidas

La extensión OSM se puede actualizar manualmente tanto en versiones secundarias como en las principales. Sin embargo, las actualizaciones automáticas (si están habilitadas) solo funcionan en versiones secundarias.

Actualización manual a una versión específica de OSM

El siguiente comando le permitirá actualizar la extensión OSM-Arc a una versión específica:

az k8s-extension update --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --release-train stable --name osm --version x.y.z

Habilitación de las actualizaciones automáticas

Si las actualizaciones automáticas no están habilitadas de forma predeterminada, se puede ejecutar el siguiente comando para habilitarlas. El valor actual del elemento --auto-upgrade-minor-version se puede comprobar si se ejecuta el comando az k8s-extension show como se detalla en la sección Validación de la instalación.

az k8s-extension update --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --release-train stable --name osm --auto-upgrade-minor-version true

Desinstalación de OSM habilitado para Azure Arc

Use el comando siguiente:

az k8s-extension delete --cluster-type connectedClusters --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --name osm -y

Compruebe que se ha eliminado la instancia de la extensión:

az k8s-extension list --cluster-type connectedClusters --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP

Esta salida no debe incluir a OSM. Si no tiene otras extensiones instaladas en el clúster, solo se mostrará una matriz vacía.

Cuando se usa el comando az k8s-extension para eliminar la extensión de OSM, el espacio de nombres arc-osm-system no se quita y los recursos reales dentro de dicho espacio de nombres (como la configuración de webhook de mutación y el pod osm-controller) tardarán aproximadamente 10 minutos en eliminarse.

Nota

Use la CLI de az k8s-extension para desinstalar los componentes de OSM administrados por Arc. Arc no admite el uso de la CLI de OSM para las desinstalaciones y puede producirse un comportamiento no deseado.

Solución de problemas

Consulte la guía de solución de problemas disponible en este vínculo.

Preguntas más frecuentes

¿Es redundante la zona de la extensión OSM habilitada para Azure Arc?

Sí, todos los componentes de la extensión OSM habilitada para Azure Arc se implementan en zonas de disponibilidad y, por tanto, tienen redundancia de zona.

Pasos siguientes

¿Solo desea realizar algunas pruebas?
Comience a trabajar rápidamente con un escenario de Azure Arc Jumpstart mediante Cluster API.