Skip to content

Commit 1a2a4fd

Browse files
Merge pull request #267465 from tejaswikolli-web/Artifact-streaming
edits
2 parents ddb9541 + 7bd9a34 commit 1a2a4fd

File tree

3 files changed

+60
-32
lines changed

3 files changed

+60
-32
lines changed

articles/container-registry/container-registry-artifact-streaming.md

Lines changed: 39 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22
title: "Artifact streaming in Azure Container Registry (Preview)"
33
description: "Artifact streaming is a feature in Azure Container Registry to enhance and supercharge managing, scaling, and deploying artifacts through containerized platforms."
44
author: tejaswikolli-web
5-
ms.author: tejaswikolli
65
ms.service: container-registry
7-
ms.custom: devx-track-azurecli
6+
zone_pivot_groups: container-registry-zones
87
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.
1112
---
1213

1314
# 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
1819

1920
Here are few scenarios to use artifact streaming:
2021

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.
2223

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.
2425

2526
**Effective scaling of containerized applications**: Artifact streaming provides the opportunity to design, build, and deploy containerized applications at a high scale.
2627

@@ -30,39 +31,44 @@ Here are some brief aspects of artifact streaming:
3031

3132
* Customers with new and existing registries can start artifact streaming for specific repositories or tags.
3233

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.
3435

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.
3637

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.
3839

3940
## Availability and pricing information
4041

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.
4243

4344
## Preview limitations
4445

4546
Artifact streaming is currently in preview. The following limitations apply:
4647

4748
* 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.
5051
* For creating Ubuntu based node pool in AKS, choose Ubuntu version 20.04 or higher.
5152
* 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.
5354
* The CMK (Customer-Managed Keys) registries are NOT supported in the preview release.
5455
* Kubernetes regcred is currently NOT supported.
5556

5657
## Prerequisites
5758

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].
5960

6061
* Sign in to the [Azure portal](https://ms.portal.azure.com/).
6162

63+
6264
## Start artifact streaming
6365

6466
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.
6567

68+
<!-- markdownlint-disable MD044 -->
69+
:::zone target="docs" pivot="development-environment-azure-cli"
70+
<!-- markdownlint-enable MD044 -->
71+
6672
### Push/Import the image and generate the streaming artifact - Azure CLI
6773

6874
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:
115121
116122
5. Cancel the artifact streaming creation (if needed)
117123
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.
119125
120126
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.
121127
122128
```azurecli-interactive
123129
az acr artifact-streaming operation cancel --repository jupyter/all-spark-notebook --id c015067a-7463-4a5a-9168-3b17dbe42ca3
124130
```
125131
126-
6. Start auto-conversion on the repository
132+
6. Start autoconversion on the repository
127133
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.
129135
130136
>[!NOTE]
131137
> Auto-conversion does not apply to existing images. Existing images can be manually converted.
132138
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.
134140
135141
```azurecli-interactive
136142
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:
144150
az acr artifact-streaming operation show --image jupyter/all-spark-notebook:newtag
145151
```
146152
153+
154+
:::zone-end
155+
156+
147157
>[!NOTE]
148158
> Artifact streaming can work across regions, regardless of whether geo-replication is started or not.
149159
> Artifact streaming can work through a private endpoint and attach to it.
150160
161+
<!-- markdownlint-disable MD044 -->
162+
:::zone target="docs" pivot="development-environment-azure-portal"
163+
<!-- markdownlint-enable MD044 -->
164+
151165
### Push/Import the image and generate the streaming artifact - Azure portal
152166
153167
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
171185
> [!div class="mx-imgBorder"]
172186
> [![A screenshot of Azure portal with the streaming artifact highlighted.](./media/container-registry-artifact-streaming/02-artifact-streaming-generated-inline.png)](./media/container-registry-artifact-streaming/02-artifact-streaming-generated-expanded.png#lightbox)
173187
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.
175189
176190
> [!div class="mx-imgBorder"]
177191
> [![A screenshot of Azure portal with the delete artifact streaming button highlighted.](./media/container-registry-artifact-streaming/04-delete-artifact-streaming-inline.png)](./media/container-registry-artifact-streaming/04-delete-artifact-streaming-expanded.png#lightbox)
178192
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.
180194
181195
> [!div class="mx-imgBorder"]
182196
> [![A screenshot of Azure portal with the start artifact streaming button highlighted.](./media/container-registry-artifact-streaming/03-start-artifact-streaming-inline.png)](./media/container-registry-artifact-streaming/03-start-artifact-streaming-expanded.png#lightbox)
183197
184198
> [!NOTE]
185199
> 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.
186200
201+
202+
:::zone-end
203+
204+
187205
## Next steps
188206
189207
> [!div class="nextstepaction"]
190-
> [Troubleshoot artifact streaming](troubleshoot-artifact-streaming.md)
208+
> [Troubleshoot Artifact streaming](troubleshoot-artifact-streaming.md)
191209
192210
<!-- LINKS - External -->
193211
[Install Azure CLI]: /cli/azure/install-azure-cli

articles/container-registry/troubleshoot-artifact-streaming.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
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."
44
ms.author: tejaswikolli
55
ms.service: container-registry
66
ms.topic: troubleshooting-general #Don't change.
77
ms.date: 10/31/2023
88

99
---
1010

11-
# Troubleshoot artifact streaming
11+
# Troubleshoot Artifact streaming
1212

1313
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.
1414

@@ -17,7 +17,7 @@ The troubleshooting steps in this article can help you resolve common issues tha
1717
* Conversion operation failed due to an unknown error.
1818
* Troubleshooting Failed AKS Pod Deployments.
1919
* Pod conditions indicate "UpgradeIfStreamableDisabled."
20-
* Using Digest Instead of Tag for Streaming Artifact
20+
* Digest usage instead of Tag for Streaming Artifact.
2121

2222
## Causes
2323

@@ -30,16 +30,16 @@ The troubleshooting steps in this article can help you resolve common issues tha
3030
| Error Code | Error Message | Troubleshooting Info |
3131
| --------------------------- | ---------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
3232
| 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 |
3737
| 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. |
3838
| IMAGE_NOT_RUNNABLE | Conversion isn't supported for nonrunnable images. | Only linux/amd64 runnable images are initially supported. |
3939

4040
## Troubleshooting Failed AKS Pod Deployments
4141

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.
4343

4444
```bash
4545
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
4949
unexpected status from HEAD request to http://localhost:8578/v2/jupyter/all-spark-notebook/manifests/latest?ns=mystreamingtest.azurecr.io:503 Service Unavailable
5050
```
5151

52-
To troubleshoot this issue, you should check the following:
52+
To troubleshoot this issue, you should check the following guidelines:
5353

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`.
5555
1. Ensure that the container registry `mystreamingtest.azurecr.io` is accessible and properly attached to AKS.
5656

5757
## Checking for "UpgradeIfStreamableDisabled" Pod Condition:

0 commit comments

Comments
 (0)