mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-10-21 20:08:54 +00:00
snap: improve README and Makefile
Address code review of pr #82 fixes #88 Signed-off-by: Julio Montes <julio.montes@intel.com>
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
# Kata Containers snap image
|
||||
|
||||
* [Kata Containers snap image](#kata-containers-snap-image)
|
||||
* [Initial setup](#initial-setup)
|
||||
* [Build snap image](#build-snap-image)
|
||||
* [Install snap (developer)](#install-snap-developer)
|
||||
* [Install snap](#install-snap)
|
||||
* [Build and install snap image](#build-and-install-snap-image)
|
||||
* [Configure Kata Containers](#configure-kata-containers)
|
||||
* [Integration with docker](#integration-with-docker)
|
||||
* [Limitations](#limitations)
|
||||
|
||||
@@ -18,7 +18,15 @@ This directory contains the resources needed to build the Kata Containers
|
||||
$ sudo apt-get install -y snapd snapcraft
|
||||
```
|
||||
|
||||
## Build snap image
|
||||
## Install snap
|
||||
|
||||
You can install Kata Containers from the [snapcraft store][8] or by running the following command:
|
||||
|
||||
```sh
|
||||
$ sudo snap install kata-containers
|
||||
```
|
||||
|
||||
## Build and install snap image
|
||||
|
||||
Run next command at the root directory of the packaging repository.
|
||||
|
||||
@@ -26,8 +34,6 @@ Run next command at the root directory of the packaging repository.
|
||||
$ make snap
|
||||
```
|
||||
|
||||
## Install snap (developer)
|
||||
|
||||
To install the resulting snap image, snap must be put in [classic mode][3] and the
|
||||
security confinement must be disabled (*--classic*). Also since the resulting snap
|
||||
has not been signed the verification of signature must be omitted (*--dangerous*).
|
||||
@@ -39,7 +45,7 @@ $ sudo snap install --classic --dangerous kata-containers_[VERSION]_[ARCH].snap
|
||||
Replace `VERSION` with the current version of Kata Containers and `ARCH` with
|
||||
the system architecture.
|
||||
|
||||
## Configuring Kata Containers ##
|
||||
## Configure Kata Containers
|
||||
|
||||
By default Kata Containers snap image is mounted at `/snap/kata-containers` as a
|
||||
read-only file system, therefore default configuration file can not be edited.
|
||||
@@ -52,48 +58,28 @@ $ sudo cp /snap/kata-containers/current/usr/share/defaults/kata-containers/confi
|
||||
$ $EDITOR /etc/kata-containers/configuration.toml
|
||||
```
|
||||
|
||||
## Integration with docker ##
|
||||
## Integration with docker and kubernetes
|
||||
|
||||
the path to the runtime provided by the Kata Containers snap image is
|
||||
`/snap/kata-containers/current/usr/bin/kata-runtime`, this runtime must be added to
|
||||
[dockerd][5] via `systemd` or `dockerd` configuration file.
|
||||
|
||||
`/etc/systemd/system/docker.service.d/runtime.conf`
|
||||
|
||||
```ini
|
||||
[Service]
|
||||
ExecStart=/usr/bin/dockerd -D --add-runtime kata-runtime=/snap/kata-containers/current/usr/bin/kata-runtime --default-runtime=kata-runtime
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
`/etc/docker/daemon.json`
|
||||
|
||||
```json
|
||||
{
|
||||
"default-runtime": "kata-runtime",
|
||||
"runtimes": {
|
||||
"kata-runtime": {
|
||||
"path": "/snap/kata-containers/current/usr/bin/kata-runtime"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
after having added the new runtime, the service must be reloaded and restarted
|
||||
|
||||
```
|
||||
$ sudo systemctl daemon-reload
|
||||
$ sudo systemctl restart docker
|
||||
```
|
||||
The path to the runtime provided by the Kata Containers snap image is
|
||||
`/snap/kata-containers/current/usr/bin/kata-runtime`. You should use it to
|
||||
run Kata Containers with [docker][9] and [kubernetes][10].
|
||||
|
||||
## Limitations
|
||||
|
||||
The [miniOS image][2] is not included in the snap image as it is not possible for
|
||||
QEMU to open a guest RAM backing store on a read-only filesystem.
|
||||
QEMU to open a guest RAM backing store on a read-only filesystem. Fortunately,
|
||||
you can start Kata Containers with a Linux initial RAM disk (initrd) that is
|
||||
included in the snap image. If you want to use the miniOS image instead of initrd,
|
||||
then a new configuration file can be [created](#configuring-kata-containers)
|
||||
and [configured][7].
|
||||
|
||||
[1]: https://docs.snapcraft.io/snaps/intro
|
||||
[2]: https://github.com/kata-containers/documentation/blob/master/architecture.md#root-filesystem-image
|
||||
[3]: https://docs.snapcraft.io/reference/confinement#classic
|
||||
[4]: https://github.com/kata-containers/runtime
|
||||
[5]: https://docs.docker.com/engine/reference/commandline/dockerd
|
||||
[6]: https://github.com/kata-containers/documentation/blob/master/install/docker/ubuntu-docker-install.md
|
||||
[7]: https://github.com/kata-containers/documentation/blob/master/Developer-Guide.md#configure-to-use-initrd-or-rootfs-image
|
||||
[8]: https://snapcraft.io/kata-containers
|
||||
[9]: https://github.com/kata-containers/documentation/blob/master/Developer-Guide.md#run-kata-containers-with-docker
|
||||
[10]: https://github.com/kata-containers/documentation/blob/master/Developer-Guide.md#run-kata-containers-with-kubernetes
|
||||
|
Reference in New Issue
Block a user