Planeamiento y preparación de la implementación de un clústerPlan and prepare for a cluster deployment

La planeación y preparación para la implementación de un clúster de producción son muy importantes.Planning and preparing for a production cluster deployment is very important. Existen muchos factores a tener en cuenta.There are many factors to consider. Este artículo le guiará por los pasos de preparación de la implementación del clúster.This article walks you through the steps of preparing your cluster deployment.

Lectura de información de procedimientos recomendadosRead the best-practices information

Para administrar clústeres y aplicaciones de Azure Service Fabric correctamente, existen una serie de procedimientos que le recomendamos realizar para optimizar la fiabilidad de su entorno de producción.To manage Azure Service Fabric applications and clusters successfully, there are operations that we highly recommend you perform to optimize the reliability of your production environment. Para obtener más información, consulte Procedimientos recomendados para aplicaciones y clústeres de Service Fabric.For more information, read Service Fabric application and cluster best practices.

Selección del sistema operativo del clústerSelect the OS for the cluster

Service Fabric permite la creación de clústeres de Service Fabric en cualquier máquina virtual o equipo con Windows Server o Linux.Service Fabric allows for the creation of Service Fabric clusters on any VMs or computers running Windows Server or Linux. Antes de implementar el clúster, debe elegir el sistema operativo: Windows o Linux.Before deploying your cluster, you must choose the OS: Windows or Linux. Todos los nodos (máquina virtual) del clúster utilizan el mismo sistema operativo. No puede combinar máquinas virtuales de Windows y Linux en el mismo clúster.Every node (virtual machine) in the cluster runs the same OS, you cannot mix Windows and Linux VMs in the same cluster.

Planificación de capacidadCapacity planning

En cualquier implementación de producción, la planeación de capacidad es un paso importante.For any production deployment, capacity planning is an important step. Esto es algo que hay que tener en cuenta como parte de ese proceso.Here are some things to consider as a part of that process.

  • Número inicial de tipos de nodo para el clústerThe initial number of node types for your cluster
  • Propiedades de cada tipo de nodo (tamaño, número de instancias, principal, accesible desde Internet, número de máquinas virtuales, etc.)The properties of each of node type (size, number of instances, primary, internet facing, number of VMs, etc.)
  • Características de confiabilidad y durabilidad del clústerThe reliability and durability characteristics of the cluster

Selección del número inicial de tipos de nodoSelect the initial number of node types

En primer lugar, debe decidir para qué va a servir el clúster que va a crear.First, you need to figure out what the cluster you are creating is going to be used for. ¿Qué tipos de aplicaciones planea que se van a implementar en este clúster?What kinds of applications you are planning to deploy into this cluster? ¿Tiene la aplicación varios servicios y alguno de ellos ha de ser público o accesible desde Internet?Does your application have multiple services, and do any of them need to be public or internet facing? ¿Tienen los servicios (que componen la aplicación) distintos requisitos de infraestructura, como, por ejemplo, una RAM mayor o un número más alto de ciclos de CPU?Do your services (that make up your application) have different infrastructure needs such as greater RAM or higher CPU cycles? Un clúster de Service Fabric puede constar de más de un tipo de nodo: un tipo de nodo principal o más tipos de nodo no principales.A Service Fabric cluster can consist of more than one node type: a primary node type and one or more non-primary node types. Cada tipo de nodo se asigna a un conjunto de escalado de máquinas virtuales.Each node type is mapped to a virtual machine scale set. Cada tipo de nodo se puede escalar o reducir verticalmente de forma independiente. Cada uno tiene diferentes conjuntos de puertos abiertos y puede tener distintas métricas de capacidad.Each node type can then be scaled up or down independently, have different sets of ports open, and can have different capacity metrics. Se pueden configurar restricciones de ubicación y propiedades de nodo para limitar servicios específicos para tipos de nodo determinados.Node properties and placement constraints can be set up to constrain specific services to specific node types. Para más información, consulte planeamiento de capacidad del clúster de Service Fabric.For more information, see Service Fabric cluster capacity planning.

