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) |