プライベート パッケージ リポジトリ サーバーを使用する

GKE on Bare Metal では、独自のプライベート パッケージ リポジトリ サーバーの使用をサポートしています。この機能を使用すると、デプロイメント内の各ベアメタル マシンへのパッケージ リポジトリの追加が省略されます。ここでは、GKE on Bare Metal で使用可能なパッケージをすべて利用できるように、プライベート パッケージ リポジトリ サーバーに準備する必要があるパッケージと依存関係の一覧を示します。

準備

Linux ディストリビューションに必要なすべてのパッケージと依存関係がパッケージ リポジトリに含まれている状態にします。

すべてのベアメタル マシンが独自のパッケージ リポジトリ サーバーに到達し、すでに使用されていることを確認します。

デフォルトのパッケージ リポジトリの追加を省略する

デフォルトでは、GKE on Bare Metal は Docker apt リポジトリと必要な GPG 鍵をマシンに追加します。

デフォルトの代わりに、独自のパッケージ リポジトリを使用するには、クラスタ構成ファイルの osEnvironmentConfig セクションで addPackageRepo フィールドを false に設定します。

構成のエントリは、次の例のようになります。

apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
  name: cluster1
  namespace: cluster-cluster1
spec:
  osEnvironmentConfig:
    addPackageRepo: false

必要なパッケージとその依存関係

GKE on Bare Metal は、マシンに次のパッケージをインストールしようとします。プライベート パッケージ リポジトリ サーバーには、下記のすべてのパッケージと依存関係の下表に示すバージョンが含まれている必要があります。

Ubuntu 18.04 と 20.04

パッケージ 依存関係
python3(>= 3.6.7-1) python3.6(>= 3.6.7-1~)
libpython3-stdlib(= 3.6.7-1~18.04)
apt-transport-https(>= 1.6.12) apt(>= 1.5)
ca-certificates(>=20210119) openssl(>= 1.1.0)
debconf(>= 0.5) | debconf-2.0
conntrack(>= 1:1.4.4+snapshot20161117-6) libc6(>= 2.14)
libmnl0(>= 1.0.3-4~)
libnetfilter-conntrack3
libnfnetlink
curl(>= 7.58.0) libc6(>= 2.17)
libcurl4(= 7.58.0-2ubuntu3.12)
zlib1g(>= 1:1.1.4)
software-properties-common(>= 0.96.24.32.14) python3:any(>= 3.3.2-2~)
python3
python3-gi
gir1.2-glib-2.0
python-apt-common(>= 0.9)
python3-dbus
python3-software-properties(= 0.96.24.32.14)
ca-certificates
gnupg2(>= 2.2.4) gnupg(>= 2.2.4-1ubuntu1.4)
socat(>= 1.7.3.2) libc6(>= 2.15)
libssl1.1(>= 1.1.0)
libwrap0(>= 7.6-4~)
iproute2(>= 4.15.0) libc6(>= 2.27)
libdb5.3
libelf1(>= 0.131)
libmnl0(>= 1.0.3-4~)
libselinux1(>= 2.0.15)
ebtables(>= 2.0.10.4-3.5) libc6(>= 2.14)
ethtool(>= 1:4.15-0)
logrotate(>= 3.11.0) libacl1(>= 2.2.51-8)
libc6(>= 2.14)
libpopt0(>= 1.14)
libselinux1(>= 1.32)
cron | anacron | cron-daemon
base-passwd(>= 2.0.3.4)
libseccomp-dev (>= 2.5) libseccomp2

CentOS 8 と RHEL

