ricsanfre / pi-cluster

Pi Kubernetes Cluster. Homelab kubernetes cluster automated with Ansible and FluxCD
https://picluster.ricsanfre.com
MIT License
416 stars 69 forks source link

Support AWS and CSI velero Plugin to ARM and ARM64 #109

Closed i5Js closed 1 year ago

i5Js commented 1 year ago

Hello Ricardo,

It's not an issue, but a question. I would like to add the backup and restore to my k3s cluster. Like you I am using raspberry, but mixed arm and arm64. I have tried to build the plugins for those architectures, but I was not able to find the way. Can you help me? We can talk in Spanish ;)

Gracias!

ricsanfre commented 1 year ago

Hola @i5Js,

velero-plugin-for-aws is already supporting arm, isn't it?

velero-plugin-for-csi currently only supports amd64 architecture. There is an open issue since Oct 21 to provide support for arm64 architecture.

A PR, developed by @blampe, were submitted in Aug 22 to fix this issue, but it seems that the community does not have the resources to test using ARM architectures and it has never been merged into the main branch.

Check out https://github.com/ricsanfre/pi-cluster/issues/31#issuecomment-1272371364 to find issue # and its associated PR in velero repository.

To test velero CSI snapshots support, I decided to clone the main repository, apply the same changes proposed by @blampe, (Makefile and Docker file to enabling building of multi-architecture docker images) and adapt the Github actions to generate my my own multi-arch docker image (https://hub.docker.com/r/ricsanfre/velero-plugin-for-csi).

See arm64 branch in my cloned repository: https://github.com/ricsanfre/velero-plugin-for-csi/tree/arm64 and check the list of changes respect the main repository here: https://github.com/vmware-tanzu/velero-plugin-for-csi/compare/main...ricsanfre:velero-plugin-for-csi:arm64

In order to build also for arm architecture, you would need to change in the Makefile the docker buildx commands to add linux/arm in the list of platforms (--platform argument). I have not tested it since my cluster is only based on arm64 architecture. Maybe you can try it. Let me know if it works

Ricardo