Skip to content

Commit f1779a7

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into appgw-upd
2 parents 96742b9 + c3bb41c commit f1779a7

File tree

4 files changed

+94
-9
lines changed

4 files changed

+94
-9
lines changed

articles/iot-hub/iot-hub-ip-filter-classic.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ ms.author: kgremban
77
ms.service: iot-hub
88
ms.topic: upgrade-and-migration-article
99
ms.date: 10/16/2020
10+
ROBOTS: NOINDEX
1011
---
1112

1213
# IoT Hub classic IP filter and how to upgrade

articles/iot-hub/iot-hub-ip-filtering.md

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ By default, the **IP Filter** grid in the portal for an IoT hub is empty. This d
2828

2929
## Add or edit an IP filter rule
3030

31-
To add an IP filter rule, select **+ Add IP Filter Rule**. To quickly add your computer's IP address, click the **Add your client IP address**.
31+
To add an IP filter rule, select **Add IP Filter Rule**. To quickly add your computer's IP address, select **Add your client IP address**.
3232

3333
:::image type="content" source="./media/iot-hub-ip-filtering/ip-filter-add-rule.png" alt-text="Screenshot showing how to add an IP filter rule to an IoT hub.":::
3434

@@ -54,9 +54,9 @@ To delete an IP filter rule, select the trash can icon on that row and then sele
5454

5555
:::image type="content" source="./media/iot-hub-ip-filtering/ip-filter-delete-rule.png" alt-text="Screenshot showing how to delete an IoT Hub IP filter rule.":::
5656

57-
## Apply IP filter rules to the built-in Event Hub compatible endpoint
57+
## Apply IP filter rules to the built-in Event Hubs compatible endpoint
5858

59-
To apply the IP filter rules to the built-in Event Hub compatible endpoint, check the box next to **Apply IP filters to the built-in endpoint?**, then select **Save**.
59+
To apply the IP filter rules to the built-in Event Hubs compatible endpoint, check the box next to **Apply IP filters to the built-in endpoint?**, then select **Save**.
6060

6161
:::image type="content" source="media/iot-hub-ip-filtering/ip-filter-built-in-endpoint.png" alt-text="Screenshot showing the toggle for the built-in endpoint.":::
6262

@@ -69,7 +69,7 @@ If you disable this option, the built-in endpoint is accessible to all IP addres
6969

7070
## How filter rules are applied
7171

72-
The IP filter rules are applied at the IoT Hub service level. Therefore, the IP filter rules apply to all connections from devices and back-end apps using any supported protocol. Also, you can choose if the [built-in Event Hub compatible endpoint](iot-hub-devguide-messages-read-builtin.md) (not via the IoT Hub connection string) are bound to these rules.
72+
The IP filter rules are applied at the IoT Hub service level. Therefore, the IP filter rules apply to all connections from devices and back-end apps using any supported protocol. Also, you can choose if the [built-in Event Hubs compatible endpoint](iot-hub-devguide-messages-read-builtin.md) (not via the IoT Hub connection string) are bound to these rules.
7373

7474
Any connection attempt from an IP address that isn't explicitly allowed receives an unauthorized 401 status code and description. The response message does not mention the IP rule. Rejecting IP addresses can prevent other Azure services such as Azure Stream Analytics, Azure Virtual Machines, or the Device Explorer in Azure portal from interacting with the IoT hub.
7575

@@ -163,13 +163,8 @@ $iothubResource | Set-AzResource -Force
163163

164164
## Update IP filter rules using REST
165165

166-
167166
You may also retrieve and modify your IoT Hub's IP filter using Azure resource Provider's REST endpoint. See `properties.networkRuleSets` in [createorupdate method](/rest/api/iothub/iothubresource/createorupdate).
168167

169-
## IP filter (classic) retirement
170-
171-
Classic IP filter has been retired. To learn more, see [IoT Hub classic IP filter and how to upgrade](iot-hub-ip-filter-classic.md).
172-
173168
## Next steps
174169

175170
To further explore the capabilities of IoT Hub, see:

articles/operator-nexus/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,8 @@
118118
href: howto-kubernetes-cluster-action-restart.md
119119
- name: Customize cluster DNS
120120
href: how-to-customize-kubernetes-cluster-dns.md
121+
- name: Customize Worker Nodes
122+
href: howto-kubernetes-cluster-customize-workers.md
121123
- name: Nexus Virtual Machine
122124
expanded: false
123125
items:
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
---
2+
title: "Azure Operator Nexus: Customize Kubernetes worker nodes with a DaemonSet"
3+
description: How-to guide for customizing Kubernetes Worker Nodes with a DaemonSet.
4+
author: joknight
5+
ms.author: joknight
6+
ms.service: azure-operator-nexus
7+
ms.topic: how-to
8+
ms.date: 01/29/2024
9+
ms.custom: template-how-to
10+
---
11+
12+
# Customize worker nodes with a DaemonSet
13+
14+
To meet application requirements, you may need to modify operating system settings, enable a Linux kernel module or install a host-level application package. Use a `DaemonSet` with host privileges to customize worker nodes.
15+
16+
The example `DaemonSet` sets `registry.contoso.com` to bypass the Cloud Services Network proxy for image pulls, installs the SCTP kernel module and sets `fs.inotify.max_user_instances` to `4096`. Finally, the script applies a label to the Kubernetes Node to ensure the DaemonSet only runs once.
17+
18+
19+
```yaml
20+
apiVersion: apps/v1
21+
kind: DaemonSet
22+
metadata:
23+
name: customized
24+
namespace: kube-system
25+
spec:
26+
selector:
27+
matchLabels:
28+
name: customized
29+
template:
30+
metadata:
31+
labels:
32+
name: customized
33+
spec:
34+
affinity:
35+
nodeAffinity:
36+
requiredDuringSchedulingIgnoredDuringExecution:
37+
nodeSelectorTerms:
38+
- matchExpressions:
39+
- key: customized
40+
operator: NotIn
41+
values:
42+
- "1"
43+
tolerations:
44+
- operator: Exists
45+
effect: NoSchedule
46+
containers:
47+
- name: customized
48+
image: mcr.microsoft.com/cbl-mariner/base/core:1.0
49+
command:
50+
- nsenter
51+
- --target
52+
- "1"
53+
- --mount
54+
- --uts
55+
- --ipc
56+
- --net
57+
- --pid
58+
- --
59+
- bash
60+
- -exc
61+
- |
62+
sed -i '/registrycontoso.com/!s/NO_PROXY=/&registry.contoso.com,/' /etc/systemd/system/containerd.service.d/http-proxy.conf
63+
systemctl daemon-reload
64+
systemctl restart containerd
65+
modprobe sctp
66+
sed -i 's/^fs.inotify.max_user_instances.*/fs.inotify.max_user_instances = 4096/' /etc/sysctl.d/90-system-max-limits.conf
67+
kubectl --kubeconfig=/etc/kubernetes/kubelet.conf label node ${HOSTNAME,,} customized=1
68+
sleep infinity
69+
resources:
70+
limits:
71+
memory: 200Mi
72+
requests:
73+
cpu: 100m
74+
memory: 16Mi
75+
securityContext:
76+
privileged: true
77+
hostNetwork: true
78+
hostPID: true
79+
hostIPC: true
80+
terminationGracePeriodSeconds: 0
81+
```
82+
83+
And apply the `Daemonset`:
84+
85+
```bash
86+
kubectl apply -f /path/to/daemonset.yaml
87+
```

0 commit comments

Comments
 (0)