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/container-registry/container-registry-artifact-streaming.md
+39-21Lines changed: 39 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,12 +2,13 @@
2
2
title: "Artifact streaming in Azure Container Registry (Preview)"
3
3
description: "Artifact streaming is a feature in Azure Container Registry to enhance and supercharge managing, scaling, and deploying artifacts through containerized platforms."
4
4
author: tejaswikolli-web
5
-
ms.author: tejaswikolli
6
5
ms.service: container-registry
7
-
ms.custom: devx-track-azurecli
6
+
zone_pivot_groups: container-registry-zones
8
7
ms.topic: conceptual #Don't change
9
-
ms.date: 12/14/2023
10
-
# Customer intent: As a developer, I want artifact streaming capabilities so that I can efficiently deliver and serve containerized applications to end-users in real-time.
8
+
ms.date: 02/26/2024
9
+
ai-usage: ai-assisted
10
+
11
+
#customer intent: As a developer, I want artifact streaming capabilities so that I can efficiently deliver and serve containerized applications to end-users in real-time.
11
12
---
12
13
13
14
# Artifact streaming in Azure Container Registry (Preview)
@@ -18,9 +19,9 @@ Artifact streaming is a feature in Azure Container Registry that allows you to s
18
19
19
20
Here are few scenarios to use artifact streaming:
20
21
21
-
**Deploying containerized applications to multiple regions**: With artifact streaming, you can store container images within a single registry and manage and stream container images to AKS clusters in multiple regions. artifact streaming deploys container applications to multiple regions without consuming time and resources.
22
+
**Deploying containerized applications to multiple regions**: With artifact streaming, you can store container images within a single registry and manage and stream container images to AKS clusters in multiple regions. Artifact streaming deploys container applications to multiple regions without consuming time and resources.
22
23
23
-
**Reducing image pull latency**: Artifact streaming can reduce time to pod readiness by over 15%, depending on the size of the image, and it works best for images < 30GB. This feature reduces image pull latency and fast container startup, which is beneficial for software developers and system architects.
24
+
**Reducing image pull latency**: Artifact streaming can reduce time to pod readiness by over 15%, depending on the size of the image, and it works best for images < 30 GB. This feature reduces image pull latency and fast container startup, which is beneficial for software developers and system architects.
24
25
25
26
**Effective scaling of containerized applications**: Artifact streaming provides the opportunity to design, build, and deploy containerized applications at a high scale.
26
27
@@ -30,39 +31,44 @@ Here are some brief aspects of artifact streaming:
30
31
31
32
* Customers with new and existing registries can start artifact streaming for specific repositories or tags.
32
33
33
-
*Once artifact streaming is started, the original and the streaming artifact will be stored in the customer’s ACR.
34
+
*Customers are able to store both the original and the streaming artifact in the ACR by starting artifact streaming.
34
35
35
-
*If the user decides to turn off artifact streaming for repositories or artifacts, the streaming and the original artifact will still be present.
36
+
*Customers have access to the original and the streaming artifact even after turning off artifact streaming for repositories or artifacts.
36
37
37
-
*If a customer deletes a repository or artifact with artifact streaming and Soft Delete enabled, then both the original and artifact streaming versions will be deleted. However, only the original version will be available on the soft delete blade.
38
+
*Customers with artifact streaming and Soft Delete enabled, deletes a repository or artifact then both the original and artifact streaming versions are deleted. However, only the original version is available on the soft delete portal.
38
39
39
40
## Availability and pricing information
40
41
41
-
Artifact streaming is only available in the **Premium**SKU [service tiers](container-registry-skus.md). Please note that artifact streaming may increase the overall registry storage consumption and customers may be subjected to additional storage charges as outlined in our [pricing](https://azure.microsoft.com/pricing/details/container-registry/) if the consumption exceeds the included 500 GiB Premium SKU threshold.
42
+
Artifact streaming is only available in the **Premium**[service tiers](container-registry-skus.md) (also known as SKUs). Artifact streaming has potential to increase the overall registry storage consumption. Customers are subjected to more storage charges as outlined in our [pricing](https://azure.microsoft.com/pricing/details/container-registry/) if the consumption exceeds the included 500 GiB Premium SKU threshold.
42
43
43
44
## Preview limitations
44
45
45
46
Artifact streaming is currently in preview. The following limitations apply:
46
47
47
48
* Only images with Linux AMD64 architecture are supported in the preview release.
48
-
* The preview release doesn't support Windows-based container images, and ARM64 images.
49
-
* The preview release partially support multi-architecture images, only the AMD64 architecture is supported.
49
+
* The preview release doesn't support Windows-based container images and ARM64 images.
50
+
* The preview release partially support multi-architecture images only the AMD64 architecture is supported.
50
51
* For creating Ubuntu based node pool in AKS, choose Ubuntu version 20.04 or higher.
51
52
* For Kubernetes, use Kubernetes version 1.26 or higher or Kubernetes version > 1.25.
52
-
* Only premium SKU registries support generating streaming artifacts in the preview release. The non-premium SKU registries do not offer this functionality during the preview.
53
+
* Only premium SKU registries support generating streaming artifacts in the preview release. The nonpremium SKU registries don't offer this functionality during the preview.
53
54
* The CMK (Customer-Managed Keys) registries are NOT supported in the preview release.
54
55
* Kubernetes regcred is currently NOT supported.
55
56
56
57
## Prerequisites
57
58
58
-
* You can use the [Azure Cloud Shell][Azure Cloud Shell] or a local installation of the Azure CLI to run the command examples in this article. If you'd like to use it locally, version 2.54.0 or later is required. Run `az --version`to find the version. If you need to install or upgrade, see [Install Azure CLI][Install Azure CLI].
59
+
* You can use the [Azure Cloud Shell][Azure Cloud Shell] or a local installation of the Azure CLI to run the command examples in this article. If you'd like to use it locally, version 2.54.0 or later is required. Run `az --version`for finding the version. If you need to install or upgrade, see [Install Azure CLI][Install Azure CLI].
59
60
60
61
* Sign in to the [Azure portal](https://ms.portal.azure.com/).
61
62
63
+
62
64
## Start artifact streaming
63
65
64
66
Start artifact streaming with a series with Azure CLI commands and Azure portal for pushing, importing, and generating streaming artifacts for container images in an Azure Container Registry (ACR). These instructions outline the process for creating a *Premium*[SKU](container-registry-skus.md) ACR, importing an image, generating a streaming artifact, and managing the artifact streaming operation. Make sure to replace the placeholders with your actual values where necessary.
### Push/Import the image and generate the streaming artifact - Azure CLI
67
73
68
74
Artifact streaming is available in the **Premium** container registry service tier. To start Artifact streaming, update a registry using the Azure CLI (version 2.54.0 or above). To install or upgrade, see [Install Azure CLI](/cli/azure/install-azure-cli).
@@ -115,22 +121,22 @@ Start artifact streaming, by following these general steps:
115
121
116
122
5. Cancel the artifact streaming creation (if needed)
117
123
118
-
Cancel the streaming artifact creation if the conversion is not finished yet. It will stop the operation.
124
+
Cancel the streaming artifact creation if the conversion isn't finished yet. It stops the operation.
119
125
120
126
For example, run the [az acr artifact-streaming operation cancel][az-acr-artifact-streaming-operation-cancel] command to cancel the conversion operation for the `jupyter/all-spark-notebook:latest` image in the `mystreamingtest` ACR.
121
127
122
128
```azurecli-interactive
123
129
az acr artifact-streaming operation cancel --repository jupyter/all-spark-notebook --id c015067a-7463-4a5a-9168-3b17dbe42ca3
124
130
```
125
131
126
-
6. Start auto-conversion on the repository
132
+
6. Start autoconversion on the repository
127
133
128
-
Start auto-conversion in the repository for newly pushed or imported images. When started, new images pushed into that repository will trigger the generation of streaming artifacts.
134
+
Start autoconversion in the repository for newly pushed or imported images. When started, new images pushed into that repository trigger the generation of streaming artifacts.
129
135
130
136
>[!NOTE]
131
137
> Auto-conversion does not apply to existing images. Existing images can be manually converted.
132
138
133
-
For example, run the [az acr artifact-streaming update][az-acr-artifact-streaming-update] command to start auto-conversion for the `jupyter/all-spark-notebook` repository in the `mystreamingtest` ACR.
139
+
For example, run the [az acr artifact-streaming update][az-acr-artifact-streaming-update] command to start autoconversion for the `jupyter/all-spark-notebook` repository in the `mystreamingtest` ACR.
134
140
135
141
```azurecli-interactive
136
142
az acr artifact-streaming update --repository jupyter/all-spark-notebook --enable-streaming true
@@ -144,10 +150,18 @@ Start artifact streaming, by following these general steps:
144
150
az acr artifact-streaming operation show --image jupyter/all-spark-notebook:newtag
145
151
```
146
152
153
+
154
+
:::zone-end
155
+
156
+
147
157
>[!NOTE]
148
158
> Artifact streaming can work across regions, regardless of whether geo-replication is started or not.
149
159
> Artifact streaming can work through a private endpoint and attach to it.
### Push/Import the image and generate the streaming artifact - Azure portal
152
166
153
167
Artifact streaming is available in the *premium* [SKU](container-registry-skus.md) Azure Container Registry. To start artifact streaming, update a registry using the Azure portal.
@@ -171,23 +185,27 @@ Follow the steps to create artifact streaming in the [Azure portal](https://port
171
185
> [!div class="mx-imgBorder"]
172
186
> [](./media/container-registry-artifact-streaming/02-artifact-streaming-generated-expanded.png#lightbox)
173
187
174
-
6. You can also delete the artifact streaming from the repository blade.
188
+
6. You can also delete the artifact streaming from the repository.
175
189
176
190
> [!div class="mx-imgBorder"]
177
191
> [](./media/container-registry-artifact-streaming/04-delete-artifact-streaming-expanded.png#lightbox)
178
192
179
-
7. You can also enable auto-conversion on the repository blade. Active means auto-conversion is enabled on the repository. Inactive means auto-conversion is disabled on the repository.
193
+
7. You can also enable autoconversion by accessing the repository on portal. Active means autoconversion is enabled on the repository. Inactive means autoconversion is disabled on the repository.
180
194
181
195
> [!div class="mx-imgBorder"]
182
196
> [](./media/container-registry-artifact-streaming/03-start-artifact-streaming-expanded.png#lightbox)
183
197
184
198
> [!NOTE]
185
199
> The state of artifact streaming in a repository (inactive or active) determines whether newly pushed compatible images will be automatically converted. By default, all repositories are in an inactive state for artifact streaming. This means that when new compatible images are pushed to the repository, artifact streaming will not be triggered, and the images will not be automatically converted. If you want to start automatic conversion of newly pushed images, you need to set the repository's artifact streaming to the active state. Once the repository is in the active state, any new compatible container images that are pushed to the repository will trigger artifact streaming. This will start the automatic conversion of those images.
Copy file name to clipboardExpand all lines: articles/container-registry/troubleshoot-artifact-streaming.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,14 @@
1
1
---
2
-
title: "Troubleshoot artifact streaming"
3
-
description: "Troubleshoot artifact streaming in Azure Container Registry to diagnose and resolve with managing, scaling, and deploying artifacts through containerized platforms."
2
+
title: "Troubleshoot Artifact streaming"
3
+
description: "Troubleshoot Artifact streaming in Azure Container Registry to diagnose and resolve with managing, scaling, and deploying artifacts through containerized platforms."
4
4
ms.author: tejaswikolli
5
5
ms.service: container-registry
6
6
ms.topic: troubleshooting-general #Don't change.
7
7
ms.date: 10/31/2023
8
8
9
9
---
10
10
11
-
# Troubleshoot artifact streaming
11
+
# Troubleshoot Artifact streaming
12
12
13
13
The troubleshooting steps in this article can help you resolve common issues that you might encounter when using artifact streaming in Azure Container Registry (ACR). These steps and recommendations can help diagnose and resolve issues related to artifact streaming as well as provide insights into the underlying processes and logs for debugging purposes.
14
14
@@ -17,7 +17,7 @@ The troubleshooting steps in this article can help you resolve common issues tha
17
17
* Conversion operation failed due to an unknown error.
18
18
* Troubleshooting Failed AKS Pod Deployments.
19
19
* Pod conditions indicate "UpgradeIfStreamableDisabled."
20
-
*Using Digest Instead of Tag for Streaming Artifact
20
+
* Digest usage instead of Tag for Streaming Artifact.
21
21
22
22
## Causes
23
23
@@ -30,16 +30,16 @@ The troubleshooting steps in this article can help you resolve common issues tha
30
30
| Error Code | Error Message | Troubleshooting Info |
| UNKNOWN_ERROR | Conversion operation failed due to an unknown error. | Caused by an internal error. A retry helps here. If retry is unsuccessful, contact support. |
33
-
| RESOURCE_NOT_FOUND | Conversion operation failed because target resource isn't found. | If the target image isn't found in the registry. Verify typos in the image digest, if the image is deleted, or missing in the target region (replication consistency is not immediate for example) |
34
-
| UNSUPPORTED_PLATFORM | Conversion is not currently supported for image platform. | Only linux/amd64 images are initially supported. |
35
-
| NO_SUPPORTED_PLATFORM_FOUND | Conversion is not currently supported for any of the image platforms in the index. | Only linux/amd64 images are initially supported. No image with this platform is found in the target index. |
36
-
| UNSUPPORTED_MEDIATYPE | Conversion is not supported for the image MediaType. | Conversion can only target images with media type: application/vnd.oci.image.manifest.v1+json, application/vnd.oci.image.index.v1+json, application/vnd.docker.distribution.manifest.v2+json or application/vnd.docker.distribution.manifest.list.v2+json |
33
+
| RESOURCE_NOT_FOUND | Conversion operation failed because target resource isn't found. | If the target image isn't found in the registry, verify typos in the image digest. If the image is deleted, or missing in the target region (replication consistency isn't immediate for example) |
34
+
| UNSUPPORTED_PLATFORM | Conversion isn't currently supported for image platform. | Only linux/amd64 images are initially supported. |
35
+
| NO_SUPPORTED_PLATFORM_FOUND | Conversion isn't currently supported for any of the image platforms in the index. | Only linux/amd64 images are initially supported. No image with this platform is found in the target index. |
36
+
| UNSUPPORTED_MEDIATYPE | Conversion isn't supported for the image MediaType. | Conversion can only target images with media type: application/vnd.oci.image.manifest.v1+json, application/vnd.oci.image.index.v1+json, application/vnd.docker.distribution.manifest.v2+json, or application/vnd.docker.distribution.manifest.list.v2+json |
37
37
| UNSUPPORTED_ARTIFACT_TYPE | Conversion isn't supported for the image ArtifactType. | Streaming Artifacts (Artifact type: application/vnd.azure.artifact.streaming.v1) can't be converted again. |
38
38
| IMAGE_NOT_RUNNABLE | Conversion isn't supported for nonrunnable images. | Only linux/amd64 runnable images are initially supported. |
39
39
40
40
## Troubleshooting Failed AKS Pod Deployments
41
41
42
-
If AKS pod deployment fails with an error related to image pulling, like the following example
42
+
If AKS pod deployment fails with an error related to image pulling, like the following example.
43
43
44
44
```bash
45
45
Failed to pull image "mystreamingtest.azurecr.io/jupyter/all-spark-notebook:latest":
@@ -49,9 +49,9 @@ failed to resolve reference "mystreamingtest.azurecr.io/jupyter/all-spark-notebo
49
49
unexpected status from HEAD request to http://localhost:8578/v2/jupyter/all-spark-notebook/manifests/latest?ns=mystreamingtest.azurecr.io:503 Service Unavailable
50
50
```
51
51
52
-
To troubleshoot this issue, you should check the following:
52
+
To troubleshoot this issue, you should check the following guidelines:
53
53
54
-
1. Verify if the AKS has permissions to access the container registry `mystreamingtest.azurecr.io`
54
+
1. Verify if the AKS has permissions to access the container registry `mystreamingtest.azurecr.io`.
55
55
1. Ensure that the container registry `mystreamingtest.azurecr.io` is accessible and properly attached to AKS.
56
56
57
57
## Checking for "UpgradeIfStreamableDisabled" Pod Condition:
0 commit comments