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
> Add-on capabilities for Document Intelligence Studio are available with the Read and Layout models starting with the `2023-02-28-preview` and later releases.
25
+
> Add-on capabilities for Document Intelligence Studio are available with the Read and Layout models starting with the `2023-07-31 (GA)` and later releases.
26
26
>
27
27
> Add-on capabilities are available within all models except for the [Business card model](concept-business-card.md).
28
28
29
-
Document Intelligence now supports more sophisticated analysis capabilities. These optional capabilities can be enabled and disabled depending on the scenario of the document extraction. The following add-on capabilities are available for`2023-02-28-preview` and later releases:
29
+
Document Intelligence supports more sophisticated analysis capabilities. These optional features can be enabled and disabled depending on the scenario of the document extraction. The following add-on capabilities are available for `2023-07-31 (GA)` and later releases:
30
+
31
+
Document Intelligence now supports more sophisticated analysis capabilities. These optional capabilities can be enabled and disabled depending on the scenario of the document extraction. The following add-on capabilities are available for `2023-07-31 (GA)` and later releases:
Document analysis models enable text extraction from forms and documents and return structured business-ready content ready for your organization's action, use, or progress.
44
44
@@ -57,7 +57,7 @@ Document analysis models enable text extraction from forms and documents and ret
57
57
:::column-end:::
58
58
:::row-end:::
59
59
60
-
###Prebuilt models
60
+
## Prebuilt models
61
61
62
62
Prebuilt models enable you to add intelligent document processing to your apps and flows without having to train and build your own models.
63
63
@@ -110,7 +110,7 @@ Prebuilt models enable you to add intelligent document processing to your apps a
110
110
:::column-end:::
111
111
:::row-end:::
112
112
113
-
###Custom models
113
+
## Custom models
114
114
115
115
Custom models are trained using your labeled datasets to extract distinct data from forms and documents, specific to your use cases. Standalone custom models can be combined to create composed models.
116
116
@@ -363,7 +363,17 @@ You can use Document Intelligence to automate document processing in application
363
363
> [!div class="nextstepaction"]
364
364
> [Return to custom model types](#custom-models)
365
365
366
-
### Add-on capabilities
366
+
## Add-on capabilities
367
+
368
+
Document Intelligence supports optional features that can be enabled and disabled depending on the document extraction scenario. The following add-on capabilities are available for`2023-07-31 (GA)` and later releases:
# Use Image Cleaner to clean up stale images on your Azure Kubernetes Service (AKS) cluster
12
12
13
-
It's common to use pipelines to build and deploy images on Azure Kubernetes Service (AKS) clusters. While great for image creation, this process often doesn't account for the stale images left behind and can lead to image bloat on cluster nodes. These images may contain vulnerabilities, which may create security issues. To remove security risks in your clusters, you can clean these unreferenced images. Manually cleaning images can be time intensive. Image Cleaner performs automatic image identification and removal, which mitigates the risk of stale images and reduces the time required to clean them up.
13
+
It's common to use pipelines to build and deploy images on Azure Kubernetes Service (AKS) clusters. While great for image creation, this process often doesn't account for the stale images left behind and can lead to image bloat on cluster nodes. These images might contain vulnerabilities, which might create security issues. To remove security risks in your clusters, you can clean these unreferenced images. Manually cleaning images can be time intensive. Image Cleaner performs automatic image identification and removal, which mitigates the risk of stale images and reduces the time required to clean them up.
14
14
15
15
> [!NOTE]
16
16
> Image Cleaner is a feature based on [Eraser](https://eraser-dev.github.io/eraser).
@@ -27,20 +27,38 @@ Image Cleaner doesn't yet support Windows node pools or AKS virtual nodes.
27
27
28
28
## How Image Cleaner works
29
29
30
-
When you enable Image Cleaner, it deploys an `eraser-controller-manager` pod, which generates an `ImageList` CRD. The eraser pods running on each node clean up any unreferenced and vulnerable images according to the `ImageList`. A [trivy][trivy] scan helps determine vulnerability and flags images with a classification of `LOW`, `MEDIUM`, `HIGH`, or `CRITICAL`. Image Cleaner automatically generates an updated `ImageList` based on a set time interval and can also be supplied manually. Once Image Cleaner generates an `ImageList`, it removes all images in the list from node VMs.
30
+
After you enable Image Cleaner, there will be a controllermanager pod named `eraser-controller-manager` deployed to your cluster.
31
31
32
-
:::image type="content" source="./media/image-cleaner/image-cleaner.jpg" alt-text="Screenshot of a diagram showing ImageCleaner's workflow. The ImageCleaner pods running on the cluster can generate an ImageList, or manual input can be provided.":::
33
-
34
-
## Configuration options
32
+
:::image type="content" source="./media/image-cleaner/Image-cleaner-1015.png" alt-text="Screenshot of a diagram showing ImageCleaner's workflow. The ImageCleaner pods running on the cluster can generate an ImageList, or manual input can be provided.":::
35
33
36
34
With Image Cleaner, you can choose between manual and automatic mode and the following configuration options:
37
35
36
+
## Configuration options
37
+
38
38
|Name|Description|Required|
39
39
|----|-----------|--------|
40
40
|`--enable-image-cleaner`|Enable the Image Cleaner feature for an AKS cluster|Yes, unless disable is specified|
41
41
|`--disable-image-cleaner`|Disable the Image Cleaner feature for an AKS cluster|Yes, unless enable is specified|
42
42
|`--image-cleaner-interval-hours`|This parameter determines the interval time (in hours) Image Cleaner uses to run. The default value for Azure CLI is one week, the minimum value is 24 hours and the maximum is three months.|Not required for Azure CLI, required for ARM template or other clients|
43
43
44
+
### Automatic mode
45
+
Once `eraser-controller-manager` is deployed,
46
+
47
+
- it will start first time's clean up immediately and create worker pods per node named like `eraser-aks-xxxxx`
48
+
- inside each worker pod, there are 3 containers:
49
+
- collector: collect unused images
50
+
- trivy-scanner: leverage [trivy](https://github.com/aquasecurity/trivy) to scan image vulnerabilities
51
+
- remover: remove used images with vulnerabilities
52
+
- after clean up, worker pod will be deleted and its next schedule up is after the `--image-cleaner-interval-hours` you have set
53
+
54
+
### Manual mode
55
+
56
+
You can also manually trigger the clean up by defining a CRD object `ImageList`. Then `eraser-contoller-manager` will create worker pod per node as well to finish manual removal.
57
+
58
+
:::image type="content" source="./media/image-cleaner/Image-cleaner-1015.png" alt-text="Screenshot of a diagram showing ImageCleaner's workflow. The ImageCleaner pods running on the cluster can generate an ImageList, or manual input can be provided.":::
59
+
60
+
61
+
44
62
> [!NOTE]
45
63
> After disabling Image Cleaner, the old configuration still exists. This means if you enable the feature again without explicitly passing configuration, the existing value is used instead of the default.
46
64
@@ -51,7 +69,9 @@ With Image Cleaner, you can choose between manual and automatic mode and the fol
51
69
* Enable Image Cleaner on a new AKS cluster using the [`az aks create`][az-aks-create] command with the `--enable-image-cleaner` parameter.
52
70
53
71
```azurecli-interactive
54
-
az aks create -g myResourceGroup -n myManagedCluster \
72
+
az aks create \
73
+
--resource-group myResourceGroup \
74
+
--name myManagedCluster \
55
75
--enable-image-cleaner
56
76
```
57
77
@@ -60,7 +80,9 @@ With Image Cleaner, you can choose between manual and automatic mode and the fol
60
80
* Enable Image Cleaner on an existing AKS cluster using the [`az aks update`][az-aks-update] command.
61
81
62
82
```azurecli-interactive
63
-
az aks update -g myResourceGroup -n myManagedCluster \
83
+
az aks update \
84
+
--resource-group myResourceGroup \
85
+
--name myManagedCluster \
64
86
--enable-image-cleaner
65
87
```
66
88
@@ -69,46 +91,37 @@ With Image Cleaner, you can choose between manual and automatic mode and the fol
69
91
* Update the Image Cleaner interval on a new or existing AKS cluster using the `--image-cleaner-interval-hours` parameter.
70
92
71
93
```azurecli-interactive
72
-
# Update the interval on a new cluster
73
-
az aks create -g myResourceGroup -n myManagedCluster \
94
+
# Create a new cluster with specifying the interval
95
+
az aks create \
96
+
--resource-group myResourceGroup \
97
+
--name myManagedCluster \
74
98
--enable-image-cleaner \
75
99
--image-cleaner-interval-hours 48
100
+
76
101
# Update the interval on an existing cluster
77
-
az aks update -g myResourceGroup -n myManagedCluster \
102
+
az aks update \
103
+
--resource-group myResourceGroup \
104
+
--name myManagedCluster \
105
+
--enable-image-cleaner \
78
106
--image-cleaner-interval-hours 48
79
107
```
80
108
81
-
After you enable the feature, the `eraser-controller-manager-xxx` pod and `collector-aks-xxx` pod are deployed. The `eraser-aks-xxx` pod contains *three* containers:
- **Collector container**: Collects nonrunning and unused images
85
-
- **Remover container**: Removes these images from cluster nodes
86
-
87
-
Image Cleaner generates an `ImageList` containing nonrunning and vulnerable images at the desired interval based on your configuration. Image Cleaner automatically removes these images from cluster nodes.
88
-
89
109
## Manually remove images using Image Cleaner
90
110
91
-
1. Create an `ImageList` using the following example YAML named `image-list.yml`.
111
+
* Example to manually remove image `docker.io/library/alpine:3.7.3` if it is unused.
92
112
93
-
```yml
94
-
apiVersion: eraser.sh/v1alpha1
113
+
```bash
114
+
cat <<EOF | kubectl apply -f -
115
+
apiVersion: eraser.sh/v1
95
116
kind: ImageList
96
117
metadata:
97
118
name: imagelist
98
119
spec:
99
120
images:
100
121
- docker.io/library/alpine:3.7.3
101
-
// You can also use "*" to specify all non-running images
102
-
```
103
-
104
-
2. Apply the `ImageList` to your cluster using the `kubectl apply` command.
105
-
106
-
```bash
107
-
kubectl apply -f image-list.yml
122
+
EOF
108
123
```
109
124
110
-
Applying the `ImageList` triggers a job named `eraser-aks-xxx`, which causes Image Cleaner to remove the desired images from all nodes. Unlike the `eraser-aks-xxx` pod under autoclean with *three* containers, the eraser-pod here has only *one* container.
111
-
112
125
## Image exclusion list
113
126
114
127
Images specified in the exclusion list aren't removed from the cluster. Image Cleaner supports system and user-defined exclusion lists. It's not supported to edit the system exclusion list.
@@ -118,7 +131,7 @@ Images specified in the exclusion list aren't removed from the cluster. Image Cl
118
131
* Check the system exclusion list using the following `kubectl get` command.
119
132
120
133
```bash
121
-
kubectl get -n kube-system cm eraser-system-exclusion -o yaml
134
+
kubectl get -n kube-system configmap eraser-system-exclusion -o yaml
122
135
```
123
136
124
137
### Create a user-defined exclusion list
@@ -138,76 +151,97 @@ Images specified in the exclusion list aren't removed from the cluster. Image Cl
3. Verify the images are in the exclusion list using the following `kubectl logs` command.
142
-
143
-
```bash
144
-
kubectl logs -n kube-system <eraser-pod-name>
145
-
```
146
-
147
-
## Image Cleaner image logs
148
-
149
-
Deletion image logs are stored in `eraser-aks-nodepool-xxx` pods for manually deleted images and in `collector-aks-nodes-xxx` pods for automatically deleted images.
150
-
151
-
You can view these logs using the `kubectl logs <pod name> -n kubesystem` command. However, this command may return only the most recent logs, since older logs are routinely deleted. To view all logs, follow these steps to enable the [Azure Monitor add-on](./monitor-aks.md) and use the Container Insights pod log table.
152
-
153
-
1. Ensure Azure Monitoring is enabled on your cluster. For detailed steps, see [Enable Container Insights on AKS clusters](../azure-monitor/containers/container-insights-enable-aks.md#existing-aks-cluster).
154
-
155
-
2. Get the Log Analytics resource ID using the [`az aks show`][az-aks-show] command.
156
-
157
-
```azurecli
158
-
az aks show -g myResourceGroup -n myManagedCluster
159
-
```
160
-
161
-
After a few minutes, the command returns JSON-formatted information about the solution, including the workspace resource ID.
3. In the Azure portal, search for the workspace resource ID, then select **Logs**.
175
-
176
-
4. Copy this query into the table, replacing `name` with either `eraser-aks-nodepool-xxx` (for manual mode) or `collector-aks-nodes-xxx` (for automatic mode).
177
-
178
-
```kusto
179
-
let startTimestamp = ago(1h);
180
-
KubePodInventory
181
-
| where TimeGenerated > startTimestamp
182
-
| project ContainerID, PodName=Name, Namespace
183
-
| where PodName contains "name" and Namespace startswith "kube-system"
184
-
| distinct ContainerID, PodName
185
-
| join
186
-
(
187
-
ContainerLog
188
-
| where TimeGenerated > startTimestamp
189
-
)
190
-
on ContainerID
191
-
// at this point before the next pipe, columns from both tables are available to be "projected". Due to both
192
-
// tables having a "Name" column, we assign an alias as PodName to one column which we actually want
- when `eraser-aks-xxxxx` was deleted, you can follow these steps to enable the [Azure Monitor add-on](./monitor-aks.md) and use the Container Insights pod log table to view historical pod logs.
196
+
1. Ensure Azure Monitoring is enabled on your cluster. For detailed steps, see [Enable Container Insights on AKS clusters](../azure-monitor/containers/container-insights-enable-aks.md#existing-aks-cluster).
197
+
198
+
2. Get the Log Analytics resource ID using the [`az aks show`][az-aks-show] command.
199
+
200
+
```azurecli
201
+
az aks show -g myResourceGroup -n myManagedCluster
202
+
```
203
+
204
+
After a few minutes, the command returns JSON-formatted information about the solution, including the workspace resource ID.
0 commit comments