Я настроил kubernetes с одним узлом в соответствии с официальным руководством .
В дополнение к официальной документации я настроил кластер с одним узлом:
kubectl taint nodes --all node-role.kubernetes.io/master-
Отключено ограничение на выселение:
cat << EOF >> /var/lib/kubelet/config.yaml
evictionHard:
imagefs.available: 1%
memory.available: 100Mi
nodefs.available: 1%
nodefs.inodesFree: 1%
EOF
systemctl daemon-reload
systemctl restart kubelet
И настроен драйвер systemd для Docker:
cat << EOF > /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
systemctl daemon-reload
systemctl restart docker
Я пробовал следующее:
docker build -t localhost:5000/my-image .
kubectl run -it --rm --restart=Always --image=localhost:5000/my-image my-image
Но в логах pod я вижу ImagePullBackOff
. Если я настраиваю локальный репозиторий, и я делаю docker push localhost:5000/my-image
после создания образа, то все работает.
Возможно ли использовать локальные образы (которые уже доступны после выдачи docker images
) без необходимости настройки локальный репозиторий, нажав на этот репозиторий, а затем вытащив из него?