You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/service-fabric/service-fabric-dnsservice.md
+15-16Lines changed: 15 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,8 +9,8 @@ services: service-fabric
9
9
ms.date: 07/14/2022
10
10
---
11
11
12
-
# DNS Service in Azure Service Fabric
13
-
DNS Service is an optional system service that you can enable in your cluster to discover other services using the DNS protocol.
12
+
# DNS service in Azure Service Fabric
13
+
DNS service is an optional system service that you can enable in your cluster to discover other services using the DNS protocol.
14
14
15
15
Many services, especially containerized services, are addressable through a pre-existing URL. Being able to resolve these services using the standard DNS protocol, rather than the Service Fabric Naming Service protocol, is desirable. DNS service enables you to map DNS names to a service name and hence resolve endpoint IP addresses. Such functionality maintains the portability of containerized services across different platforms and can make "lift and shift" scenarios easier, by letting you use existing service URLs rather than having to rewrite code to leverage the Naming Service.
16
16
@@ -35,7 +35,7 @@ DNS service is supported on both Windows and Linux clusters, although support fo
35
35
36
36
## Enabling DNS service
37
37
> [!NOTE]
38
-
> Enabling DNS service when developing on a local machine will override some DNS settings. If you experience issues connecting to the internet, check your DNS settings.
38
+
> Enabling DNS service will override some DNS settings on the nodes. If you experience issues connecting to the internet, check your DNS settings.
39
39
40
40
### New clusters
41
41
#### Clusters using ARM templates
@@ -95,7 +95,7 @@ After you have a template, you can enable DNS service with the following steps:
95
95
}
96
96
```
97
97
98
-
- To enable the service with other than default settings, add a `DnsService` section to the `fabricSettings` section inside the `properties` section. In this case, you don't need to add the DnsService to `addonFeatures`. To learn more about the properties that can be set for DNS Service, see [DNS Service settings](./service-fabric-cluster-fabric-settings.md#dnsservice).
98
+
- To enable the service with other than default settings, add a `DnsService` section to the `fabricSettings` section inside the `properties` section. In this case, you don't need to add the DnsService to `addonFeatures`. To learn more about the properties that can be set for DNS service, see [DNS service settings](./service-fabric-cluster-fabric-settings.md#dnsservice).
99
99
100
100
```json
101
101
"properties": {
@@ -220,7 +220,7 @@ You can set the DNS name for a service when creating it by using the `New-Servic
220
220
New-ServiceFabricService `
221
221
-Stateless `
222
222
-PartitionSchemeSingleton `
223
-
-ApplicationName `fabric:/application1 `
223
+
-ApplicationName fabric:/application1 `
224
224
-ServiceName fabric:/application1/stateless1 `
225
225
-ServiceTypeName Stateless1Type `
226
226
-InstanceCount 1 `
@@ -245,7 +245,7 @@ Once the service is deployed with the DNS name, Service Fabric Explorer will sho
245
245
> This view may be different depending on the version of Service Fabric Explorer used, however, the DNS name field should be visible in some form on the service page.
246
246
247
247
## Making DNS queries on a stateful service partition
248
-
Beginning with Service Fabric version 6.3, the Service Fabric DNS service supports queries for service partitions. To enable support for partitioned service queries, the [cluster configuration settings for DNS Service](./service-fabric-cluster-fabric-settings.md#dnsservice) must be updated to set option `EnablePartitionedQuery` to `true`.
248
+
Beginning with Service Fabric version 6.3, DNS service supports queries for service partitions. To enable support for partitioned service queries, the [DNS service settings](./service-fabric-cluster-fabric-settings.md#dnsservice) must be updated to set option `EnablePartitionedQuery` to `true`.
249
249
250
250
For partitions that will be used in DNS queries, the following naming restrictions apply:
251
251
@@ -261,9 +261,9 @@ DNS queries that target a partition are formatted as follows:
261
261
Where:
262
262
263
263
-*First-Label-Of-Partitioned-Service-DNSName* is the first part of your service DNS name.
264
-
-*PartitionPrefix* is a value that can be set in the DnsService section of the cluster manifest or through the cluster's Resource Manager template. The default value is "--". To learn more, see [DNS Service settings](./service-fabric-cluster-fabric-settings.md#dnsservice).
264
+
-*PartitionPrefix* is a value that can be set in the DnsService section of the cluster manifest or through the cluster's ARM template. The default value is "--". To learn more, see [DNS service settings](./service-fabric-cluster-fabric-settings.md#dnsservice).
265
265
-*Target-Partition-Name* is the name of the partition.
266
-
-*PartitionSuffix* is a value that can be set in the DnsService section of the cluster manifest or through the cluster's Resource Manager template. The default value is empty string. To learn more, see [DNS Service settings](./service-fabric-cluster-fabric-settings.md#dnsservice).
266
+
-*PartitionSuffix* is a value that can be set in the DnsService section of the cluster manifest or through the cluster's ARM template. The default value is empty string. To learn more, see [DNS service settings](./service-fabric-cluster-fabric-settings.md#dnsservice).
267
267
-*Remaining-Partitioned-Service-DNSName* is the remaining part of your service DNS name.
268
268
269
269
The following examples show DNS queries for partitioned services running on a cluster that has default settings for `PartitionPrefix` and `PartitionSuffix`:
@@ -274,7 +274,7 @@ The following examples show DNS queries for partitioned services running on a cl
274
274
DNS service returns the IP address of the endpoint associated with the primary replica of the partition. If no partition is specified, DNS service will randomly select a partition.
275
275
276
276
## Using DNS names in your services
277
-
If you deploy services with DNS names, you can find the IP address of the exposed endpoints by referencing the DNS name. DNS service works for stateless services, and, in Service Fabric version 6.3 and later, for stateful services. For stateful services running on versions of Service Fabric prior to 6.3, you can use the built-in [reverse proxy service](./service-fabric-reverseproxy.md) for http calls to call a particular service partition.
277
+
If you deploy services with DNS names, you can find the IP address of the exposed endpoints by referencing the DNS name. DNS service works for stateless services, and, in Service Fabric version 6.3 and later, for stateful services. For stateful services running on versions of Service Fabric prior to 6.3, you can use the built-in [reverse proxy service](./service-fabric-reverseproxy.md) for HTTP calls to call a particular service partition.
278
278
279
279
Dynamic ports are not supported by DNS service. You can use the reverse proxy service to resolve services that use dynamic ports.
280
280
@@ -333,8 +333,8 @@ public class ValuesController : Controller
333
333
}
334
334
}
335
335
```
336
-
## Recursive Queries
337
336
337
+
## Recursive queries
338
338
For DNS names that DNS service can't resolve on its own (for example, a public DNS name), it will forward the query to pre-existing recursive DNS servers on the nodes.
339
339
340
340

@@ -343,19 +343,18 @@ Prior to Service Fabric 9.0, these servers were queried serially until a respons
343
343
344
344
Beginning in Service Fabric 9.0, support for parallel recursive queries was added. With parallel queries, all recursive DNS servers can be contacted at once, where the first response wins. This will result in quicker responses in the scenario previously mentioned. This option is not enabled by default, although this may change in a future update.
345
345
346
-
Fine-grained options are also introduced in Service Fabric 9.0 to control the behavior of the recursive queries, including the timeout periods and query attempts. These options can be set in the [cluster configuration settings for DNS Service](./service-fabric-cluster-fabric-settings.md#dnsservice):
346
+
Fine-grained options are also introduced in Service Fabric 9.0 to control the behavior of the recursive queries, including the timeout periods and query attempts. These options can be set in the [DNS service settings](./service-fabric-cluster-fabric-settings.md#dnsservice):
347
347
348
348
-**RecursiveQuerySerialMaxAttempts** - The number of serial queries that will be attempted, at most. If this number is higher than the amount of forwarding DNS servers, querying will stop once all the servers have been attempted exactly once.
349
349
-**RecursiveQuerySerialTimeout** - The timeout value in seconds for each attempted serial query.
350
350
-**RecursiveQueryParallelMaxAttempts** - The number of times parallel queries will be attempted. Parallel queries are executed after the max attempts for serial queries have been exhausted.
351
351
-**RecursiveQueryParallelTimeout** - The timeout value in seconds for each attempted parallel query.
352
352
353
-
354
353
## Limitations and known issues
355
354
* Dynamic ports are not supported by DNS service. To resolve services exposed on dynamic ports, use the [reverse proxy service](./service-fabric-reverseproxy.md).
356
-
* Support for Linux is currently limited to containerized services. Process-based services on Linux currently cannot use DNS Service.
357
-
* DNS Service for Linux clusters cannot be enabled through Azure Portal.
358
-
* If a DNS name is changed for a service, the name updates may not be immediately visible in some scenarios. To resolve the issue, DNS Service instances should be restarted across the cluster.
355
+
* Support for Linux is currently limited to containerized services. Process-based services on Linux currently cannot use DNS service.
356
+
* DNS service for Linux clusters cannot be enabled through Azure Portal.
357
+
* If a DNS name is changed for a service, the name updates may not be immediately visible in some scenarios. To resolve the issue, DNS service instances should be restarted across the cluster.
359
358
360
359
## Next steps
361
-
Learn more about service communication within the cluster with [connect and communicate with services](service-fabric-connect-and-communicate-with-services.md)
360
+
Learn more about service communication within the cluster with [connect and communicate with services](service-fabric-connect-and-communicate-with-services.md)
0 commit comments