Selección de propiedades de nodo para cada tipo de nodoSelect node properties for each node type

Los tipos de nodo definen la SKU de máquina virtual el número y las propiedades de las máquinas virtuales en el conjunto de escalado asociado.Node types define the VM SKU, number, and properties of the VMs in the associated scale set.

El tamaño mínimo de las máquinas virtuales para cada tipo de nodo está determinado por el nivel de durabilidad que elija para el tipo de nodo.The minimum size of VMs for each node type is determined by the durability tier you choose for the node type.

El número mínimo de máquinas virtuales del tipo de nodo principal se determina mediante el nivel de confiabilidad que se elija.The minimum number of VMs for the primary node type is determined by the reliability tier you choose.

Consulte las recomendaciones mínimas para tipos de nodo principales, cargas de trabajo con estado en tipos de nodo no principales y cargas de trabajo sin estado en tipos de nodo no principales.See the minimum recommendations for primary node types, stateful workloads on non-primary node types, and stateless workloads on non-primary node types.

Los números de nodos superiores al mínimo deben basarse en el número de réplicas de la aplicación o los servicios que desee ejecutar en ese tipo de nodo.Any more than the minimum number of nodes should be based on the number of replicas of the application/services that you want to run in this node type. Planeamiento de capacidad para aplicaciones de Service Fabric le ayuda a estimar los recursos que necesita para ejecutar las aplicaciones.Capacity planning for Service Fabric applications helps you estimate the resources you need to run your applications. Siempre puede escalar o reducir verticalmente el clúster más tarde para ajustarlo a una carga de trabajo de aplicaciones cambiante.You can always scale the cluster up or down later to adjust for changing application workload.

Uso de discos de sistema operativo efímeros para conjuntos de escalado de máquinas virtualesUse ephemeral OS disks for virtual machine scale sets

Los discos del sistema operativo efímeros son almacenamiento creado en la máquina virtual local y no se guardan en la instancia remota de Azure Storage.Ephemeral OS disks are storage created on the local virtual machine (VM), and not saved to remote Azure Storage. Se recomiendan para todos los tipos de nodos de Service Fabric (principales y secundarios) ya que, comparados con los discos del SO persistentes tradicionales, los discos efímeros:They are recommended for all Service Fabric node types (Primary and Secondary), because compared to traditional persistent OS disks, ephemeral OS disks:

  • Reducen la latencia de lectura y escritura en el disco del sistema operativo;Reduce read/write latency to OS disk
  • Permiten realizar con mayor rapidez las operaciones de administración para restablecimiento y restablecimiento de imagen inicial de los nodos;Enable faster reset/reimage node management operations
  • Reducen los costos generales (los discos son gratuitos y no hay ningún costo de almacenamiento adicional).Reduce overall costs (the disks are free and incur no additional storage cost)

