Skip to content

Commit d11b924

Browse files
committed
Fix link; formatting
1 parent 90a0fc5 commit d11b924

File tree

2 files changed

+17
-16
lines changed

2 files changed

+17
-16
lines changed

articles/iot-operations/deploy-iot-ops/concept-production-guidelines.md

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Currently, K3s on Ubuntu 20.04 is the only generally available platform for depl
2424

2525
Ensure that your hardware setup is sufficient for your scenario and that you begin with a secure environment.
2626

27-
**System configuration**
27+
### System configuration
2828

2929
Create an Arc-enabled K3s cluster that meets the system requirements.
3030

@@ -34,67 +34,68 @@ Create an Arc-enabled K3s cluster that meets the system requirements.
3434
* [Turn off auto-upgrade for Azure Arc](/azure/azure-arc/kubernetes/agent-upgrade#toggle-automatic-upgrade-on-or-off-when-connecting-a-cluster-to-azure-arc) to have complete control over when new updates are applied to your cluster.
3535
* *For multi-node clusters*: [Configure clusters with Edge Volumes](./howto-prepare-cluster.md#configure-multi-node-clusters-for-azure-container-storage) to prepare for enabling fault tolerance during deployment.
3636

37-
**Security**
37+
### Security
3838

3939
Consider the following measures to ensure your cluster setup is secure before deployment.
4040

4141
* [Validate images](../secure-iot-ops/howto-validate-images.md) to ensure they're signed by Microsoft.
4242
* When doing TLS encryption, [bring your own issuer](../secure-iot-ops/concept-default-root-ca.md#bring-your-own-issuer) and integrate with an enterprise PKI.
4343
* [Use secrets](../secure-iot-ops/howto-manage-secrets.md) for on-premises authentication.
4444
* Keep your cluster and Azure IoT Operations deployment up to date with the latest patches and minor releases to get all available security and bug fixes.
45-
* Use [user-assigned managed identities](./howto-enable-secure-settings.md#set-up-user-assigned-managed-identity-for-cloud-connections) for cloud connections.
45+
* Use [user-assigned managed identities](./howto-enable-secure-settings.md#set-up-a-user-assigned-managed-identity-for-cloud-connections) for cloud connections.
4646

47-
**Networking**
47+
### Networking
4848

4949
If you use enterprise firewalls or proxies, add the [Azure IoT Operations endpoints](./overview-deploy.md#azure-iot-operations-endpoints) to your allowlist.
5050

51-
**Observability**
51+
### Observability
5252

5353
For production deployments, [deploy observability resources](../configure-observability-monitoring/howto-configure-observability.md) on your cluster before deploying Azure IoT Operations. We also recommend setting up [Prometheus alerts in Azure Monitor](/azure/azure-monitor/alerts/prometheus-alerts).
5454

55-
### Deployment
55+
## Deployment
5656

5757
For a production-ready deployment, include the following configurations during the Azure IoT Operations deployment.
5858

59-
**MQTT broker**
59+
### MQTT broker
6060

6161
In the Azure portal deployment wizard, the broker resource is set up in the **Configuration** tab.
6262

6363
* [Configure cardinality settings](../manage-mqtt-broker/howto-configure-availability-scale.md#configure-cardinality-directly) based on memory profile and needs for handling connections and messages. For example, the following settings could support a single-node or multi-node cluster:
6464

6565
| Setting | Single node | Multi node |
6666
| ------- | ----------- | ---------- |
67-
| **frontendReplicas** | 1 | 5 |
67+
| **frontendReplicas** | 2 | 5 |
6868
| **frontendWorkers** | 4 | 8 |
6969
| **backendRedundancyFactor** | 2 | 2 |
7070
| **backendWorkers** | 1 | 4 |
7171
| **backendPartitions** | 1 | 5 |
7272
| [Memory profile](../manage-mqtt-broker/howto-configure-availability-scale.md#configure-memory-profile) | Low | High |
7373

7474
* [Encrypt internal traffic](../manage-mqtt-broker/howto-encrypt-internal-traffic.md).
75+
7576
* Set [disk-backed message buffer](../manage-mqtt-broker/howto-disk-backed-message-buffer.md) with a max size that prevents RAM overflow.
7677

77-
**Schema registry and storage**
78+
### Schema registry and storage
7879

7980
In the Azure portal deployment wizard, the schema registry and its required storage account are set up in the **Dependency management** tab.
8081

8182
* The storage account must have public network access enabled.
8283
* The storage account must have hierarchical namespace enabled.
8384
* The schema registry's managed identity must have contributor permissions for the storage account.
8485

85-
**Fault tolerance**
86+
### Fault tolerance
8687

8788
*Multi-node clusters*: Fault tolerance can be enabled in the **Dependency management** tab of the Azure portal deployment wizard. It's only supported on multi-node clusters, and is recommended for production deployment.
8889

89-
**Secure settings**
90+
### Secure settings
9091

9192
During deployment, you have the option to use test settings or secure settings. For production deployments, choose secure settings. If you're upgrading an existing test settings deployment for production, follow the steps in [Enable secure settings](./howto-enable-secure-settings.md).
9293

93-
### Post-deployment
94+
## Post-deployment
9495

9596
After deploying Azure IoT Operations, have the following configurations in place for a production scenario.
9697

97-
**MQTT broker**
98+
### MQTT broker
9899

99100
After deployment, you can [edit BrokerListener resources](../manage-mqtt-broker/howto-configure-brokerlistener.md):
100101

@@ -109,14 +110,14 @@ When you create a new resource, manage its authorization:
109110

110111
* [Create a BrokerAuthorization resource](../manage-mqtt-broker/howto-configure-authorization.md) and provide the least privilege needed for the topic asset.
111112

112-
**OPC UA broker**
113+
### OPC UA broker
113114

114115
For connecting to assets at production, [configure OPC UA authentication](../discover-manage-assets/overview-opcua-broker-certificates-management.md):
115116

116117
* Don't use no-auth. Connectivity to OPC UA servers isn't supported without authentication.
117118
* Set up a secure connection to OPC UA server. Use a production PKI and [configure application certificates](../discover-manage-assets/howto-configure-opcua-certificates-infrastructure.md#configure-a-self-signed-application-instance-certificate) and [trust list](../discover-manage-assets/howto-configure-opcua-certificates-infrastructure.md#configure-the-trusted-certificates-list).
118119

119-
**Dataflows**
120+
### Dataflows
120121

121122
When using dataflows in production:
122123

articles/iot-operations/deploy-iot-ops/howto-enable-secure-settings.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ Follow these steps to set up Secrets Management:
156156
157157
Now that secret synchronization setup is complete, you can refer to [Manage Secrets](./howto-manage-secrets.md) to learn how to use secrets with Azure IoT Operations.
158158
159-
## Set up user-assigned managed identity for cloud connections
159+
## Set up a user-assigned managed identity for cloud connections
160160
161161
Some Azure IoT Operations components like dataflow endpoints use user-assigned managed identity for cloud connections. It's recommended to use a separate identity from the one used to set up Secrets Management.
162162

0 commit comments

Comments
 (0)