パッケージ 依存関係
python36(>= 3.6.8) /bin/sh
/usr/libexec/platform-python
/usr/sbin/alternatives
python3-pip
python3-setuptools
conntrack(>= 1.4.4-10.el8) /bin/sh
libc.so.6(GLIBC_2.15)(64 ビット)
libdl.so.2()(64 ビット)
libdl.so.2(GLIBC_2.2.5)(64 ビット)
libmnl.so.0()(64 ビット)
libmnl.so.0(LIBMNL_1.0)(64 ビット)
libnetfilter_conntrack.so.3()(64 ビット)
libnetfilter_cthelper.so.0()(64 ビット)
libnetfilter_cthelper.so.0(LIBNETFILTER_CTHELPER_1.0)(64 ビット)
libnetfilter_cttimeout.so.1()(64 ビット)
libnetfilter_cttimeout.so.1(LIBNETFILTER_CTTIMEOUT_1.0)(64 ビット)
libnetfilter_cttimeout.so.1(LIBNETFILTER_CTTIMEOUT_1.1)(64 ビット)
libnetfilter_queue.so.1()(64 ビット)
libnfnetlink.so.0()(64 ビット)
libsystemd.so.0()(64 ビット)
libsystemd.so.0(LIBSYSTEMD_209)(64 ビット)
rtld(GNU_HASH)
systemd
device-mapper-persistent-data(>= 0.8.5-4.el8) expat
libaio.so.1()(64 ビット)
libaio.so.1(LIBAIO_0.1)(64 ビット)
libaio.so.1(LIBAIO_0.4)(64 ビット)
libc.so.6(GLIBC_2.16)(64 ビット)
libdl.so.2()(64 ビット)
libdl.so.2(GLIBC_2.2.5)(64 ビット)
libexpat.so.1()(64 ビット)
libgcc_s.so.1()(64 ビット)
libgcc_s.so.1(GCC_3.0)(64 ビット)
libm.so.6()(64 ビット)
libm.so.6(GLIBC_2.2.5)(64 ビット)
libstdc++.so.6()(64 ビット)
libstdc++.so.6(CXXABI_1.3)(64 ビット)
libstdc++.so.6(GLIBCXX_3.4)(64 ビット)
libstdc++.so.6(GLIBCXX_3.4.11)(64 ビット)
libstdc++.so.6(GLIBCXX_3.4.15)(64 ビット)
libstdc++.so.6(GLIBCXX_3.4.20)(64 ビット)
libstdc++.so.6(GLIBCXX_3.4.21)(64 ビット)
libstdc++.so.6(GLIBCXX_3.4.9)(64 ビット)
rtld(GNU_HASH)
dnf-plugins-core(>= 4.0.17-5.el8) python3-dnf-plugins-core = 4.0.17-5.el8
lvm2(>= 8:2.03.09-5.el8) /bin/bash
/bin/sh
bash >= 4.0
device-mapper-persistent-data >= 0.7.0-0.1.rc6
libaio.so.1()(64 ビット)
libaio.so.1(LIBAIO_0.1)(64 ビット)
libaio.so.1(LIBAIO_0.4)(64 ビット)
libblkid.so.1()(64 ビット)
libblkid.so.1(BLKID_1.0)(64 ビット)
libblkid.so.1(BLKID_2.15)(64 ビット)
libblkid.so.1(BLKID_2.17)(64 ビット)
libblkid.so.1(BLKID_2.23)(64 ビット)
libc.so.6(GLIBC_2.28)(64 ビット)
libdevmapper-event.so.1.02()(64 ビット)
libdevmapper-event.so.1.02(Base)(64 ビット)
libdevmapper.so.1.02()(64 ビット)
libm.so.6()(64 ビット)
libm.so.6(GLIBC_2.2.5)(64 ビット)
libpthread.so.0()(64 ビット)
libpthread.so.0(GLIBC_2.2.5)(64 ビット)
libreadline.so.7()(64 ビット)
libselinux.so.1()(64 ビット)
libsepol.so.1()(64 ビット)
libsystemd.so.0()(64 ビット)
libsystemd.so.0(LIBSYSTEMD_221)(64 ビット)
libsystemd.so.0(LIBSYSTEMD_222)(64 ビット)
libudev.so.1()(64 ビット)
libudev.so.1(LIBUDEV_183)(64 ビット)
lvm2-libs = 8:2.03.09-5.el8
module-init-tools
rtld(GNU_HASH)
systemd-sysv
systemd-units >= 189-3
socat(>= 1.7.3.3-2.el8) libc.so.6(GLIBC_2.15)(64 ビット)
libcrypto.so.1.1()(64 ビット)
libcrypto.so.1.1(OPENSSL_1_1_0)(64 ビット)
libreadline.so.7()(64 ビット)
librt.so.1()(64 ビット)
librt.so.1(GLIBC_2.2.5)(64 ビット)
libssl.so.1.1()(64 ビット)
libssl.so.1.1(OPENSSL_1_1_0)(64 ビット)
libutil.so.1()(64 ビット)
libutil.so.1(GLIBC_2.2.5)(64 ビット)
rtld(GNU_HASH)
iproute(>= 5.3.0-5.el8) /bin/sh
libc.so.6(GLIBC_2.27)(64 ビット)
libdb-5.3.so()(64 ビット)
libdl.so.2()(64 ビット)
libdl.so.2(GLIBC_2.2.5)(64 ビット)
libelf.so.1()(64 ビット)
libelf.so.1(ELFUTILS_1.0)(64 ビット)
libm.so.6()(64 ビット)
libm.so.6(GLIBC_2.2.5)(64 ビット)
libmnl.so.0()(64 ビット)
libmnl.so.0(LIBMNL_1.0)(64 ビット)
libselinux.so.1()(64 ビット)
rtld(GNU_HASH)
iproute-tc(>= 5.3.0-5.el8)
iptables-ebtables(>= 1.8.4-15.el8_3.3) /bin/bash
/bin/sh
iptables = 1.8.4-15.el8_3.3
ethtool(>= 2:5.0-2.el8) libc.so.6(GLIBC_2.14)(64 ビット)
libm.so.6()(64 ビット)
libm.so.6(GLIBC_2.2.5)(64 ビット)
rtld(GNU_HASH)
logrotate(>= 3.14.0) /bin/sh
coreutils
libacl.so.1()(64 ビット)
libacl.so.1(ACL_1.0)(64 ビット)
libc.so.6(GLIBC_2.27)(64 ビット)
libpopt.so.0()(64 ビット)
libpopt.so.0(LIBPOPT_0)(64 ビット)
libselinux.so.1()(64 ビット)
rtld(GNU_HASH)
libseccomp-devel (>= 2.5)

