update container-runtimes.md
This commit is contained in:
parent
5ca10e47ae
commit
e80821d3c4
|
|
@ -18,8 +18,7 @@ Podのコンテナを実行するために、Kubernetesはコンテナランタ
|
||||||
悪意のあるコンテナがこの脆弱性を利用してruncのバイナリを上書きし、
|
悪意のあるコンテナがこの脆弱性を利用してruncのバイナリを上書きし、
|
||||||
コンテナホストシステム上で任意のコマンドを実行する可能性があります。
|
コンテナホストシステム上で任意のコマンドを実行する可能性があります。
|
||||||
|
|
||||||
この問題の更なる情報は以下のリンクを参照してください。
|
詳細は[CVE-2019-5736](https://access.redhat.com/security/cve/cve-2019-5736)を参照してください。
|
||||||
[cve-2019-5736 : runc vulnerability](https://access.redhat.com/security/cve/cve-2019-5736)
|
|
||||||
{{< /caution >}}
|
{{< /caution >}}
|
||||||
|
|
||||||
### 適用性
|
### 適用性
|
||||||
|
|
@ -53,34 +52,45 @@ kubeletとDockerに `cgroupfs` を使用し、ノード上で実行されてい
|
||||||
## Docker
|
## Docker
|
||||||
|
|
||||||
それぞれのマシンに対してDockerをインストールします。
|
それぞれのマシンに対してDockerをインストールします。
|
||||||
バージョン18.06.2が推奨されていますが、1.11、1.12、1.13、17.03、18.09についても動作が確認されています。
|
バージョン19.03.11が推奨されていますが、1.13.1、17.03、17.06、17.09、18.06、18.09についても動作が確認されています。
|
||||||
Kubernetesのリリースノートにある、Dockerの動作確認済み最新バージョンについてもご確認ください。
|
Kubernetesのリリースノートにある、Dockerの動作確認済み最新バージョンについてもご確認ください。
|
||||||
|
|
||||||
システムへDockerをインストールするには、次のコマンドを実行します。
|
システムへDockerをインストールするには、次のコマンドを実行します。
|
||||||
|
|
||||||
{{< tabs name="tab-cri-docker-installation" >}}
|
{{< tabs name="tab-cri-docker-installation" >}}
|
||||||
{{< tab name="Ubuntu 16.04" codelang="bash" >}}
|
{{% tab name="Ubuntu 16.04+" %}}
|
||||||
|
|
||||||
|
```shell
|
||||||
# Docker CEのインストール
|
# Docker CEのインストール
|
||||||
## リポジトリをセットアップ
|
## リポジトリをセットアップ
|
||||||
### aptパッケージインデックスを更新
|
|
||||||
apt-get update
|
|
||||||
|
|
||||||
### HTTPS越しのリポジトリの使用をaptに許可するために、パッケージをインストール
|
### HTTPS越しのリポジトリの使用をaptに許可するために、パッケージをインストール
|
||||||
apt-get update && apt-get install apt-transport-https ca-certificates curl software-properties-common
|
apt-get update && apt-get install -y \
|
||||||
|
apt-transport-https ca-certificates curl software-properties-common gnupg2
|
||||||
|
```
|
||||||
|
|
||||||
### Docker公式のGPG鍵を追加
|
```shell
|
||||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
|
# Docker公式のGPG鍵を追加
|
||||||
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
|
||||||
|
```
|
||||||
|
|
||||||
### dockerのaptリポジトリを追加
|
```shell
|
||||||
add-apt-repository \
|
# dockerのaptリポジトリを追加
|
||||||
|
add-apt-repository \
|
||||||
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
|
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
|
||||||
$(lsb_release -cs) \
|
$(lsb_release -cs) \
|
||||||
stable"
|
stable"
|
||||||
|
```
|
||||||
|
|
||||||
## docker ceのインストール
|
```shell
|
||||||
apt-get update && apt-get install docker-ce=18.06.2~ce~3-0~ubuntu
|
# docker ceのインストール
|
||||||
|
apt-get update && apt-get install -y \
|
||||||
|
containerd.io=1.2.13-2 \
|
||||||
|
docker-ce=5:19.03.11~3-0~ubuntu-$(lsb_release -cs) \
|
||||||
|
docker-ce-cli=5:19.03.11~3-0~ubuntu-$(lsb_release -cs)
|
||||||
|
```
|
||||||
|
|
||||||
# デーモンをセットアップ
|
```shell
|
||||||
|
# Dockerデーモンをセットアップ
|
||||||
cat > /etc/docker/daemon.json <<EOF
|
cat > /etc/docker/daemon.json <<EOF
|
||||||
{
|
{
|
||||||
"exec-opts": ["native.cgroupdriver=systemd"],
|
"exec-opts": ["native.cgroupdriver=systemd"],
|
||||||
|
|
@ -91,32 +101,48 @@ cat > /etc/docker/daemon.json <<EOF
|
||||||
"storage-driver": "overlay2"
|
"storage-driver": "overlay2"
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
mkdir -p /etc/systemd/system/docker.service.d
|
mkdir -p /etc/systemd/system/docker.service.d
|
||||||
|
```
|
||||||
|
|
||||||
# dockerを再起動
|
```shell
|
||||||
|
# Dockerを再起動
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
systemctl restart docker
|
systemctl restart docker
|
||||||
|
```
|
||||||
{{< /tab >}}
|
{{< /tab >}}
|
||||||
{{< tab name="CentOS/RHEL 7.4+" codelang="bash" >}}
|
{{% tab name="CentOS/RHEL 7.4+" %}}
|
||||||
|
|
||||||
|
```shell
|
||||||
# Docker CEのインストール
|
# Docker CEのインストール
|
||||||
## リポジトリをセットアップ
|
## リポジトリをセットアップ
|
||||||
### 必要なパッケージのインストール
|
### 必要なパッケージのインストール
|
||||||
yum install yum-utils device-mapper-persistent-data lvm2
|
yum install -y yum-utils device-mapper-persistent-data lvm2
|
||||||
|
```
|
||||||
|
|
||||||
### dockerパッケージ用のyumリポジトリを追加
|
```shell
|
||||||
yum-config-manager \
|
### Dockerリポジトリを追加
|
||||||
--add-repo \
|
yum-config-manager --add-repo \
|
||||||
https://download.docker.com/linux/centos/docker-ce.repo
|
https://download.docker.com/linux/centos/docker-ce.repo
|
||||||
|
```
|
||||||
|
|
||||||
## docker ceのインストール
|
```shell
|
||||||
yum update && yum install docker-ce-18.06.2.ce
|
# Docker CEのインストール
|
||||||
|
yum update -y && yum install -y \
|
||||||
|
containerd.io-1.2.13 \
|
||||||
|
docker-ce-19.03.11 \
|
||||||
|
docker-ce-cli-19.03.11
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
## /etc/docker ディレクトリを作成
|
## /etc/docker ディレクトリを作成
|
||||||
mkdir /etc/docker
|
mkdir /etc/docker
|
||||||
|
```
|
||||||
|
|
||||||
# デーモンをセットアップ
|
```shell
|
||||||
|
# Dockerデーモンをセットアップ
|
||||||
cat > /etc/docker/daemon.json <<EOF
|
cat > /etc/docker/daemon.json <<EOF
|
||||||
{
|
{
|
||||||
"exec-opts": ["native.cgroupdriver=systemd"],
|
"exec-opts": ["native.cgroupdriver=systemd"],
|
||||||
|
|
@ -130,15 +156,26 @@ cat > /etc/docker/daemon.json <<EOF
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
mkdir -p /etc/systemd/system/docker.service.d
|
mkdir -p /etc/systemd/system/docker.service.d
|
||||||
|
```
|
||||||
|
|
||||||
# dockerを再起動
|
```shell
|
||||||
|
# Dockerを再起動
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
systemctl restart docker
|
systemctl restart docker
|
||||||
|
```
|
||||||
{{< /tab >}}
|
{{< /tab >}}
|
||||||
{{< /tabs >}}
|
{{< /tabs >}}
|
||||||
|
|
||||||
|
ブート時にdockerサービスを起動したい場合は、以下のコマンドを実行してください。
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sudo systemctl enable docker
|
||||||
|
```
|
||||||
|
|
||||||
詳細については、[Dockerの公式インストールガイド](https://docs.docker.com/engine/installation/)を参照してください。
|
詳細については、[Dockerの公式インストールガイド](https://docs.docker.com/engine/installation/)を参照してください。
|
||||||
|
|
||||||
## CRI-O
|
## CRI-O
|
||||||
|
|
@ -164,37 +201,85 @@ sysctl --system
|
||||||
```
|
```
|
||||||
|
|
||||||
{{< tabs name="tab-cri-cri-o-installation" >}}
|
{{< tabs name="tab-cri-cri-o-installation" >}}
|
||||||
{{< tab name="Ubuntu 16.04" codelang="bash" >}}
|
{{% tab name="Debian" %}}
|
||||||
|
|
||||||
# 必要なパッケージをインストールし、リポジトリを追加
|
```shell
|
||||||
apt-get update
|
# Debian Unstable/Sid
|
||||||
apt-get install software-properties-common
|
echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_Unstable/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
|
||||||
|
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/Debian_Unstable/Release.key -O- | sudo apt-key add -
|
||||||
|
```
|
||||||
|
|
||||||
add-apt-repository ppa:projectatomic/ppa
|
```shell
|
||||||
apt-get update
|
# Debian Testing
|
||||||
|
echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_Testing/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
|
||||||
|
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/Debian_Testing/Release.key -O- | sudo apt-key add -
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# Debian 10
|
||||||
|
echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_10/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
|
||||||
|
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/Debian_10/Release.key -O- | sudo apt-key add -
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# Raspbian 10
|
||||||
|
echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Raspbian_10/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
|
||||||
|
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/Raspbian_10/Release.key -O- | sudo apt-key add -
|
||||||
|
```
|
||||||
|
|
||||||
|
その後CRI-Oをインストール
|
||||||
|
```shell
|
||||||
|
sudo apt-get install cri-o-1.17
|
||||||
|
```
|
||||||
|
{{% /tab %}}
|
||||||
|
|
||||||
|
{{% tab name="Ubuntu 18.04, 19.04 and 19.10" %}}
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# パッケージリポジトリの設定
|
||||||
|
. /etc/os-release
|
||||||
|
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/x${NAME}_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"
|
||||||
|
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${NAME}_${VERSION_ID}/Release.key -O- | sudo apt-key add -
|
||||||
|
sudo apt-get update
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
# CRI-Oをインストール
|
# CRI-Oをインストール
|
||||||
apt-get install cri-o-1.11
|
sudo apt-get install cri-o-1.17
|
||||||
|
```
|
||||||
|
{{% /tab %}}
|
||||||
|
|
||||||
{{< /tab >}}
|
{{% tab name="CentOS/RHEL 7.4+" %}}
|
||||||
{{< tab name="CentOS/RHEL 7.4+" codelang="bash" >}}
|
|
||||||
|
|
||||||
# 必要なリポジトリを追加
|
```shell
|
||||||
yum-config-manager --add-repo=https://cbs.centos.org/repos/paas7-crio-311-candidate/x86_64/os/
|
# 事前に必要なものをインストール
|
||||||
|
# Install prerequisites
|
||||||
|
curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable.repo https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/CentOS_7/devel:kubic:libcontainers:stable.repo
|
||||||
|
curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable:cri-o:{{< skew latestVersion >}}.repo https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:{{< skew latestVersion >}}/CentOS_7/devel:kubic:libcontainers:stable:cri-o:{{< skew latestVersion >}}.repo
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
# CRI-Oをインストール
|
# CRI-Oをインストール
|
||||||
yum install --nogpgcheck cri-o
|
yum install -y cri-o
|
||||||
|
```
|
||||||
|
{{% /tab %}}
|
||||||
|
|
||||||
{{< /tab >}}
|
{{% tab name="openSUSE Tumbleweed" %}}
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sudo zypper install cri-o
|
||||||
|
```
|
||||||
|
{{% /tab %}}
|
||||||
{{< /tabs >}}
|
{{< /tabs >}}
|
||||||
|
|
||||||
### CRI-Oの起動
|
### CRI-Oの起動
|
||||||
|
|
||||||
```
|
```
|
||||||
|
systemctl daemon-reload
|
||||||
systemctl start crio
|
systemctl start crio
|
||||||
```
|
```
|
||||||
|
|
||||||
詳細については、[CRI-Oインストールガイド](https://github.com/kubernetes-sigs/cri-o#getting-started)を参照してください。
|
詳細については、[CRI-Oインストールガイド]((https://github.com/kubernetes-sigs/cri-o#getting-started)を参照してください。
|
||||||
|
|
||||||
## Containerd
|
## Containerd
|
||||||
|
|
||||||
|
|
@ -202,9 +287,14 @@ systemctl start crio
|
||||||
|
|
||||||
システムへContainerdをインストールするためには次のコマンドを実行します。
|
システムへContainerdをインストールするためには次のコマンドを実行します。
|
||||||
|
|
||||||
### 必要な設定の追加
|
### 事前準備
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
|
cat > /etc/modules-load.d/containerd.conf <<EOF
|
||||||
|
overlay
|
||||||
|
br_netfilter
|
||||||
|
EOF
|
||||||
|
|
||||||
modprobe overlay
|
modprobe overlay
|
||||||
modprobe br_netfilter
|
modprobe br_netfilter
|
||||||
|
|
||||||
|
|
@ -218,39 +308,87 @@ EOF
|
||||||
sysctl --system
|
sysctl --system
|
||||||
```
|
```
|
||||||
|
|
||||||
{{< tabs name="tab-cri-containerd-installation" >}}
|
|
||||||
{{< tab name="Ubuntu 16.04+" codelang="bash" >}}
|
|
||||||
apt-get install -y libseccomp2
|
|
||||||
{{< /tab >}}
|
|
||||||
{{< tab name="CentOS/RHEL 7.4+" codelang="bash" >}}
|
|
||||||
yum install -y libseccomp
|
|
||||||
{{< /tab >}}
|
|
||||||
{{< /tabs >}}
|
|
||||||
|
|
||||||
### containerdのインストール
|
### containerdのインストール
|
||||||
|
|
||||||
[Containerdは定期的にリリース](https://github.com/containerd/containerd/releases)されますが、以下に示すコマンドで利用している値は、この手順が作成された時点での最新のバージョンにしたがって書かれています。より新しいバージョンとダウンロードするファイルのハッシュ値については[こちら](https://storage.googleapis.com/cri-containerd-release)で確認するようにしてください。
|
{{< tabs name="tab-cri-containerd-installation" >}}
|
||||||
|
{{% tab name="Ubuntu 16.04" %}}
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
# 必要な環境変数をexportします。
|
# containerdのインストール
|
||||||
export CONTAINERD_VERSION="1.1.2"
|
## リポジトリの設定
|
||||||
export CONTAINERD_SHA256="d4ed54891e90a5d1a45e3e96464e2e8a4770cd380c21285ef5c9895c40549218"
|
### HTTPS越しのリポジトリの使用をaptに許可するために、パッケージをインストール
|
||||||
|
apt-get update && apt-get install -y apt-transport-https ca-certificates curl software-properties-common
|
||||||
# containerdのtarボールをダウンロードします。
|
|
||||||
wget https://storage.googleapis.com/cri-containerd-release/cri-containerd-${CONTAINERD_VERSION}.linux-amd64.tar.gz
|
|
||||||
|
|
||||||
# ハッシュ値をチェックします。
|
|
||||||
echo "${CONTAINERD_SHA256} cri-containerd-${CONTAINERD_VERSION}.linux-amd64.tar.gz" | sha256sum --check -
|
|
||||||
|
|
||||||
# 解凍して展開します。
|
|
||||||
tar --no-overwrite-dir -C / -xzf cri-containerd-${CONTAINERD_VERSION}.linux-amd64.tar.gz
|
|
||||||
|
|
||||||
# containerdを起動します。
|
|
||||||
systemctl start containerd
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# Docker公式のGPG鍵を追加
|
||||||
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
|
## Dockerのaptリポジトリを追加
|
||||||
|
add-apt-repository \
|
||||||
|
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
|
||||||
|
$(lsb_release -cs) \
|
||||||
|
stable"
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
|
## containerdのインストール
|
||||||
|
apt-get update && apt-get install -y containerd.io
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# containerdの設定
|
||||||
|
mkdir -p /etc/containerd
|
||||||
|
containerd config default > /etc/containerd/config.toml
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# containerdの再起動
|
||||||
|
systemctl restart containerd
|
||||||
|
```
|
||||||
|
{{% /tab %}}
|
||||||
|
{{% tab name="CentOS/RHEL 7.4+" %}}
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# containerdのインストール
|
||||||
|
## リポジトリの設定
|
||||||
|
### 必要なパッケージのインストール
|
||||||
|
yum install -y yum-utils device-mapper-persistent-data lvm2
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
|
## Dockerリポジトリを追加
|
||||||
|
yum-config-manager \
|
||||||
|
--add-repo \
|
||||||
|
https://download.docker.com/linux/centos/docker-ce.repo
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
|
## containerdのインストール
|
||||||
|
yum update -y && yum install -y containerd.io
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
|
## containerdの設定
|
||||||
|
mkdir -p /etc/containerd
|
||||||
|
containerd config default > /etc/containerd/config.toml
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# Restart containerd
|
||||||
|
systemctl restart containerd
|
||||||
|
```
|
||||||
|
{{% /tab %}}
|
||||||
|
{{< /tabs >}}
|
||||||
|
|
||||||
|
### systemd
|
||||||
|
|
||||||
|
`systemd`のcgroupドライバーを使うには、`/etc/containerd/config.toml`内で`plugins.cri.systemd_cgroup = true`を設定してください。
|
||||||
|
kubeadmを使う場合は[kubeletのためのcgroupドライバー](/ja/docs/setup/production-environment/tools/kubeadm/install-kubeadm/)を手動で設定してください。
|
||||||
|
|
||||||
## その他のCRIランタイム: frakti
|
## その他のCRIランタイム: frakti
|
||||||
|
|
||||||
詳細については[Fraktiのクイックスタートガイド](https://github.com/kubernetes/frakti#quickstart)を参照してください。
|
詳細については[Fraktiのクイックスタートガイド](https://github.com/kubernetes/frakti#quickstart)を参照してください。
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue