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/iot-operations/deploy-iot-ops/concept-production-guidelines.md
+16-15Lines changed: 16 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,7 +24,7 @@ Currently, K3s on Ubuntu 20.04 is the only generally available platform for depl
24
24
25
25
Ensure that your hardware setup is sufficient for your scenario and that you begin with a secure environment.
26
26
27
-
**System configuration**
27
+
### System configuration
28
28
29
29
Create an Arc-enabled K3s cluster that meets the system requirements.
30
30
@@ -34,67 +34,68 @@ Create an Arc-enabled K3s cluster that meets the system requirements.
34
34
*[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.
35
35
**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.
36
36
37
-
**Security**
37
+
### Security
38
38
39
39
Consider the following measures to ensure your cluster setup is secure before deployment.
40
40
41
41
*[Validate images](../secure-iot-ops/howto-validate-images.md) to ensure they're signed by Microsoft.
42
42
* 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.
43
43
*[Use secrets](../secure-iot-ops/howto-manage-secrets.md) for on-premises authentication.
44
44
* 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.
46
46
47
-
**Networking**
47
+
### Networking
48
48
49
49
If you use enterprise firewalls or proxies, add the [Azure IoT Operations endpoints](./overview-deploy.md#azure-iot-operations-endpoints) to your allowlist.
50
50
51
-
**Observability**
51
+
### Observability
52
52
53
53
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).
54
54
55
-
###Deployment
55
+
## Deployment
56
56
57
57
For a production-ready deployment, include the following configurations during the Azure IoT Operations deployment.
58
58
59
-
**MQTT broker**
59
+
### MQTT broker
60
60
61
61
In the Azure portal deployment wizard, the broker resource is set up in the **Configuration** tab.
62
62
63
63
*[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:
64
64
65
65
| Setting | Single node | Multi node |
66
66
| ------- | ----------- | ---------- |
67
-
|**frontendReplicas**|1| 5 |
67
+
|**frontendReplicas**|2| 5 |
68
68
|**frontendWorkers**| 4 | 8 |
69
69
|**backendRedundancyFactor**| 2 | 2 |
70
70
|**backendWorkers**| 1 | 4 |
71
71
|**backendPartitions**| 1 | 5 |
72
72
|[Memory profile](../manage-mqtt-broker/howto-configure-availability-scale.md#configure-memory-profile)| Low | High |
* Set [disk-backed message buffer](../manage-mqtt-broker/howto-disk-backed-message-buffer.md) with a max size that prevents RAM overflow.
76
77
77
-
**Schema registry and storage**
78
+
### Schema registry and storage
78
79
79
80
In the Azure portal deployment wizard, the schema registry and its required storage account are set up in the **Dependency management** tab.
80
81
81
82
* The storage account must have public network access enabled.
82
83
* The storage account must have hierarchical namespace enabled.
83
84
* The schema registry's managed identity must have contributor permissions for the storage account.
84
85
85
-
**Fault tolerance**
86
+
### Fault tolerance
86
87
87
88
*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.
88
89
89
-
**Secure settings**
90
+
### Secure settings
90
91
91
92
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).
92
93
93
-
###Post-deployment
94
+
## Post-deployment
94
95
95
96
After deploying Azure IoT Operations, have the following configurations in place for a production scenario.
96
97
97
-
**MQTT broker**
98
+
### MQTT broker
98
99
99
100
After deployment, you can [edit BrokerListener resources](../manage-mqtt-broker/howto-configure-brokerlistener.md):
100
101
@@ -109,14 +110,14 @@ When you create a new resource, manage its authorization:
109
110
110
111
*[Create a BrokerAuthorization resource](../manage-mqtt-broker/howto-configure-authorization.md) and provide the least privilege needed for the topic asset.
111
112
112
-
**OPC UA broker**
113
+
### OPC UA broker
113
114
114
115
For connecting to assets at production, [configure OPC UA authentication](../discover-manage-assets/overview-opcua-broker-certificates-management.md):
115
116
116
117
* Don't use no-auth. Connectivity to OPC UA servers isn't supported without authentication.
117
118
* 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).
Copy file name to clipboardExpand all lines: articles/iot-operations/deploy-iot-ops/howto-enable-secure-settings.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -156,7 +156,7 @@ Follow these steps to set up Secrets Management:
156
156
157
157
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.
158
158
159
-
## Set up user-assigned managed identity for cloud connections
159
+
## Set up a user-assigned managed identity for cloud connections
160
160
161
161
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.
0 commit comments