Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
---
title: Migrate containers to Arm using KubeArchInspect
draft: true
cascade:
draft: true

minutes_to_complete: 15

who_is_this_for: This is an introductory topic for software developers who want to know if the containers running in a Kubernetes cluster are available for the Arm architecture.
who_is_this_for: This is an introductory topic for software developers who want to ensure containers running in a Kubernetes cluster support the Arm architecture.

learning_objectives:
- Run KubeArchInspect to get a quick report of the containers running in a Kubernetes cluster.
- Run KubeArchInspect to generate a report on the containers running in a Kubernetes cluster.
- Discover which images support the Arm architecture.
- Understand common reasons for an image not supporting Arm.
- Make configuration changes to upgrade images with Arm support.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
next_step_guidance: Now you know how to use the KubeArchInspect tool to understand the Arm support of your Kubernetes cluster images.
next_step_guidance: You now know how to use the KubeArchInspect tool to ensure containers running in a Kubernetes cluster support the Arm architecture. To learn more about related topics, please explore the resources below.

recommended_path: /learning-paths/servers-and-cloud-computing/eks-multi-arch/

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
review:
- questions:
question: >
Which of the following statements is true about kubearchinspect?
Which of the following statements is true about KubeArchInspect?
answers:
- KubeArchInspect displays a report of the images running in a Kubernetes cluster, but it does not identify which images support arm64.
- KubeArchInspect displays a report of the images running in a Kubernetes cluster and identifies which images support arm64.
Expand All @@ -25,7 +25,7 @@ review:
question: >
Which of the following is NOT a way to improve your cluster's Arm compatibility?
answers:
- Upgrade images to a newer version -- if they support arm64.
- Upgrade images to a newer version that supports arm64.
- Find an alternative image that supports arm64.
- Request that the developers of an image build and publish an arm64 version.
- Contact the Kubernetes community to upgrade your cluster.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,12 @@ layout: learningpathall

## Identifying issues and opportunities

After running KubeArchInspect, you can examine the output to determine if the cluster image architectures are suitable for your needs.
After running KubeArchInspect, you can examine the output to determine if the cluster image architectures are suitable for your needs. Each image running in the cluster appears on a separate line, including name, tag (version), and test result:

* A green tick (✅) indicates the image already supports arm64.
* A red cross (❌) indicates that arm64 support is not available.
* An upward arrow (⬆) shows that arm64 support is included in a newer version.
* A red exclamation mark (❗) is shown when an error occurs checking the image. This may indicate an error connecting to the image registry.

If you want to run an all Arm cluster, you need to use images which include arm64 support.

Expand All @@ -25,17 +30,14 @@ Legends:
...
sergrua/kube-tagger:release-0.1.1 ❌
```

These images are identified as not supporting arm64 (`❌`).

## Addressing issues

The KubeArchInspect report provides valuable information for improving the cluster's performance and compatibility with the Arm architecture.

Several approaches can be taken to address the issues identified:
There are several approaches you can take to address issues identified in the report:

* **Upgrade images:** If an image with an available arm64 version (`⬆`) is detected, consider upgrading to that version. This can be done by modifying the deployment configuration and restarting the containers using the new image tag.
* **Find alternative images:** For images with no available arm64 version, look for alternative images that offer arm64 support. For example, instead of a specific image from the registry, try using a more general image like `busybox`, which supports multiple architectures, including arm64.
* **Upgrade images:** If an image with an available arm64 version (`⬆`) is detected, consider upgrading to that version. You can do this by modifying the deployment configuration and restarting the containers using the new image tag.
* **Find alternative images:** For images with no available arm64 version (`❌`), look for alternative images that offer arm64 support. For example, instead of a specific image from the registry, try using a more general image like `busybox`, which supports multiple architectures, including arm64.
* **Request Arm support:** If there is no suitable alternative image available, you can contact the image developers or the Kubernetes community and request them to build and publish an arm64 version of the image.

KubeArchInspect provides an efficient way to understand and improve the Arm architecture support within your Kubernetes cluster, ensuring your cluster runs efficiently and effectively.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ weight: 2
### FIXED, DO NOT MODIFY
layout: learningpathall
---
## How does KubeArchInspect help?

KubeArchInspect is a tool developed by Arm. It provides an efficient way to understand and improve the Arm architecture support within your Kubernetes cluster, ensuring your cluster runs efficiently and effectively.

KubeArchInspect identifies images in a Kubernetes cluster which support the Arm architecture. It does this by checking each image against the source registry for the image and identifying which architectures are available. You can use the results to identify potential issues or opportunities for optimizing the cluster to run on Arm.

{{% notice Note %}}
KubeArchInspect is a command-line tool which requires a running Kubernetes cluster.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ weight: 3
layout: learningpathall
---

KubeArchInspect identifies images in a Kubernetes cluster which have support for the Arm architecture. It checks each image against the image registry, checking the available architectures for each image tag. The results can be used to identify potential issues or opportunities for optimizing the cluster for Arm.

## How do I run KubeArchInspect?

To run KubeArchInspect, you need to have `kubearchinspect` installed and ensure that the `kubectl` command is configured to connect to your cluster. If not already configured, you should set up `kubectcl` to connect to your cluster.
Expand Down Expand Up @@ -65,9 +63,3 @@ quay.io/prometheus/alertmanager:v0.25.0 ✅
602401143452.dkr.ecr.eu-west-1.amazonaws.com/amazon-k8s-cni-init:v1.15.4-eksbuild.1 ❗
602401143452.dkr.ecr.eu-west-1.amazonaws.com/amazon-k8s-cni:v1.15.4-eksbuild.1 ❗
```

Each image running in the cluster appears on a separate line, including name, tag (version), and test result.

A green tick indicates the image already supports arm64, a red cross that arm64 support is not available, an upward arrow shows that arm64 support is included in a newer version.

A red exclamation mark is shown when an error occurs checking the image. This may indicate an error connecting to the image registry.