kata-containers / documentation

Kata Containers version 1.x documentation (for version 2.x see https://github.com/kata-containers/kata-containers).
https://katacontainers.io/
Apache License 2.0
500 stars 304 forks source link

What's the recommended installation approach for aarch64 server? #352

Closed rayx closed 3 years ago

rayx commented 5 years ago

I followed the manual installation steps for CentOS:

https://github.com/kata-containers/documentation/blob/master/install/centos-installation-guide.md

But there is only a x86_64 directory at http://download.opensuse.org/repositories/home:/katacontainers:/releases:/.

I checked Ubuntu instructions also. Its document points to the same URL.

Does that mean I need to build from source?

jodh-intel commented 5 years ago

Hi @rayx - thanks for raising! This is in fact a duplicate of #254. I think your best bet at this stage is to install Kata for arm64 using a snap:


But this is a good reminder that we need to start creating standard packages for other architectures as documented on:

Ping @marcov (OBS), @jcvenegas (packaging), @Pennyzct (ARM), @nitkon (ppc64le), @alicefr (s390x) - we don't have an open issue for zSeries packages afaik?

rayx commented 5 years ago

@jodh-intel Thanks. Will give the snap package a try.

Pennyzct commented 5 years ago

Hi~ @rayx @jodh-intel sorry, I have still waited for legal approval to working on OBS packaging. maybe we should add extra arch-dependent info here, in case similar issue has been brought up again.

jodh-intel commented 5 years ago

Hi @Pennyzct - I agree that would be helpful and logical. But since the install docs are actually executed and need to be as simple as possible, it may be better to put an architecture matrix in:

That way, the install docs remain as simple (and similar) as possible.

I think we were all hoping we'd have OBS packages up and running for all architectures imminently (so we didn't include such a matrix initially). Do you have a feel for how close we are to getting the required legal approval?

marcov commented 5 years ago

thanks for the ping @jodh-intel.

FYI recently I worked on packaging Kata Containers in a way that suits openSUSE requirements and to have packages for x86, ARM, powerpc and s390.

You can have a look at these packages on OBS, and, if you are on openSUSE or Fedora 29, you can even try them. I tested them on openSUSE x86 and ARM so far.

There are some difference compared to the official kata packages in the way the various components are built and distributed. You can find more info here.

I will soon resume the work of making these packages the official ones for openSUSE, so one day it will be possible to install Kata on openSUSE with just <PKG_MANAGER> install katacontainers

alicefr commented 5 years ago

@jodh-intel @marcov should I create an issue for s390x?

jodh-intel commented 5 years ago

Hi @alicefr - I think that would be useful for tracking purposes.

dtischler commented 5 years ago

Is Snap still the recommended method for installing on Aarch64 (Ubuntu preferred), or are other options now available? Happy to test if there are newer ways to go about this. Thanks!

grahamwhaley commented 5 years ago

@Pennyzct @marcov - any update on aarch64 kata packaging for @dtischler and @rayx ? thx!

marcov commented 5 years ago

@grahamwhaley from my side there aren't plans to have aarch64 builds of the official Kata packages. This is because in my opinion the way the official Kata packages are structured now does not scale well with supporting multiple architectures. That's why I started from "scratch" for openSUSE.

Maybe the best thing to do is to discuss this in one of our weekly meetings and see what others think about it.

jodh-intel commented 5 years ago

@marcov - Agreed. I suggest adding an agenda item to https://etherpad.openstack.org/p/katacontainers-2019-architecture-committee-mtgs.

Pennyzct commented 5 years ago

Hi~ @jodh-intel @marcov @grahamwhaley sooooooo sorry for the delayed response, I have confirmed with colleagues who are working on OBS, he was telling me that he finally got the legal approval of this OBS and will online the OBS very soon. ;)

stevecapperarm commented 5 years ago

Hello. I have been looking at porting over the OBS master recipes to AArch64: https://build.opensuse.org/project/show/home:stevecapper:branches:home:katacontainers:releases:x86_64:master

Do the changes look reasonable?

The biggest stumbling block I have come across is with the filesystem image. IIUC this is a manually uploaded tar ball (from the osbuilder repo?) to the kata-containers-image package. I can't upload binaries manually so need some way to auto generate them.

With OBS I would suspect Kiwi should be used?

jodh-intel commented 5 years ago

Thanks @stevecapperarm - @marcov, @jcvenegas - could you tal please? ^^

marcov commented 5 years ago

@stevecapperarm the packaging repo has all it needs to generate a binary image and upload it on OBS. Alternatively, you can manually build your image with osbuilder and upload it using osc:

$ osc add file.bin
$ osc ci

A quick and dirty way to get a multiarch package for kata-containers-image is to:

stevecapperarm commented 5 years ago

Thanks @marcov :-), the issue with uploading a binary is not a technical one (sorry I should have made that clearer). For security reasons we generally avoid uploading pre-compiled binaries and instead contribute source code/build logic. (I can run through osbuilder fine on a test system, and produce an initrd and img with Alpine rootfs and kata-agent).

marcov commented 5 years ago

...oh now it's clear :flushed:

I agree with your concerns.

For the "soon to be" SUSE packages, I am using kiwi as you correctly proposed (TAL here). It requires some tricks to correctly generate an rpm, but it's perfectly doable.

egernst commented 4 years ago
@stevecapperarm @Pennyzct anything we can do to push this forward?
stevecapperarm commented 4 years ago

Hi, I have a recent work in progress fork at: https://build.opensuse.org/project/show/home:stevecapper:branches:home:katacontainers:releases:x86_64:stable-1.10

The kata-containers-image package is blank for AArch64 currently though. We can't upload binary tarballs.

To move this forward I had a couple of ideas:

  1. We could package osbuilder and create the initrd + rootfs as a post-install step?
  2. We could kiwi up a rootfs + initrd, if so, would the openSUSE Tumbleweed one (just an initrd with some distro .ko's included?) be ok?

What should the kata-containers-image package look like ideally?

(I am refreshing my understanding of kiwi in the meantime and tinkering)