Skip to content

Commit

Permalink
Merge pull request kata-containers#264 from marcov/refactor-install
Browse files Browse the repository at this point in the history
install: Refactor installation instructions
  • Loading branch information
jodh-intel authored Oct 16, 2018
2 parents 3230730 + cc04649 commit eee4f44
Show file tree
Hide file tree
Showing 15 changed files with 128 additions and 168 deletions.
71 changes: 53 additions & 18 deletions install/README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,49 @@
# Kata Containers installation user guides

* [Prerequisites](#prerequisites)
* [Installing Kata Containers](#installing-kata-containers)
* [Distros](#distros)
* [Cloud services](#cloud-services)
* [Further information](#further-information)
- [Prerequisites](#prerequisites)
- [Installing on a Linux System](#installing-on-a-linux-system)
* [Automatic Installation](#automatic-installation)
* [Scripted Installation](#scripted-installation)
* [Manual Installation](#manual-installation)
+ [Supported Distributions](#supported-distributions)
- [Installing on a Cloud Service Platform](#installing-on-a-cloud-service-platform)
- [Further information](#further-information)

## Prerequisites

Kata Containers requires nested virtualization or bare metal.
See the
[hardware requirements](https://github.com/kata-containers/runtime/blob/master/README.md#hardware-requirements)
to see if your system is capable of running Kata Containers.

## Installing Kata Containers
## Installing on a Linux System
The following is an overview of the different installation methods available. All of these methods equally result
in a system configured to run Kata Containers.

|Installation method |Suggested for |Supported on |
|-----------------------------------------------------------|-----------------------------------------|-----------------------------------------|
|[Automatic](#automatic-installation) |Quick installation; new users |[distros list](#supported-distributions) |
|[Scripted](#scripted-installation) |Generating installation scripts |[distros list](#supported-distributions) |
|[Manual](#manual-installation) |Full control over each installation step |[distros list](#supported-distributions) |
|[Build from sources](#../Developer-Guide.md#initial-setup) |Developers and hackers |any distro |

### Automatic Installation
[Use kata-manager](installing-with-kata-manager.md) to automatically install Kata packages.

### Scripted Installation
[Use kata-doc-to-script](installing-with-kata-doc-to-script.md) to generate installation scripts.

### Manual Installation
Manual installation instructions are available for [these distributions](#supported-distributions) and document how to:
1. Add the Kata Containers repository to your distro package manager, and import the packages signing key.
2. Install the Kata Containers packages.
3. Install a supported container manager.
4. Configure the container manager to use `kata-runtime` as the default OCI runtime.

> **Notes:**
> **Notes on upgrading**:
> - If you are installing Kata Containers on a system that already has Clear Containers or `runv` installed,
> first read [the upgrading document](../Upgrading.md).
> **Notes on releases**:
> - [This download server](http://download.opensuse.org/repositories/home:/katacontainers:/releases:/)
> hosts the Kata Containers packages built by OBS for all the supported architectures.
> Packages are available for the latest and stable releases (more info [here](https://github.com/kata-containers/documentation/blob/master/Stable-Branch-Strategy.md)).
Expand All @@ -26,21 +54,28 @@ to see if your system is capable of running Kata Containers.
> - When choosing a stable release, replace all `master` occurrences in the URLs
> with a `stable-x.y` version available on the [download server](http://download.opensuse.org/repositories/home:/katacontainers:/releases:/).
### Distros

* [CentOS](centos-installation-guide.md)
* [Fedora](fedora-installation-guide.md)
* [Red Hat](rhel-installation-guide.md)
* [OpenSuse](opensuse-installation-guide.md)
* [Ubuntu](ubuntu-installation-guide.md)
* [SLES](sles-installation-guide.md)
> **Notes on packages source verification**:
> - The Kata packages hosted on the download server are signed with GPG to ensure integrity and authenticity.
>
> - The public key used to sign packages is available [at this link](https://github.com/kata-containers/tests/data/rpm-signkey.pub); the fingerprint is `9FDC0CB6 3708CF80 3696E2DC D0B37B82 6063F3ED`.
>
> - Only trust the signing key and fingerprint listed in the previous bullet point. Do not disable GPG checks,
> otherwise packages source and authenticity is not guaranteed.
### Cloud services
#### Supported Distributions
|Distro specific installation instructions | Versions |
|-------------------------------------------------------------------|-----------------|
|[CentOS](centos-installation-guide.md) | 7 |
|[Fedora](fedora-installation-guide.md) | 27, 28 |
|[openSUSE](opensuse-installation-guide.md) | Leap (42.3) |
|[Red Hat Enterprise Linux (RHEL)](rhel-installation-guide.md) | 7 |
|[SUSE Linux Enterprise Server (SLES)](sles-installation-guide.md) | SLES 12 SP3 |
|[Ubuntu](ubuntu-installation-guide.md) | 16.04, 18.04 |

## Installing on a Cloud Service Platform
* [Google Compute Engine (GCE)](gce-installation-guide.md)

## Further information

* The [upgrading document](../Upgrading.md).
* The [developer guide](../Developer-Guide.md).
* The [runtime documentation](https://github.com/kata-containers/runtime/blob/master/README.md).
18 changes: 0 additions & 18 deletions install/centos-installation-guide.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,7 @@
# Install Kata Containers on CentOS

> **Notes:**
>
> - Kata Containers packages are available for [CentOS\*](https://www.centos.org)
> version 7.
>
> - If you are installing on a system that already has Clear Containers or `runv` installed,
> first read [the upgrading document](../Upgrading.md).
>
> - If you do not want to copy or type all these instructions by hand, you can use the
> [`kata-manager`](https://github.com/kata-containers/tests/blob/master/cmd/kata-manager/kata-manager.sh)
> script to install the packaged system including your chosen container
> manager. Alternatively, you can generate a runnable shell script from
> individual documents using the
> [`kata-doc-to-script`](https://github.com/kata-containers/tests/blob/master/.ci/kata-doc-to-script.sh) script.
1. Install the Kata Containers components with the following commands:

> **Note:** This installation channel is not secure since the repository currently
> redirects download URLs to `http`.
```bash
$ source /etc/os-release
$ sudo yum -y install yum-utils
Expand Down
7 changes: 0 additions & 7 deletions install/docker/centos-docker-install.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,6 @@
>
> - This guide assumes you have
> [already installed the Kata Containers packages](../centos-installation-guide.md).
>
> - If you do not want to copy or type all these instructions by hand, you can use the
> [`kata-manager`](https://github.com/kata-containers/tests/blob/master/cmd/kata-manager/kata-manager.sh)
> script to install the packaged system including your chosen container
> manager. Alternatively, you can generate a runnable shell script from
> individual documents using the
> [`kata-doc-to-script`](https://github.com/kata-containers/tests/blob/master/.ci/kata-doc-to-script.sh) script.
1. Install the latest version of Docker with the following commands:

Expand Down
7 changes: 0 additions & 7 deletions install/docker/fedora-docker-install.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,6 @@
>
> - This guide assumes you have
> [already installed the Kata Containers packages](../fedora-installation-guide.md).
>
> - If you do not want to copy or type all these instructions by hand, you can use the
> [`kata-manager`](https://github.com/kata-containers/tests/blob/master/cmd/kata-manager/kata-manager.sh)
> script to install the packaged system including your chosen container
> manager. Alternatively, you can generate a runnable shell script from
> individual documents using the
> [`kata-doc-to-script`](https://github.com/kata-containers/tests/blob/master/.ci/kata-doc-to-script.sh) script.
1. Install the latest version of Docker with the following commands:

Expand Down
7 changes: 0 additions & 7 deletions install/docker/opensuse-docker-install.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,6 @@
>
> - This guide assumes you have
> [already installed the Kata Containers packages](../opensuse-installation-guide.md).
>
> - If you do not want to copy or type all these instructions by hand, you can use the
> [`kata-manager`](https://github.com/kata-containers/tests/blob/master/cmd/kata-manager/kata-manager.sh)
> script to install the packaged system including your chosen container
> manager. Alternatively, you can generate a runnable shell script from
> individual documents using the
> [`kata-doc-to-script`](https://github.com/kata-containers/tests/blob/master/.ci/kata-doc-to-script.sh) script.
1. Install the latest version of Docker with the following commands:

Expand Down
7 changes: 0 additions & 7 deletions install/docker/rhel-docker-install.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,6 @@
>
> - This guide assumes you have
> [already installed the Kata Containers packages](../rhel-installation-guide.md).
>
> - If you do not want to copy or type all these instructions by hand, you can use the
> [`kata-manager`](https://github.com/kata-containers/tests/blob/master/cmd/kata-manager/kata-manager.sh)
> script to install the packaged system including your chosen container
> manager. Alternatively, you can generate a runnable shell script from
> individual documents using the
> [`kata-doc-to-script`](https://github.com/kata-containers/tests/blob/master/.ci/kata-doc-to-script.sh) script.
1. Install the latest version of Docker with the following commands:

Expand Down
7 changes: 0 additions & 7 deletions install/docker/sles-docker-install.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,6 @@
>
> - This guide assumes you have
> [already installed the Kata Containers packages](../sles-installation-guide.md).
>
> - If you do not want to copy or type all these instructions by hand, you can use the
> [`kata-manager`](https://github.com/kata-containers/tests/blob/master/cmd/kata-manager/kata-manager.sh)
> script to install the packaged system including your chosen container
> manager. Alternatively, you can generate a runnable shell script from
> individual documents using the
> [`kata-doc-to-script`](https://github.com/kata-containers/tests/blob/master/.ci/kata-doc-to-script.sh) script.
1. Install the latest version of Docker with the following commands:

Expand Down
7 changes: 0 additions & 7 deletions install/docker/ubuntu-docker-install.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,6 @@
>
> - This guide assumes you have
> [already installed the Kata Containers packages](../ubuntu-installation-guide.md).
>
> - If you do not want to copy or type all these instructions by hand, you can use the
> [`kata-manager`](https://github.com/kata-containers/tests/blob/master/cmd/kata-manager/kata-manager.sh)
> script to install the packaged system including your chosen container
> manager. Alternatively, you can generate a runnable shell script from
> individual documents using the
> [`kata-doc-to-script`](https://github.com/kata-containers/tests/blob/master/.ci/kata-doc-to-script.sh) script.
1. Install the latest version of Docker with the following commands:

Expand Down
18 changes: 0 additions & 18 deletions install/fedora-installation-guide.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,7 @@
# Install Kata Containers on Fedora

> **Notes:**
>
> - Kata Containers packages are available for [Fedora\*](https://fedoraproject.org)
> versions **27** and **28**.
>
> - If you are installing on a system that already has Clear Containers or `runv` installed,
> first read [the upgrading document](../Upgrading.md).
>
> - If you do not want to copy or type all these instructions by hand, you can use the
> [`kata-manager`](https://github.com/kata-containers/tests/blob/master/cmd/kata-manager/kata-manager.sh)
> script to install the packaged system including your chosen container
> manager. Alternatively, you can generate a runnable shell script from
> individual documents using the
> [`kata-doc-to-script`](https://github.com/kata-containers/tests/blob/master/.ci/kata-doc-to-script.sh) script.
1. Install the Kata Containers components with the following commands:

> **Note:** This installation channel is not secure since the repository currently
> redirects download URLs to `http`.
```bash
$ source /etc/os-release
$ ARCH=$(arch)
Expand Down
38 changes: 38 additions & 0 deletions install/installing-with-kata-doc-to-script.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Installing with kata-doc-to-script

* [Introduction](#introduction)
* [Packages Installation](#packages-installation)
* [Docker Installation and Setup](#docker-installation-and-setup)

## Introduction
Use [these installation instructions](README.md#supported-distributions) together with
[`kata-doc-to-script`](https://github.com/kata-containers/tests/blob/master/.ci/kata-doc-to-script.sh)
to generate installation bash scripts.

> Note:
> - Only the Docker container manager installation can be scripted. For other setups you must
> install and configure the container manager manually.
## Packages Installation
```
$ source /etc/os-release
$ curl -fsSL -O https://raw.githubusercontent.com/kata-containers/documentation/master/install/${ID}-installation-guide.md
$ bash -c "$(curl -fsSL \
https://raw.githubusercontent.com/kata-containers/tests/master/.ci/kata-doc-to-script.sh) \
${ID}-installation-guide.md \
${ID}-install.sh"
```

For example, if your distribution is CentOS, the previous example will generate a runnable shell script called `centos-install.sh`.

## Docker Installation and Setup
```
$ source /etc/os-release
$ curl -fsSL -O https://raw.githubusercontent.com/kata-containers/documentation/master/install/docker/${ID}-docker-install.md
$ bash -c "$(curl -fsSL \
https://raw.githubusercontent.com/kata-containers/tests/master/.ci/kata-doc-to-script.sh) \
${ID}-docker-install.md \
${ID}-docker-install.sh"
```

For example, if your distribution is CentOS, this will generate a runnable shell script called `centos-docker-install.sh`.
37 changes: 37 additions & 0 deletions install/installing-with-kata-manager.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Installing with kata-manager

* [Introduction](#Introduction)
* [Full Installation](#full-installation)
* [Install the Kata packages only](#install-the-kata-packages-only)
* [Further Information](#further-information)

## Introduction
`kata-manager` automates the Kata Containers installation procedure documented for [these Linux distributions](README.md#supported-distributions).

> Note:
> - Full installation mode is only available for Docker container manager. For other setups, you
> can still use `kata-manager` to [install Kata package](#install-kata-packages-only), and then setup your container manager manually.
## Full Installation
This command does the following:
1. Installs Kata Containers packages
2. Installs Docker
3. Configure Docker to use the Kata OCI runtime by default

```
$ bash -c "$(curl -fsSL \
$ https://raw.githubusercontent.com/kata-containers/tests/master/cmd/kata-manager/kata-manager.sh) \
install-docker-system"
```

## Install the Kata packages only
Use the following command to only install Kata Containers packages.

```
$ bash -c "$(curl -fsSL \
$ https://raw.githubusercontent.com/kata-containers/tests/master/cmd/kata-manager/kata-manager.sh) \
install-packages"
```

## Further Information
For more information on what `kata-manager` can do, refer to the [`kata-manager` page](https://github.com/kata-containers/tests/blob/master/cmd/kata-manager).
18 changes: 0 additions & 18 deletions install/opensuse-installation-guide.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,7 @@
# Install Kata Containers on openSUSE Leap

> **Notes:**
>
> - Kata Containers packages are available for [openSUSE\*](https://www.opensuse.org/)
> version 43.2.
>
> - If you are installing on a system that already has Clear Containers or `runv` installed,
> first read [the upgrading document](../Upgrading.md).
>
> - If you do not want to copy or type all these instructions by hand, you can use the
> [`kata-manager`](https://github.com/kata-containers/tests/blob/master/cmd/kata-manager/kata-manager.sh)
> script to install the packaged system including your chosen container
> manager. Alternatively, you can generate a runnable shell script from
> individual documents using the
> [`kata-doc-to-script`](https://github.com/kata-containers/tests/blob/master/.ci/kata-doc-to-script.sh) script.
1. Install the Kata Containers components with the following commands:

> **Note:** This installation channel is not secure since the repository currently
> redirects download URLs to `http`.
```bash
$ source /etc/os-release
$ ARCH=$(arch)
Expand Down
18 changes: 0 additions & 18 deletions install/rhel-installation-guide.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,7 @@
# Install Kata Containers on RHEL

> **Notes:**
>
> - Kata Containers packages are available for [RHEL\*](https://www.redhat.com)
> version 7.
>
> - If you are installing on a system that already has Clear Containers or `runv` installed,
> first read [the upgrading document](../Upgrading.md).
>
> - If you do not want to copy or type all these instructions by hand, you can use the
> [`kata-manager`](https://github.com/kata-containers/tests/blob/master/cmd/kata-manager/kata-manager.sh)
> script to install the packaged system including your chosen container
> manager. Alternatively, you can generate a runnable shell script from
> individual documents using the
> [`kata-doc-to-script`](https://github.com/kata-containers/tests/blob/master/.ci/kata-doc-to-script.sh) script.
1. Install the Kata Containers components with the following commands:

> **Note:** This installation channel is not secure since the repository currently
> redirects download URLs to `http`.
```bash
$ source /etc/os-release
$ ARCH=$(arch)
Expand Down
18 changes: 0 additions & 18 deletions install/sles-installation-guide.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,7 @@
# Install Kata Containers on SLES

> **Notes:**
>
> - Kata Containers packages are available for [openSUSE\*](https://www.opensuse.org/)
> version 43.2.
>
> - If you are installing on a system that already has Clear Containers or `runv` installed,
> first read [the upgrading document](../Upgrading.md).
>
> - If you do not want to copy or type all these instructions by hand, you can use the
> [`kata-manager`](https://github.com/kata-containers/tests/blob/master/cmd/kata-manager/kata-manager.sh)
> script to install the packaged system including your chosen container
> manager. Alternatively, you can generate a runnable shell script from
> individual documents using the
> [`kata-doc-to-script`](https://github.com/kata-containers/tests/blob/master/.ci/kata-doc-to-script.sh) script.
1. Install the Kata Containers components with the following commands:

> **Note:** This installation channel is not secure since the repository currently
> redirects download URLs to `http`.
```bash
$ ARCH=$(arch)
$ sudo -E zypper addrepo "http://download.opensuse.org/repositories/home:/katacontainers:/releases:/${ARCH}:/master/SLE_12_SP3/home:katacontainers:releases:${ARCH}:master.repo"
Expand Down
Loading

0 comments on commit eee4f44

Please sign in to comment.