Docker には、次の追加パッケージが必要です。

Ubuntu 18.04 と 20.04

パッケージ 依存関係
containerd.io (= 1.5.13*) libc6 (>= 2.14), libseccomp2 (>= 2.5.0)
docker-ce(= 5:19.03.13*) containerd.io(>= 1.4.1)、docker-ce-cli, iptables, libseccomp2(>= 2.3.0)、libc6(>= 2.8)、libdevmapper1.02.1(>= 2:1.02.97)、libsystemd0
docker-ce-cli version:(= 5:19.03.13*) libc6(>= 2.4)

CentOS 8 と RHEL

パッケージ 依存関係
containerd.io (= 1.5.13*) container-selinux >= 2:2.74
libseccomp
systemd
docker-ce(= 3:19.03.13*) (iptables または nftables)
container-selinux >= 2:2.74
containerd.io >= 1.2.2-3
device-mapper-libs >= 1.02.90-1
docker-ce-cli
libc.so.6(GLIBC_2.3)(64 ビット)
libcgroup
libdevmapper.so.1.02()(64 ビット)
libdevmapper.so.1.02(Base)(64 ビット)
libdevmapper.so.1.02(DM_1_02_97)(64 ビット)
libdl.so.2()(64 ビット)
libdl.so.2(GLIBC_2.2.5)(64 ビット)
libpthread.so.0()(64 ビット)
libpthread.so.0(GLIBC_2.2.5)(64 ビット)
libpthread.so.0(GLIBC_2.3.2)(64 ビット)
libseccomp >= 2.3
libseccomp.so.2()(64 ビット)
libsystemd.so.0()(64 ビット)
libsystemd.so.0(LIBSYSTEMD_209)(64 ビット)
rtld(GNU_HASH)
systemd
tar
xz
docker-ce-cli version:(= 1:19.03.13*) libc.so.6(GLIBC_2.3)(64 ビット)
libdl.so.2()(64 ビット)
libdl.so.2(GLIBC_2.2.5)(64 ビット)
libpthread.so.0()(64 ビット)
libpthread.so.0(GLIBC_2.2.5)(64 ビット)
libpthread.so.0(GLIBC_2.3.2)(64 ビット)
rtld(GNU_HASH)