Los discos del sistema operativo efímeros no son una característica específica de Service Fabric, sino una característica de los conjuntos de escalado de máquinas virtuales de Azure que se asignan a los tipos de nodo de Service Fabric.Ephemeral OS disks is not a specific Service Fabric feature, but rather a feature of the Azure virtual machine scale sets that are mapped to Service Fabric node types. Para usarlos con Service Fabric necesita realizar lo siguiente en la plantilla de Azure Resource Manager de su clúster:Using them with Service Fabric requires the following in your cluster Azure Resource Manager template:

  1. Asegúrese de que los tipos de nodo tienen tamaños de máquina virtual de Azure compatibles con los discos del sistema operativo efímeros, y que el tamaño de la máquina virtual tiene un tamaño de caché adecuado para admitir el tamaño del disco del sistema operativo (consulte la Nota a continuación). Por ejemplo:Ensure your node types specify supported Azure VM sizes for Ephemeral OS disks, and that the VM size has sufficient cache size to support its OS disk size (see Note below.) For example:

    "vmNodeType1Size": {
        "type": "string",
        "defaultValue": "Standard_DS3_v2"
    

    Nota

    Asegúrese de seleccionar un tamaño de máquina virtual con un tamaño de caché igual o mayor que el tamaño de disco del sistema operativo de la propia máquina virtual; en caso contrario, la implementación de Azure podría generar un error (incluso si acepta el disco inicialmente).Be sure to select a VM size with a cache size equal or greater than the OS disk size of the VM itself, otherwise your Azure deployment might result in error (even if it's initially accepted).

  2. Especifique una versión de conjunto de escalado de máquinas virtuales (vmssApiVersion) con un valor de 2018-06-01 o posterior:Specify a virtual machine scale set version (vmssApiVersion) of 2018-06-01 or later:

    "variables": {
        "vmssApiVersion": "2018-06-01",
    
  3. En la sección Conjunto de escalado de máquinas virtuales de la plantilla de implementación, especifique la opción Local para diffDiskSettings:In the virtual machine scale set section of your deployment template, specify Local option for diffDiskSettings:

    "apiVersion": "[variables('vmssApiVersion')]",
    "type": "Microsoft.Compute/virtualMachineScaleSets",
        "virtualMachineProfile": {
            "storageProfile": {
                "osDisk": {
                        "caching": "ReadOnly",
                        "createOption": "FromImage",
                        "diffDiskSettings": {
                            "option": "Local"
                        },
                }
            }
        }
    

Nota

Las aplicaciones de usuario no deben tener ninguna dependencia, archivo o artefacto en el disco del sistema operativo, ya que este se perdería en caso de una actualización del sistema operativo.User applications should not have any dependency/file/artifact on the OS disk, as the OS disk would be lost in the case of an OS upgrade.

Nota

Los VMSS no efímeros existentes no se pueden actualizar en contexto para usar discos efímeros.Existing non-ephemeral VMSS can't be upgraded in-place to use ephemeral disks. Para migrarlos, los usuarios tendrán que agregar un nuevo nodeType con discos efímeros, trasladar las cargas de trabajo al nuevo nodeType y quitar el nodeType existente.To migrate, users will have to add a new nodeType with ephemeral disks, move the workloads to the new nodeType & remove the existing nodeType.

Para obtener más información y opciones de configuración adicionales, consulte Discos de SO efímeros para máquinas virtuales de Azure.For more info and further configuration options, see Ephemeral OS disks for Azure VMs

Selección de los niveles de durabilidad y confiabilidad para el clústerSelect the durability and reliability levels for the cluster

El nivel de durabilidad se usa para indicar al sistema los privilegios que tienen las máquinas virtuales con la infraestructura subyacente de Azure.The durability tier is used to indicate to the system the privileges that your VMs have with the underlying Azure infrastructure. En el tipo de nodo principal, este privilegio permite que Service Fabric pause cualquier solicitud de la infraestructura de nivel de máquina virtual (por ejemplo, reinicio de máquina virtual, restablecimiento de la imagen inicial de máquina virtual o migración de máquina virtual) que afecte a los requisitos de quórum de los servicios del sistema y los servicios con estado.In the primary node type, this privilege allows Service Fabric to pause any VM level infrastructure request (such as a VM reboot, VM reimage, or VM migration) that impact the quorum requirements for the system services and your stateful services. En los tipos de nodo distintos del principal, este privilegio permite que Service Fabric pause cualquier solicitud de la infraestructura de nivel de máquina virtual (por ejemplo, el reinicio de máquina virtual, el restablecimiento de la imagen inicial de máquina virtual o la migración de máquinas virtuales) que afecte a los requisitos de cuórum de los servicios con estado.In the non-primary node types, this privilege allows Service Fabric to pause any VM level infrastructure requests (such as VM reboot, VM reimage, and VM migration) that impact the quorum requirements for your stateful services. Para conocer las ventajas de los diferentes niveles y obtener recomendaciones sobre qué nivel usar y cuándo, vea Características de durabilidad del clúster.For advantages of the different levels and recommendations on which level to use and when, see The durability characteristics of the cluster.

El nivel de confiabilidad se usa para establecer el número de réplicas de los servicios del sistema que se desea ejecutar en el tipo de nodo principal de este clúster.The reliability tier is used to set the number of replicas of the system services that you want to run in this cluster on the primary node type. Cuanto mayor sea el número de réplicas, más confiables son los servicios del sistema en el clúster.The more the number of replicas, the more reliable the system services are in your cluster. Para conocer las ventajas de los diferentes niveles y obtener recomendaciones sobre qué nivel usar y cuándo, vea Características de confiabilidad del clúster.For advantages of the different levels and recommendations on which level to use and when, see The reliability characteristics of the cluster.

Habilitación del proxy inverso o DNSEnable reverse proxy and/or DNS

Los servicios que se conectan entre sí dentro de un clúster pueden acceder, por lo general, directamente a los puntos de conexión de otros servicios ya que los nodos de un clúster se encuentran en la misma red local.Services connecting to each other inside a cluster generally can directly access the endpoints of other services because the nodes in a cluster are on the same local network. Para facilitar la conexión entre servicios, Service Fabric ofrece servicios adicionales: Un servicio DNS y un servicio de proxy inverso.To make it easier to connect between services, Service Fabric provides additional services: A DNS service and a reverse proxy service. Se pueden habilitar ambos servicios cuando se implementa un clúster.Both services can be enabled when deploying a cluster.

Debido a que muchos servicios, sobre todo los servicios en contenedores, pueden tener un nombre de dirección URL existente, es conveniente tener la capacidad de resolverlo mediante el protocolo DNS estándar (en lugar del protocolo Naming Service), en particular en escenarios "lift-and-shift" de la aplicación.Since many services, especially containerized services, can have an existing URL name, being able to resolve these using the standard DNS protocol (rather than the Naming Service protocol) is convenient, especially in application "lift and shift" scenarios. Esto es exactamente lo que hace el servicio DNS.This is exactly what the DNS service does. Permite asignar nombres DNS a un nombre de servicio y, por tanto, resolver direcciones IP del punto de conexión.It enables you to map DNS names to a service name and hence resolve endpoint IP addresses.

Los servicios de direcciones de proxy inverso del clúster que expone puntos de conexión HTTP (incluidos HTTPS).The reverse proxy addresses services in the cluster that expose HTTP endpoints (including HTTPS). El proxy inverso simplifica ampliamente la llamada a otros servicios mediante un formato de URI específico.The reverse proxy greatly simplifies calling other services by providing a specific URI format. El proxy inverso también administra los pasos de resolución, conexión y reintento necesarios para que un servicio se comunique con otro.The reverse proxy also handles the resolve, connect, and retry steps required for one service to communicate with another.

Preparación para la recuperación ante desastresPrepare for disaster recovery

Una parte fundamental de la entrega de alta disponibilidad es garantizar que los servicios sobreviven a cualquier tipo de error.A critical part of delivering high-availability is ensuring that services can survive all different types of failures. Esto es especialmente importante para los errores imprevistos y que se encuentran fuera de control.This is especially important for failures that are unplanned and outside of your control. Preparación para la recuperación ante desastres describe algunos modos de error frecuentes que podrían convertirse en desastres si no se modelan y administran correctamente.Prepare for disaster recovery describes some common failure modes that could be disasters if not modeled and managed correctly. También se explican las mitigaciones y las acciones que deben realizarse en caso de desastre.It also discusses mitigations and actions to take if a disaster happened anyway.

Lista de comprobación sobre la preparación de producciónProduction readiness checklist

¿La aplicación y el clúster están preparados para asumir el tráfico de producción?Is your application and cluster ready to take production traffic? Antes de realizar la implementación del clúster en la producción, ejecute la lista de comprobación sobre la preparación de producción.Before deploying your cluster to production, run through the Production readiness checklist. Revise los elementos de la siguiente lista de comprobación para que la aplicación y el clúster se ejecuten sin problemas.Keep your application and cluster running smoothly by working through the items in this checklist. Se recomienda encarecidamente comprobar todos estos elementos antes de pasar a la producción.We strongly recommend all these items to be checked off before going into production.

Pasos siguientesNext steps