diff --git a/articles/service-fabric/how-to-managed-cluster-ip-tags.md b/articles/service-fabric/how-to-managed-cluster-ip-tags.md new file mode 100644 index 00000000000..74f444fe57a --- /dev/null +++ b/articles/service-fabric/how-to-managed-cluster-ip-tags.md @@ -0,0 +1,52 @@ +--- +title: Set up IP tags on a Service Fabric managed cluster +description: Learn how to set IP tags on a Service Fabric managed cluster. +ms.topic: how-to +ms.author: tomcassidy +author: tomvcassidy +ms.service: azure-service-fabric +services: service-fabric +ms.date: 10/30/2024 +--- + +# Set up IP tags on a Service Fabric managed cluster (SFMC) + +An IP tag represents a group of IP address prefixes from a given Azure service. Microsoft manages the address prefixes encompassed by the IP tag and automatically updates the service tag as addresses change, minimizing the complexity of frequent updates to network security rules. You can use IP tags to define network access controls on [network security groups](/azure/virtual-network/network-security-groups-overview#security-rules), [Azure Firewall](/azure/firewall/service-tags), and user-defined routes. By adding IP tags, an SFMC cluster has an added layer of security. + +> [!NOTE] +> The `IPTag` property only applies to the public IPv4 and IPv6 addresses of the default cluster load balancer. + +## Limitations + +You shouldn't implement IP tags on existing clusters. + +## Prerequisites + +Ensure that you [provisioned IPTags beforehand](/powershell/module/az.network/new-azpublicipaddress#example-3-create-a-new-public-ip-address-with-iptag). + +## Modify your ARM template + +When creating a new Service Fabric managed cluster, you need to add to the ARM template with the following property: + + +```json +{ + "type": "Microsoft.ServiceFabric/managedClusters", + "apiVersion": "2021-07-01-preview", + "properties": { + "ipTags": [ + { + "ipTagType": "string", + "tag": "string" + } + ] + } +} +``` + +Then, deploy your SFMC cluster as normal. + +## Next steps + +* To see more about Service Fabric managed cluster network settings, see [Configure network settings for Service Fabric managed clusters](how-to-managed-cluster-networking.md). +* To learn about using public IP prefixes in managed clusters, see [Use a Public IP address prefix in a Service Fabric managed cluster](how-to-managed-cluster-public-ip-prefix.md). diff --git a/articles/service-fabric/how-to-managed-cluster-networking.md b/articles/service-fabric/how-to-managed-cluster-networking.md index f5875a3d385..99defd3e382 100644 --- a/articles/service-fabric/how-to-managed-cluster-networking.md +++ b/articles/service-fabric/how-to-managed-cluster-networking.md @@ -7,7 +7,7 @@ author: tomvcassidy ms.service: azure-service-fabric ms.custom: devx-track-azurepowershell services: service-fabric -ms.date: 07/11/2022 +ms.date: 11/21/2024 --- # Configure network settings for Service Fabric managed clusters @@ -607,7 +607,7 @@ Managed clusters create an Azure public Standard Load Balancer and fully qualifi > You can not switch from the default load balancer to a custom one after deployment of a node type, but you can modify custom load balancer configuration post-deployment if enabled. **Feature Requirements** - * Basic and Standard SKU Azure Load Balancer types are supported + * The Standard SKU Azure Load Balancer type is supported * You must have backend and NAT pools configured on the Azure Load Balancer * You must enable outbound connectivity either using a provided public load balancer or the default public load balancer diff --git a/articles/service-fabric/media/service-fabric-cluster-creation-setup-aad/portal-client-api-grant.png b/articles/service-fabric/media/service-fabric-cluster-creation-setup-aad/portal-client-api-grant.png deleted file mode 100644 index 339fb4e4e31..00000000000 Binary files a/articles/service-fabric/media/service-fabric-cluster-creation-setup-aad/portal-client-api-grant.png and /dev/null differ diff --git a/articles/service-fabric/media/service-fabric-cluster-remote-connect-to-azure-cluster-node/lb-window.png b/articles/service-fabric/media/service-fabric-cluster-remote-connect-to-azure-cluster-node/lb-window.png deleted file mode 100644 index 23b4094853a..00000000000 Binary files a/articles/service-fabric/media/service-fabric-cluster-remote-connect-to-azure-cluster-node/lb-window.png and /dev/null differ diff --git a/articles/service-fabric/media/service-fabric-quickstart-containers/publish-app.png b/articles/service-fabric/media/service-fabric-quickstart-containers/publish-app.png deleted file mode 100644 index af568be485d..00000000000 Binary files a/articles/service-fabric/media/service-fabric-quickstart-containers/publish-app.png and /dev/null differ diff --git a/articles/service-fabric/media/service-fabric-tutorial-monitoring-aspnet/ai-search.png b/articles/service-fabric/media/service-fabric-tutorial-monitoring-aspnet/ai-search.png deleted file mode 100644 index 2ea8375916c..00000000000 Binary files a/articles/service-fabric/media/service-fabric-tutorial-monitoring-aspnet/ai-search.png and /dev/null differ diff --git a/articles/service-fabric/media/service-fabric-tutorial-monitoring-aspnet/trace-details.png b/articles/service-fabric/media/service-fabric-tutorial-monitoring-aspnet/trace-details.png deleted file mode 100644 index 0aeab9670a8..00000000000 Binary files a/articles/service-fabric/media/service-fabric-tutorial-monitoring-aspnet/trace-details.png and /dev/null differ diff --git a/articles/service-fabric/media/service-fabric-tutorial-monitoring-wincontainers/solution-landing.png b/articles/service-fabric/media/service-fabric-tutorial-monitoring-wincontainers/solution-landing.png deleted file mode 100644 index e91e1ed2e46..00000000000 Binary files a/articles/service-fabric/media/service-fabric-tutorial-monitoring-wincontainers/solution-landing.png and /dev/null differ diff --git a/articles/service-fabric/overview-managed-cluster.md b/articles/service-fabric/overview-managed-cluster.md index 5bc327dda89..512daf1b11e 100644 --- a/articles/service-fabric/overview-managed-cluster.md +++ b/articles/service-fabric/overview-managed-cluster.md @@ -6,7 +6,7 @@ ms.author: tomcassidy author: tomvcassidy ms.service: azure-service-fabric services: service-fabric -ms.date: 03/12/2024 +ms.date: 11/21/2024 --- # Service Fabric managed clusters @@ -63,7 +63,7 @@ Service Fabric managed clusters are available in both Basic and Standard SKUs. | Feature | Basic | Standard | | ------- | ----- | -------- | -| Network resource (SKU for [Load Balancer](/azure/load-balancer/skus), [Public IP](/azure/virtual-network/ip-services/public-ip-addresses)) | Basic | Standard | +| Network resource (SKU for [Load Balancer](/azure/load-balancer/skus), [Public IP](/azure/virtual-network/ip-services/public-ip-addresses)) | Standard | Standard | | Min node (virtual machine instance) count | 3 | 5 | | Max node count per node type | 100 | 1000 | | Max node type count | 1 | 50 | diff --git a/articles/service-fabric/service-fabric-cluster-creation-setup-aad.md b/articles/service-fabric/service-fabric-cluster-creation-setup-aad.md index 2dc1e7e7c29..e22e9fd23c6 100644 --- a/articles/service-fabric/service-fabric-cluster-creation-setup-aad.md +++ b/articles/service-fabric/service-fabric-cluster-creation-setup-aad.md @@ -6,7 +6,7 @@ ms.author: tomcassidy author: tomvcassidy ms.service: azure-service-fabric services: service-fabric -ms.date: 08/29/2022 +ms.date: 11/14/2024 --- # Set up Microsoft Entra ID for client authentication @@ -178,8 +178,6 @@ $resourceGroupName = 'mysftestcluster' It may be necessary to 'Grant admin consent' for the 'API permissions' being configured. Navigate to [Azure App registrations](https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/RegisteredApps) blade and add name of cluster to the filter. For both registrations, open 'API permissions', and select 'Grant admin consent for' if available. -![Screenshot that shows Grant admin consent selected on the Azure App registrations blade.](media/service-fabric-cluster-creation-setup-aad/portal-client-api-grant.png) - ![Screenshot that shows the Grant admin consent confirmation with Yes highlighted.](media/service-fabric-cluster-creation-setup-aad/portal-client-api-grant-confirm.png) diff --git a/articles/service-fabric/service-fabric-cluster-remote-connect-to-azure-cluster-node.md b/articles/service-fabric/service-fabric-cluster-remote-connect-to-azure-cluster-node.md index 1c640b97f0b..fe130316452 100644 --- a/articles/service-fabric/service-fabric-cluster-remote-connect-to-azure-cluster-node.md +++ b/articles/service-fabric/service-fabric-cluster-remote-connect-to-azure-cluster-node.md @@ -6,7 +6,7 @@ ms.author: tomcassidy author: tomvcassidy ms.service: azure-service-fabric services: service-fabric -ms.date: 07/14/2022 +ms.date: 11/14/2024 --- # Remote connect to a virtual machine scale set instance or a cluster node @@ -20,8 +20,6 @@ To find an IP address and port that you can use to remotely connect to a specifi On the page for your load balancer in Azure portal, select **Settings** > **Inbound NAT rules**: - ![Screenshot of a load balancer page in the Azure portal. In the left-hand menu, under SETTINGS, Inbound NAT rules is selected.](./media/service-fabric-cluster-remote-connect-to-azure-cluster-node/lb-window.png) - The following screenshot shows the inbound NAT rules for a node type named FrontEnd: ![Screenshot showing the inbound NAT rules for a load balancer. The Name, IP Version, Destination, Target and Service are listed for each rule.](./media/service-fabric-cluster-remote-connect-to-azure-cluster-node/nat-rules.png) diff --git a/articles/service-fabric/service-fabric-cross-availability-zones.md b/articles/service-fabric/service-fabric-cross-availability-zones.md index 4b411e21f49..3cf53f67b66 100644 --- a/articles/service-fabric/service-fabric-cross-availability-zones.md +++ b/articles/service-fabric/service-fabric-cross-availability-zones.md @@ -6,7 +6,7 @@ ms.author: tomcassidy author: tomvcassidy ms.service: azure-service-fabric services: service-fabric -ms.date: 07/14/2022 +ms.date: 11/21/2024 --- # Deploy an Azure Service Fabric cluster across Availability Zones @@ -62,7 +62,7 @@ The Service Fabric load balancer brings up replicas in the working zones to matc ### Public IP and load balancer resource -To enable the `zones` property on a virtual machine scale set resource, the load balancer and the IP resource referenced by that virtual machine scale set must both use a Standard SKU. Creating a load balancer or IP resource without the SKU property creates a Basic SKU, which does not support Availability Zones. A Standard SKU load balancer blocks all traffic from the outside by default. To allow outside traffic, deploy an NSG to the subnet. +To enable the `zones` property on a virtual machine scale set resource, the load balancer and the IP resource referenced by that virtual machine scale set must both use a Standard SKU. Creating an IP resource without the SKU property creates a Basic SKU, which does not support Availability Zones. A Standard SKU load balancer blocks all traffic from the outside by default. To allow outside traffic, deploy an NSG to the subnet. ```json { @@ -110,7 +110,7 @@ To enable the `zones` property on a virtual machine scale set resource, the load ``` >[!NOTE] -> It isn't possible to do an in-place change of SKU on the public IP and load balancer resources. If you're migrating from existing resources that have a Basic SKU, see the migration section of this article. +> It isn't possible to do an in-place change of SKU on public IP resources. If you're migrating from existing resources that have a Basic SKU, see the [migration section](#migrate-to-availability-zones-from-a-cluster-by-using-a-basic-sku-ip) of this article. ### NAT rules for virtual machine scale sets @@ -161,7 +161,7 @@ The inbound network address translation (NAT) rules for the load balancer should ### Outbound rules for a Standard SKU load balancer -The Standard SKU load balancer and public IP introduce new abilities and different behaviors to outbound connectivity when compared to using Basic SKUs. If you want outbound connectivity when you're working with Standard SKUs, you must explicitly define it with either a Standard SKU public IP addresses or a Standard SKU load balancer. For more information, see [Outbound connections](/azure/load-balancer/load-balancer-outbound-connections) and [What is Azure Load Balancer?](/azure/load-balancer/load-balancer-overview). +The Standard SKU public IP introduces new abilities and different behaviors to outbound connectivity when compared to using Basic SKUs. If you want outbound connectivity when you're working with Standard SKUs, you must explicitly define it with either a Standard SKU public IP addresses or a Standard SKU load balancer. For more information, see [Outbound connections](/azure/load-balancer/load-balancer-outbound-connections) and [What is Azure Load Balancer?](/azure/load-balancer/load-balancer-overview). >[!NOTE] > The standard template references an NSG that allows all outbound traffic by default. Inbound traffic is limited to the ports that are required for Service Fabric management operations. The NSG rules can be modified to meet your requirements. @@ -273,11 +273,10 @@ The Service Fabric node type must be enabled to support multiple Availability Zo For all migration scenarios, you need to add a new node type that supports multiple Availability Zones. An existing node type can't be migrated to support multiple zones. The [Scale up a Service Fabric cluster primary node type](./service-fabric-scale-up-primary-node-type.md) article includes detailed steps to add a new node type and the other resources required for the new node type, such as IP and load balancer resources. That article also describes how to retire the existing node type after a new node type with multiple Availability Zones is added to the cluster. -* Migration from a node type that uses basic load balancer and IP resources: This process is already described in [a sub-section below](#migrate-to-availability-zones-from-a-cluster-by-using-a-basic-sku-load-balancer-and-a-basic-sku-ip) for the solution with one node type per Availability Zone. +* Migration from a node type that uses basic IP resources: This process is already described in [a sub-section below](#migrate-to-availability-zones-from-a-cluster-by-using-a-basic-sku-ip) for the solution with one node type per Availability Zone. For the new node type, the only difference is that there's only one virtual machine scale set and one node type for all Availability Zones instead of one each per Availability Zone. -* Migration from a node type that uses the Standard SKU load balancer and IP resources with an NSG: Follow the same procedure described previously. However, there's no need to add new load balancer, IP, and NSG resources. The same resources can be reused in the new node type. - +* Migration from a node type that uses the Standard SKU IP resources with an NSG: Follow the same procedure described previously. However, there's no need to add new IP and NSG resources. The same resources can be reused in the new node type. ## 2. Deploy zones by pinning one virtual machine scale set to each zone @@ -405,11 +404,11 @@ To set one or more node types as primary in a cluster resource, set the `isPrima } ``` -## Migrate to Availability Zones from a cluster by using a Basic SKU load balancer and a Basic SKU IP +## Migrate to Availability Zones from a cluster by using a Basic SKU IP -To migrate a cluster that's using a load balancer and IP with a basic SKU, you must first create an entirely new load balancer and IP resource using the standard SKU. It isn't possible to update these resources. +To migrate a cluster that's using an IP with a Basic SKU, you must first create an entirely new IP resource using the Standard SKU. It isn't possible to update these resources. -Reference the new load balancer and IP in the new cross-Availability Zone node types that you want to use. In the previous example, three new virtual machine scale set resources were added in zones 1, 2, and 3. These virtual machine scale sets reference the newly created load balancer and IP and are marked as primary node types in the Service Fabric cluster resource. +Reference the new IP in the new cross-Availability Zone node types that you want to use. In the previous example, three new virtual machine scale set resources were added in zones 1, 2, and 3. These virtual machine scale sets reference the newly created IP and are marked as primary node types in the Service Fabric cluster resource. 1. To begin, add the new resources to your existing Azure Resource Manager template. These resources include: diff --git a/articles/service-fabric/service-fabric-patterns-networking.md b/articles/service-fabric/service-fabric-patterns-networking.md index 918088658f1..0bb9b7262c9 100644 --- a/articles/service-fabric/service-fabric-patterns-networking.md +++ b/articles/service-fabric/service-fabric-patterns-networking.md @@ -6,7 +6,7 @@ ms.author: tomcassidy author: tomvcassidy ms.service: azure-service-fabric services: service-fabric -ms.date: 07/11/2022 +ms.date: 11/21/2024 --- # Service Fabric networking patterns @@ -599,7 +599,7 @@ After deployment, you can see two load balancers in the resource group. If you b ## Notes for production workloads -The above GitHub templates are designed to work with the default SKU for Azure Standard Load Balancer (SLB), the Basic SKU. The Basic SKU LB has no SLA, so for production workloads the Standard SKU should be used. For more on this, see the [Azure Standard Load Balancer overview](/azure/load-balancer/load-balancer-overview). Any Service Fabric cluster using the Standard SKU for SLB needs to ensure that each node type has a rule allowing outbound traffic on port 443. This is necessary to complete cluster setup, and any deployment without such a rule will fail. In the above example of an "internal only" load balancer, an additional external load balancer must be added to the template with a rule allowing outbound traffic for port 443. +The above GitHub templates are designed to work with the default SKU for Azure Standard Load Balancer (SLB), the Standard SKU. Any Service Fabric cluster using the Standard SKU for SLB needs to ensure that each node type has a rule allowing outbound traffic on port 443. This is necessary to complete cluster setup, and any deployment without such a rule will fail. In the above example of an "internal only" load balancer, an additional external load balancer must be added to the template with a rule allowing outbound traffic for port 443. ## Next steps [Create a cluster](service-fabric-cluster-creation-via-arm.md) diff --git a/articles/service-fabric/service-fabric-quickstart-containers.md b/articles/service-fabric/service-fabric-quickstart-containers.md index 51804bc7df5..720e1efb147 100644 --- a/articles/service-fabric/service-fabric-quickstart-containers.md +++ b/articles/service-fabric/service-fabric-quickstart-containers.md @@ -132,11 +132,7 @@ Right-click **MyFirstContainer** in the Solution Explorer and choose **Publish** Copy the content following **CN=** in the PowerShell window when you ran the `Import-PfxCertificate` command above, and add port `19000` to it. For example, `mysfcluster.SouthCentralUS.cloudapp.azure.com:19000`. Copy it into the **Connection Endpoint** field. Remember this value because you'll need it in a future step. -Click **Advanced Connection Parameters** and verify the connection parameter information. *FindValue* and *ServerCertThumbprint* values must match the thumbprint of the certificate installed when you ran `Import-PfxCertificate` in the previous step. - -![Publish Dialog](./media/service-fabric-quickstart-containers/publish-app.png) - -Click **Publish**. +Click **Advanced Connection Parameters** and verify the connection parameter information. *FindValue* and *ServerCertThumbprint* values must match the thumbprint of the certificate installed when you ran `Import-PfxCertificate` in the previous step. Then, select **Publish**. Each application in the cluster must have a unique name. If there's a name conflict, rename the Visual Studio project and deploy again. diff --git a/articles/service-fabric/service-fabric-stateless-node-types.md b/articles/service-fabric/service-fabric-stateless-node-types.md index c9c22c42111..46169cbb1a6 100644 --- a/articles/service-fabric/service-fabric-stateless-node-types.md +++ b/articles/service-fabric/service-fabric-stateless-node-types.md @@ -6,12 +6,12 @@ ms.author: tomcassidy author: tomvcassidy ms.service: azure-service-fabric services: service-fabric -ms.date: 07/11/2022 +ms.date: 11/21/2024 --- # Deploy an Azure Service Fabric cluster with stateless-only node types Service Fabric node types come with inherent assumption that at some point of time, stateful services might be placed on the nodes. Stateless node types change this assumption for a node type, thus allowing the node type to use other features such as faster scale out operations, support for Automatic OS Upgrades on Bronze durability and scaling out to more than 100 nodes in a single virtual machine scale set. -* Primary node types cannot be configured to be stateless +* Primary node types can't be configured to be stateless * Stateless node types are only supported with Bronze Durability Levels * Stateless node types are only supported on Service Fabric Runtime version 7.1.409 or above. @@ -136,15 +136,17 @@ To enable stateless node types, you should configure the underlying virtual mach ## Configuring Stateless node types with multiple Availability Zones To configure Stateless node type spanning across multiple availability zones follow the documentation [here](./service-fabric-cross-availability-zones.md#1-enable-multiple-availability-zones-in-single-virtual-machine-scale-set), along with the few changes as follows: -* Set **singlePlacementGroup** : **false** if multiple placement groups is required to be enabled. +* Set **singlePlacementGroup** : **false** if multiple placement groups are required to be enabled. * Set **upgradePolicy** : **Rolling** and add Application Health Extension/Health Probes as mentioned above. * Set **platformFaultDomainCount** : **5** for virtual machine scale set. For reference, look at the [template](https://github.com/Azure-Samples/service-fabric-cluster-templates/tree/master/15-VM-2-NodeTypes-Windows-Stateless-CrossAZ-Secure) for configuring Stateless node types with multiple Availability Zones ## Networking requirements + ### Public IP and Load Balancer Resource -To enable scaling to more than 100 VMs on a virtual machine scale set resource, the load balancer and IP resource referenced by that virtual machine scale set must both be using a *Standard* SKU. Creating a load balancer or IP resource without the SKU property will create a Basic SKU, which does not support scaling to more than 100 VMs. A Standard SKU load balancer will block all traffic from the outside by default; to allow outside traffic, an NSG must be deployed to the subnet. + +To enable scaling to more than 100 VMs on a virtual machine scale set resource, the load balancer and IP resource referenced by that virtual machine scale set must both be using a *Standard* SKU. Creating an IP resource without the SKU property will create a Basic SKU, which doesn't support scaling to more than 100 VMs. A Standard SKU load balancer blocks all traffic from the outside by default; to allow outside traffic, an NSG must be deployed to the subnet. ```json { @@ -238,7 +240,8 @@ The load balancer inbound NAT rules should match the NAT pools from the virtual ``` ### Standard SKU Load Balancer outbound rules -Standard Load Balancer and Standard Public IP introduce new abilities and different behaviors to outbound connectivity when compared to using Basic SKUs. If you want outbound connectivity when working with Standard SKUs, you must explicitly define it either with Standard Public IP addresses or Standard public Load Balancer. For more information, see [Outbound connections](/azure/load-balancer/load-balancer-outbound-connections) and [Azure Standard Load Balancer](/azure/load-balancer/load-balancer-overview). + +Standard Public IP introduce new abilities and different behaviors to outbound connectivity when compared to using the Basic SKU. If you want outbound connectivity when working with Standard SKUs, you must explicitly define it either with Standard Public IP addresses or Standard public Load Balancer. For more information, see [Outbound connections](/azure/load-balancer/load-balancer-outbound-connections) and [Azure Standard Load Balancer](/azure/load-balancer/load-balancer-overview). >[!NOTE] > The standard template references an NSG which allows all outbound traffic by default. Inbound traffic is limited to the ports that are required for Service Fabric management operations. The NSG rules can be modified to meet your requirements. @@ -249,9 +252,10 @@ Standard Load Balancer and Standard Public IP introduce new abilities and differ ## Migrate to using Stateless node types in a cluster -For all migration scenarios, a new stateless-only node type needs to be added. Existing node type cannot be migrated to be stateless-only. -To migrate a cluster, which was using a Load Balancer and IP with a basic SKU, you must first create an entirely new Load Balancer and IP resource using the standard SKU. It is not possible to update these resources in-place. +For all migration scenarios, a new stateless-only node type needs to be added. Existing node type can't be migrated to be stateless-only. + +To migrate a cluster, which was using an IP with a basic SKU, you must first create an entirely new IP resource using the standard SKU. It is not possible to update these resources in-place. The new LB and IP should be referenced in the new Stateless node types that you would like to use. In the example above, a new virtual machine scale set resources is added to be used for Stateless node types. These virtual machine scale sets reference the newly created LB and IP and are marked as stateless node types in the Service Fabric Cluster Resource. diff --git a/articles/service-fabric/service-fabric-tutorial-monitor-cluster.md b/articles/service-fabric/service-fabric-tutorial-monitor-cluster.md index 1cc27b2094b..63c4783e665 100644 --- a/articles/service-fabric/service-fabric-tutorial-monitor-cluster.md +++ b/articles/service-fabric/service-fabric-tutorial-monitor-cluster.md @@ -6,7 +6,7 @@ ms.author: tomcassidy author: tomvcassidy ms.service: azure-service-fabric services: service-fabric -ms.date: 07/14/2022 +ms.date: 11/14/2024 --- # Tutorial: Monitor a Service Fabric cluster in Azure @@ -189,8 +189,6 @@ ServiceFabricReliableServiceEvent You can see different events for when the service `runasync` is started and completed which typically happens on deployments and upgrades. -![Service Fabric Solution Reliable Services](media/service-fabric-tutorial-monitor-cluster/oms-reliable-services-events-selection.png) - You can also find events for the reliable service with ServiceName == "fabric:/Watchdog/WatchdogService": ```kusto diff --git a/articles/service-fabric/service-fabric-tutorial-monitoring-aspnet.md b/articles/service-fabric/service-fabric-tutorial-monitoring-aspnet.md index b9ce0b946ae..abfd856c142 100644 --- a/articles/service-fabric/service-fabric-tutorial-monitoring-aspnet.md +++ b/articles/service-fabric/service-fabric-tutorial-monitoring-aspnet.md @@ -6,7 +6,7 @@ ms.author: tomcassidy author: tomvcassidy ms.service: azure-service-fabric services: service-fabric -ms.date: 05/17/2024 +ms.date: 11/14/2024 --- # Tutorial: Monitor and diagnose a Service Fabric application by using Application Insights @@ -185,16 +185,12 @@ In the Azure portal, go to your Application Insights resource. Select **Overview** to go back to the overview pane of your resource. Select **Search** to see the traces coming in. It takes a few minutes for traces to appear in Application Insights. If you don't see any traces, wait a minute, and then select the **Refresh** button. -:::image type="content" source="media/service-fabric-tutorial-monitoring-aspnet/ai-search.png" alt-text="Screenshot that shows the Application Insights see traces view."::: - Scroll down in the search window to view all the incoming telemetry that comes with Application Insights. For each action that you took in the Voting application, there should be an outgoing PUT request from *VotingWeb* (PUT Votes/Put [name]), an incoming PUT request from *VotingData* (PUT VoteData/Put [name]), followed by a pair of GET requests for refreshing the data that's displayed. There will also be a dependency trace for HTTP on `localhost` because these requests are HTTP requests. Here's an example of what you see for how one vote is added: :::image type="content" source="media/service-fabric-tutorial-monitoring-aspnet/sample-request.png" alt-text="Screenshot that shows a sample request trace in Application Insights."::: You can select a trace to see more details about it. Application Insights includes useful information about the request, including values for **Response time** and **Request URL**. Because you added the Service Fabric-specific NuGet, you also get data about your application in the context of a Service Fabric cluster in the **Custom Data** section. The data includes the service context, so you can see the **PartitionID** and **ReplicaId** values of the source of the request and better isolate issues when you diagnose errors in your application. -:::image type="content" source="media/service-fabric-tutorial-monitoring-aspnet/trace-details.png" alt-text="Screenshot that shows Application Insights trace details."::: - To go to Application Map, select **Application map** on the resource menu on the **Overview** pane, or select the **App map** icon. The map shows your two services connected. :::image type="content" source="media/service-fabric-tutorial-monitoring-aspnet/app-map-new.png" alt-text="Screenshot that highlights Application map on the resource menu."::: diff --git a/articles/service-fabric/service-fabric-tutorial-monitoring-wincontainers.md b/articles/service-fabric/service-fabric-tutorial-monitoring-wincontainers.md index c8fbaa3f8ef..9d917e6bde9 100644 --- a/articles/service-fabric/service-fabric-tutorial-monitoring-wincontainers.md +++ b/articles/service-fabric/service-fabric-tutorial-monitoring-wincontainers.md @@ -6,7 +6,7 @@ ms.author: tomcassidy author: tomvcassidy ms.service: azure-service-fabric services: service-fabric -ms.date: 07/14/2022 +ms.date: 11/14/2024 --- # Tutorial: Monitor Windows containers on Service Fabric using Azure Monitor logs @@ -187,8 +187,6 @@ Navigate back to your *resource group*, where you should now see the newly added *Note that we ran five instances of the fabrikam container from [part two](service-fabric-host-app-in-a-container.md) of the tutorial* -![Container solution landing page](./media/service-fabric-tutorial-monitoring-wincontainers/solution-landing.png) - Selecting the **Container Monitor Solution** takes you to a more detailed dashboard, which allows you to scroll through multiple panels as well as run queries in Azure Monitor logs. Since the agent is picking up docker logs, it defaults to showing *stdout* and *stderr*. If you scroll horizontally, you'll see container image inventory, status, metrics, and sample queries that you could run to get more helpful data. diff --git a/articles/service-fabric/service-fabric-versions.md b/articles/service-fabric/service-fabric-versions.md index e821e4e91b4..156e65c634f 100644 --- a/articles/service-fabric/service-fabric-versions.md +++ b/articles/service-fabric/service-fabric-versions.md @@ -29,7 +29,7 @@ For currently supported versions, all releases are listed. For currently unsuppo | Service Fabric runtime | Can upgrade directly from | Can downgrade to 1 | Compatible SDK or NuGet package version 2 | Supported .NET runtimes 3 | OS Version | End of support | Link to release notes | | - | - | - | - | - | - | - | - | | 10.1 CU6
10.1.2493.9590 | 9.1 CU6
9.1.1851.9590 | 9.0 | Version 7.1 or earlier | .NET 8 **(.NET 8 runtime support is available starting with Cumulative Update 3.0 (CU3) of version 10.1)**, .NET 7, .NET 6
.NET Framework >= 4.6.2 | [See supported OS version](#supported-windows-versions-and-support-end-date) | Current version | [Release notes](https://github.com/microsoft/service-fabric/blob/master/release_notes/Service_Fabric_ReleaseNotes_101CU6.md) | -| 10.1 CU5
10.1.2448.9590 | 10.0 RTO
10.0.1816.9590 | 10.0 | Version 7.1 or earlier | .NET 8 **(.NET 8 runtime support is available starting with Cumulative Update 3.0 (CU3) of version 10.1)**, .NET 7, .NET 6
.NET Framework >= 4.6.2 | [See supported OS version](#supported-windows-versions-and-support-end-date) | Current version | [Release notes](https://github.com/microsoft/service-fabric/blob/master/release_notes/Service_Fabric_ReleaseNotes_101CU5.md) | +| 10.1 CU5
10.1.2448.9590 | 10.0 RTO**4**
10.0.1816.9590 | 10.0**4** | Version 7.1 or earlier | .NET 8 **(.NET 8 runtime support is available starting with Cumulative Update 3.0 (CU3) of version 10.1)**, .NET 7, .NET 6
.NET Framework >= 4.6.2 | [See supported OS version](#supported-windows-versions-and-support-end-date) | Current version | [Release notes](https://github.com/microsoft/service-fabric/blob/master/release_notes/Service_Fabric_ReleaseNotes_101CU5.md) | | 10.1 CU4
10.1.2338.9590 | 9.1 CU6
9.1.1851.9590 | 9.0 | Version 7.1 or earlier | .NET 8 **(.NET 8 runtime support is available starting with Cumulative Update 3.0 (CU3) of version 10.1)**, .NET 7, .NET 6
.NET Framework >= 4.6.2 | [See supported OS version](#supported-windows-versions-and-support-end-date) | Current version | [Release notes](https://github.com/microsoft/service-fabric/blob/master/release_notes/Service_Fabric_ReleaseNotes_101CU4.md) | | 10.1 CU3
10.1.2175.9590 | 9.1 CU6
9.1.1851.9590 | 9.0 | Version 7.1 or earlier | .NET 8 **(.NET 8 runtime support is available starting with Cumulative Update 3.0 (CU3) of version 10.1)**, .NET 7, .NET 6
.NET Framework >= 4.6.2 | [See supported OS version](#supported-windows-versions-and-support-end-date) | Current version | [Release notes](https://github.com/microsoft/service-fabric/blob/master/release_notes/Service_Fabric_ReleaseNotes_101CU3.md) | | 10.1 CU2
10.1.1951.9590 | 9.1 CU6
9.1.1851.9590 | 9.0 | Version 7.1 or earlier | .NET 7, .NET 6
.NET Framework >= 4.6.2 | [See supported OS version](#supported-windows-versions-and-support-end-date) | Current version | [Release notes](https://github.com/microsoft/service-fabric/blob/master/release_notes/Service_Fabric_ReleaseNotes_101CU2.md) | @@ -67,6 +67,8 @@ For currently supported versions, all releases are listed. For currently unsuppo 3 Service Fabric doesn't provide a .NET Core runtime. The service author is responsible for ensuring it's available. +4 The upgrade and downgrade pathways from 9.1 to 10.1CU5 and vice versa are blocked, resulting in 10.0's listing in these places. These blockages aren't present for other versions of 10.1. + ## Supported Windows versions and support end date Support for Service Fabric on a specific OS ends when support for the OS version reaches its End of Life. @@ -102,7 +104,7 @@ For currently supported versions, all releases are listed. For currently unsuppo | Service Fabric runtime | Can upgrade directly from | Can downgrade to 1 | Compatible SDK or NuGet package version 2 | Supported .NET runtimes 3 | OS version | End of support | Link to release notes | | - | - | - | - | - | - | - | - | | 10.1 CU6
10.1.2319.1 | 9.1 CU6
9.1.1642.1 | 9.0 | Version 7.1 or earlier | .NET 8 **(.NET 8 runtime support is available starting with Cumulative Update 3.0 (CU3) of version 10.1)**, .NET 7, .NET 6 | [See supported OS version](#supported-linux-versions-and-support-end-date) | Current version | [Release notes](https://github.com/microsoft/service-fabric/blob/master/release_notes/Service_Fabric_ReleaseNotes_101CU6.md) | -| 10.1 CU5
10.1.2308.1 | 10.0 RTO
10.0.1728.1 | 10.0 | Version 7.1 or earlier | .NET 8 **(.NET 8 runtime support is available starting with Cumulative Update 3.0 (CU3) of version 10.1)**, .NET 7, .NET 6 | [See supported OS version](#supported-linux-versions-and-support-end-date) | Current version | [Release notes](https://github.com/microsoft/service-fabric/blob/master/release_notes/Service_Fabric_ReleaseNotes_101CU5.md) | +| 10.1 CU5
10.1.2308.1 | 10.0 RTO**4**
10.0.1728.1 | 10.0**4** | Version 7.1 or earlier | .NET 8 **(.NET 8 runtime support is available starting with Cumulative Update 3.0 (CU3) of version 10.1)**, .NET 7, .NET 6 | [See supported OS version](#supported-linux-versions-and-support-end-date) | Current version | [Release notes](https://github.com/microsoft/service-fabric/blob/master/release_notes/Service_Fabric_ReleaseNotes_101CU5.md) | | 10.1 CU4
10.1.2306.1 | 9.1 CU6
9.1.1642.1 | 9.0 | Version 7.1 or earlier | .NET 8 **(.NET 8 runtime support is available starting with Cumulative Update 3.0 (CU3) of version 10.1)**, .NET 7, .NET 6 | [See supported OS version](#supported-linux-versions-and-support-end-date) | Current version | [Release notes](https://github.com/microsoft/service-fabric/blob/master/release_notes/Service_Fabric_ReleaseNotes_101CU4.md) | | 10.1 CU3
10.1.2108.1 | 9.1 CU6
9.1.1642.1 | 9.0 | Version 7.1 or earlier | .NET 8 **(.NET 8 runtime support is available starting with Cumulative Update 3.0 (CU3) of version 10.1)**, .NET 7, .NET 6 | [See supported OS version](#supported-linux-versions-and-support-end-date) | Current version | [Release notes](https://github.com/microsoft/service-fabric/blob/master/release_notes/Service_Fabric_ReleaseNotes_101CU3.md) | | 10.1 CU2
10.1.1885.1 | 9.1 CU6
9.1.1642.1 | 9.0 | Version 7.1 or earlier | .NET 7, .NET 6 | [See supported OS version](#supported-linux-versions-and-support-end-date) | Current version | [Release notes](https://github.com/microsoft/service-fabric/blob/master/release_notes/Service_Fabric_ReleaseNotes_101CU2.md) | @@ -140,6 +142,8 @@ For currently supported versions, all releases are listed. For currently unsuppo 3 Service Fabric doesn't provide a .NET Core runtime and the service author is responsible for ensuring it's available +4 The upgrade and downgrade pathways from 9.1 to 10.1CU5 and vice versa are blocked, resulting in 10.0's listing in these places. These blockages aren't present for other versions of 10.1. + ## Supported Linux versions and support end date Support for Service Fabric on a specific OS ends when support for the OS version reaches its End of Life. diff --git a/articles/service-fabric/toc.yml b/articles/service-fabric/toc.yml index 2196c26d806..26d517f8d47 100644 --- a/articles/service-fabric/toc.yml +++ b/articles/service-fabric/toc.yml @@ -485,6 +485,8 @@ href: how-to-managed-cluster-deploy-with-subnet-per-nodetype.md - name: Scale to zero nodes href: how-to-managed-cluster-scale-to-zero.md + - name: Use IP tags + href: how-to-managed-cluster-ip-tags.md - name: Set up your development environment items: - name: Windows diff --git a/articles/virtual-machines/includes/virtual-machines-disks-expand-without-downtime-restrictions.md b/articles/virtual-machines/includes/virtual-machines-disks-expand-without-downtime-restrictions.md index c8fd7d52381..3fa17de8d97 100644 --- a/articles/virtual-machines/includes/virtual-machines-disks-expand-without-downtime-restrictions.md +++ b/articles/virtual-machines/includes/virtual-machines-disks-expand-without-downtime-restrictions.md @@ -22,12 +22,14 @@ ### Expand with Ultra Disk and Premium SSD v2 Expanding Ultra Disks and Premium SSD v2 disks have the following additional limitations: -- You can't expand a disk while a [background copy](../scripts/create-managed-disk-from-snapshot.md#performance-impact---background-copy-process) of data is also occurring on that disk, like when a disk is being hydrated from snapshots. +- You can't expand a disk while a [background copy](../scripts/create-managed-disk-from-snapshot.md#performance-impact---background-copy-process) of data is also occurring on that disk, like when a disk is being hydrated from [snapshots](https://learn.microsoft.com/azure/virtual-machines/disks-incremental-snapshots?tabs=azure-cli). - You can't expand a VM that's using [NVMe controllers](../nvme-overview.md) for Ultra Disks or Premium SSD v2 disks without downtime. +> [!IMPORTANT] +> Allow up to ten minutes for the correct size to be reflected in Windows VMs and Linux VMs. For Linux VMs, you must perform a [Linux rescan function](https://learn.microsoft.com/azure/virtual-machines/linux/expand-disks?tabs=ubuntu#detecting-a-changed-disk-size) For Windows VM that doesn't have a workload, you must perform a [Windows rescan function](https://learn.microsoft.com/windows-hardware/drivers/devtest/devcon-rescan). You can rescan immediately, but if it's within ten minutes, you might need to rescan again to display the correct size. + #### Regional availability Resizing Ultra Disks and Premium SSD v2 disks is currently available in all Premium SSD v2 and Ultra supported regions except the following: - US West 2 -- West Europe