snyk / kubernetes-monitor

Use Snyk to find and fix vulnerabilities in your Kubernetes workloads
https://docs.snyk.io/products/snyk-container/image-scanning-library/kubernetes-workload-and-image-scanning/kubernetes-integration-overview
Other
83 stars 73 forks source link

[🙏] Require Linux/ARM64 docker image for snyk/kubernetes-monitor #928

Open odidev opened 2 years ago

odidev commented 2 years ago

Describe the user need

Hi Team,

I am working on building snyk/kubernetes-monitor images for both amd64 and arm64 platform. Successfully built the docker image for both the platforms. I have modified build-images.sh script to use buildx for building and pushing and made changes in @jobs.yml file to remove pushing to Docker hub and packed it to config.yml file.

Changes Required: https://github.com/odidev/kubernetes-monitor/commit/81ac32048a390d008e14d16e42574d16106bc936

Do you have any plans for releasing ARM64 images?

It will be very helpful if an ARM64 image is available. If interested, I will raise a PR.

ivanstanev commented 2 years ago

Hey @odidev, if you're building ARM images I assume you would also want to run them in a cluster with ARM worker nodes? Currently the Monitor is not inspecting the worker nodes to understand which CPU arch they use (so it will always try amd64) and we don't have a flag to force one-arch-only scans other than the default amd64. Would you still need ARM images for the Monitor if that's the case?

odidev commented 2 years ago

@ivanstanev, I worked on building and testing the monitor as per commands mentioned in Readme.md and the monitor works without any issues. Although I have made changes in some of the files so that the snyk-monitor and snyk-kubernetes-monitor could possibly use and detect arm64 as well as amd64 nodes.

Changes required: https://github.com/odidev/kubernetes-monitor/commit/dff3d08db0d640aa1b32c6a3bf57f332cc3f4a9a

ivanstanev commented 2 years ago

Hey @odidev is the request for running on Apple M1? Because I know the solution to this and it won't require building separate ARM images. Or do you have a use-case with Kubernetes worker nodes that are running the arm64 architecture?

odidev commented 2 years ago

@ivanstanev, I am working on adding Linux arm64 support to multiple projects and many repositories are using Kubernetes. This image helps for monitoring Kubernetes worker nodes that are running on the arm64 architecture.

So, it will be really helpful if this is supported for arm64 and the image is released in dockerhub.

cristianmagana commented 1 year ago

@ivanstanev We have a use case in our organization that runs graviton ARM instances in AWS and cannot use the amd instance types. Most of the k8s ecosystem supports the use of multi-arch images (running on amd/arm). Is there an ETA when snyk would be publishing either ARM images or multi-arch images?

blockmar commented 5 months ago

We have the same issue. EKS on Graviton.

Should not be too much of an ask just to build an arm64 image. Will be raising this in a Support ticket with our rep.

KylePeterDavies commented 4 months ago

We would like support for the Kubernetes Monitor at my workplace

blockmar commented 4 months ago

After being in contact with Snyk Enterprise support who told us that this would not be a priority in the foreseeable future. We solved the issue by building our own ARM image based on the official repository. We managed to deploy it to our cluster using the official Helm registry.

It seems to work but a bit too early to tell.

Some helm-values need modifying:

image:
  repository: path-to-your-imge/kubernetes-monitor
nodeAffinity:
  kubernetesIoArch:
  - arm64