Black lives matter.
We stand in solidarity with the Black community.
Racism is unacceptable.
It conflicts with the core values of the Kubernetes project and our community does not tolerate it.
We stand in solidarity with the Black community.
Racism is unacceptable.
It conflicts with the core values of the Kubernetes project and our community does not tolerate it.
Kubernetes v1.6 [stable]
注意:コンテナ実行時にruncがシステムファイルディスクリプターを扱える脆弱性が見つかりました。 悪意のあるコンテナがこの脆弱性を利用してruncのバイナリを上書きし、 コンテナホストシステム上で任意のコマンドを実行する可能性があります。
この問題の更なる情報は以下のリンクを参照してください。 cve-2019-5736 : runc vulnerability
備考: このドキュメントはLinuxにCRIをインストールするユーザーの為に書かれています。 他のオペレーティングシステムの場合、プラットフォーム固有のドキュメントを見つけてください。
このガイドでは全てのコマンドを root
で実行します。
例として、コマンドに sudo
を付けたり、 root
になってそのユーザーでコマンドを実行します。
systemdがLinuxのディストリビューションのinitシステムとして選択されている場合、
initプロセスが作成され、rootコントロールグループ(cgroup
)を使い、cgroupマネージャーとして行動します。
systemdはcgroupと密接に統合されており、プロセスごとにcgroupを割り当てます。
cgroupfs
を使うように、あなたのコンテナランライムとkubeletを設定することができます。
systemdと一緒に cgroupfs
を使用するということは、2つの異なるcgroupマネージャーがあることを意味します。
コントロールグループはプロセスに割り当てられるリソースを制御するために使用されます。
単一のcgroupマネージャーは、割り当てられているリソースのビューを単純化し、
デフォルトでは使用可能なリソースと使用中のリソースについてより一貫性のあるビューになります。
2つのマネージャーがある場合、それらのリソースについて2つのビューが得られます。
kubeletとDockerに cgroupfs
を使用し、ノード上で実行されている残りのプロセスに systemd
を使用するように設定されたノードが、
リソース圧迫下で不安定になる場合があります。
あなたのコンテナランタイムとkubeletにcgroupドライバーとしてsystemdを使用するように設定を変更することはシステムを安定させました。
以下のDocker設定の native.cgroupdriver=systemd
オプションに注意してください。
それぞれのマシンに対してDockerをインストールします。 バージョン18.06.2が推奨されていますが、1.11、1.12、1.13、17.03、18.09についても動作が確認されています。 Kubernetesのリリースノートにある、Dockerの動作確認済み最新バージョンについてもご確認ください。
システムへDockerをインストールするには、次のコマンドを実行します。
詳細については、Dockerの公式インストールガイドを参照してください。
このセクションでは、CRIランタイムとしてCRI-O
を利用するために必要な手順について説明します。
システムへCRI-Oをインストールするためには以下のコマンドを利用します:
modprobe overlay
modprobe br_netfilter
# 必要なカーネルパラメータの設定をします。これらの設定値は再起動後も永続化されます。
cat > /etc/sysctl.d/99-kubernetes-cri.conf <<EOF
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF
sysctl --system
systemctl start crio
詳細については、CRI-Oインストールガイドを参照してください。
このセクションでは、CRIランタイムとしてcontainerd
を利用するために必要な手順について説明します。
システムへContainerdをインストールするためには次のコマンドを実行します。
modprobe overlay
modprobe br_netfilter
# 必要なカーネルパラメータの設定をします。これらの設定値は再起動後も永続化されます。
cat > /etc/sysctl.d/99-kubernetes-cri.conf <<EOF
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF
sysctl --system
Containerdは定期的にリリースされますが、以下に示すコマンドで利用している値は、この手順が作成された時点での最新のバージョンにしたがって書かれています。より新しいバージョンとダウンロードするファイルのハッシュ値についてはこちらで確認するようにしてください。
# 必要な環境変数をexportします。
export CONTAINERD_VERSION="1.1.2"
export CONTAINERD_SHA256="d4ed54891e90a5d1a45e3e96464e2e8a4770cd380c21285ef5c9895c40549218"
# 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
詳細についてはFraktiのクイックスタートガイドを参照してください。