Usar um servidor particular de repositório de pacotes

O GKE em Bare Metal é compatível com o uso de seu próprio servidor de repositório de pacotes particular. Use esse recurso para pular a adição de repositórios de pacotes em cada máquina bare metal na implantação. Para garantir que os clusters do GKE em Bare Metal tenham todos os pacotes necessários disponíveis, esta página lista todos os pacotes e dependências necessários para preparar o servidor particular de repositório de pacotes.

Antes de começar

Verifique se o repositório de pacotes inclui todos os pacotes e dependências necessários para a distribuição do Linux.

Certifique-se de que todas as suas máquinas bare metal possam acessar e já usar seu próprio servidor de repositório de pacotes.

Não adicionar o repositório de pacotes padrão

Por padrão, o GKE em Bare Metal adiciona o repositório apt do Docker e a chave GPG necessária às máquinas.

Para usar seu próprio repositório de pacotes, defina o campo addPackageRepo como false na seção osEnvironmentConfig no arquivo de configuração do cluster.

A entrada na sua configuração será semelhante a esta:

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

Pacotes necessários e suas dependências

O GKE em Bare Metal tenta instalar os pacotes a seguir em suas máquinas. Seu servidor particular de repositório de pacotes precisa conter todos os pacotes e as dependências deles com as versões listadas abaixo.

Ubuntu 18.04 e 20.04

Pacote Dependências
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 e RHEL

Pacote Dependências
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)(64bit)
libdl.so.2()(64bit)
libdl.so.2(GLIBC_2.2.5)(64bit)
libmnl.so.0()(64bit)
libmnl.so.0(LIBMNL_1.0)(64bit)
libnetfilter_conntrack.so.3()(64bit)
libnetfilter_cthelper.so.0()(64bit)
libnetfilter_cthelper.so.0(LIBNETFILTER_CTHELPER_1.0)(64bit)
libnetfilter_cttimeout.so.1()(64bit)
libnetfilter_cttimeout.so.1(LIBNETFILTER_CTTIMEOUT_1.0)(64bit)
libnetfilter_cttimeout.so.1(LIBNETFILTER_CTTIMEOUT_1.1)(64bit)
libnetfilter_queue.so.1()(64bit)
libnfnetlink.so.0()(64bit)
libsystemd.so.0()(64bit)
libsystemd.so.0(LIBSYSTEMD_209)(64bit)
rtld(GNU_HASH)
systemd
device-mapper-persistent-data (>= 0.8.5-4.el8) expat
libaio.so.1()(64bit)
libaio.so.1(LIBAIO_0.1)(64bit)
libaio.so.1(LIBAIO_0.4)(64bit)
libc.so.6(GLIBC_2.16)(64bit)
libdl.so.2()(64bit)
libdl.so.2(GLIBC_2.2.5)(64bit)
libexpat.so.1()(64bit)
libgcc_s.so.1()(64bit)
libgcc_s.so.1(GCC_3.0)(64bit)
libm.so.6()(64bit)
libm.so.6(GLIBC_2.2.5)(64bit)
libstdc++.so.6()(64bit)
libstdc++.so.6(CXXABI_1.3)(64bit)
libstdc++.so.6(GLIBCXX_3.4)(64bit)
libstdc++.so.6(GLIBCXX_3.4.11)(64bit)
libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
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()(64bit)
libaio.so.1(LIBAIO_0.1)(64bit)
libaio.so.1(LIBAIO_0.4)(64bit)
libblkid.so.1()(64bit)
libblkid.so.1(BLKID_1.0)(64bit)
libblkid.so.1(BLKID_2.15)(64bit)
libblkid.so.1(BLKID_2.17)(64bit)
libblkid.so.1(BLKID_2.23)(64bit)
libc.so.6(GLIBC_2.28)(64bit)
libdevmapper-event.so.1.02()(64bit)
libdevmapper-event.so.1.02(Base)(64bit)
libdevmapper.so.1.02()(64bit)
libm.so.6()(64bit)
libm.so.6(GLIBC_2.2.5)(64bit)
libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit)
libreadline.so.7()(64bit)
libselinux.so.1()(64bit)
libsepol.so.1()(64bit)
libsystemd.so.0()(64bit)
libsystemd.so.0(LIBSYSTEMD_221)(64bit)
libsystemd.so.0(LIBSYSTEMD_222)(64bit)
libudev.so.1()(64bit)
libudev.so.1(LIBUDEV_183)(64bit)
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)(64bit)
libcrypto.so.1.1()(64bit)
libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)
libreadline.so.7()(64bit)
librt.so.1()(64bit)
librt.so.1(GLIBC_2.2.5)(64bit)
libssl.so.1.1()(64bit)
libssl.so.1.1(OPENSSL_1_1_0)(64bit)
libutil.so.1()(64bit)
libutil.so.1(GLIBC_2.2.5)(64bit)
rtld(GNU_HASH)
iproute (>= 5.3.0-5.el8) /bin/sh
libc.so.6(GLIBC_2.27)(64bit)
libdb-5.3.so()(64bit)
libdl.so.2()(64bit)
libdl.so.2(GLIBC_2.2.5)(64bit)
libelf.so.1()(64bit)
libelf.so.1(ELFUTILS_1.0)(64bit)
libm.so.6()(64bit)
libm.so.6(GLIBC_2.2.5)(64bit)
libmnl.so.0()(64bit)
libmnl.so.0(LIBMNL_1.0)(64bit)
libselinux.so.1()(64bit)
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)(64bit)
libm.so.6()(64bit)
libm.so.6(GLIBC_2.2.5)(64bit)
rtld(GNU_HASH)
logrotate (>= 3.14.0) /bin/sh
coreutils
libacl.so.1()(64bit)
libacl.so.1(ACL_1.0)(64bit)
libc.so.6(GLIBC_2.27)(64bit)
libpopt.so.0()(64bit)
libpopt.so.0(LIBPOPT_0)(64bit)
libselinux.so.1()(64bit)
rtld(GNU_HASH)
libseccomp-devel (>= 2.5)

O Docker requer os seguintes pacotes adicionais:

Ubuntu 18.04 e 20.04

Pacote Dependências
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
versão docker-ce-cli: (= 5:19.03.13*) libc6 (>= 2.4)

CentOS 8 e RHEL

Pacote Dependências
containerd.io (= 1.5.13*) container-selinux >= 2:2.74
libseccomp
systemd
docker-ce (= 3:19.03.13*) (iptables or 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)(64bit)
libcgroup
libdevmapper.so.1.02()(64bit)
libdevmapper.so.1.02(Base)(64bit)
libdevmapper.so.1.02(DM_1_02_97)(64bit)
libdl.so.2()(64bit)
libdl.so.2(GLIBC_2.2.5)(64bit)
libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit)
libpthread.so.0(GLIBC_2.3.2)(64bit)
libseccomp >= 2.3
libseccomp.so.2()(64bit)
libsystemd.so.0()(64bit)
libsystemd.so.0(LIBSYSTEMD_209)(64bit)
rtld(GNU_HASH)
systemd
tar
xz
versão docker-ce-cli: (= 1:19.03.13*) libc.so.6(GLIBC_2.3)(64bit)
libdl.so.2()(64bit)
libdl.so.2(GLIBC_2.2.5)(64bit)
libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit)
libpthread.so.0(GLIBC_2.3.2)(64bit)
rtld(GNU_HASH)