Ошибки извлечения изображений GKE для определенных общедоступных образов Docker Hub
Я использую GKE для развертывания некоторых общедоступных образов, таких как redis и postgres. Но я столкнулся с интересной проблемой, когда он не извлекает изображения, по-видимому, с определенными тегами. Я все время получаю следующую ошибку:
Не удалось получить изображение "postgres:alpine": ошибка rpc: code = Unknown desc = Ошибка, ответ от демона: получить https://registry-1.docker.io/v2/: net / http: запрос отменен во время ожидания подключения (Client.Timeout превышен при ожидании заголовков)
Я пытался найти закономерность в тех, которые работают, и в тех, которые не работают, кажется, что без тегов всегда работают; Некоторые примеры изображений, которые работали:
redis:alpine
postgres
И те, у которых нет:
postgres:alpine
postgres:12
Я подтвердил, что могу загрузить все эти изображения на свой локальный компьютер, используя docker pull
.
Вот пример файла kube для развертывания, который я использовал:
apiVersion: apps/v1
kind: Deployment
metadata:
name: postgres
labels:
app: postgres
spec:
replicas: 1
selector:
matchLabels:
app: postgres
template:
metadata:
labels:
app: postgres
spec:
containers:
- image: postgres:alpine
name: postgres
ports:
- containerPort: 5432
name: postgres
Надеюсь, я пропустил что-то очень очевидное. Ура.
1 ответ
Надеюсь, я пропустил что-то очень очевидное. Ура.
Я думаю, вы ничего не пропустили и наверняка все, что очевидно и может быть легко указано в вашей конфигурации.
Я искал некоторую информацию, связанную с этой проблемой, и оказалось, что она уже широко обсуждалась, например, здесь, и были предоставлены различные решения.
Об этом также сообщалось на GitHub:
А также на форумах докеров.
Подведем итоги:
- Похоже, что в некоторых случаях проблема может быть связана с использованием дополнительного брандмауэра или прокси. См. Также этот пост.
- Может быть связано с настройками DNS и настройкой
8.8.8.8
поскольку ваш основной DNS обычно решает проблему. Многие люди в разных темах на GitHub сообщили, что это решение сработало для них, например, здесь или здесь.
Или даже простой перезапуск докера может помочь;)
Вышеупомянутые проблемы могут быть более вероятными при локальной установке кубернетов.
Что касается GKE, похоже, о подобной проблеме тоже сообщалось. Комментарии к этому общедоступному выпуску могут указывать на то, что проблема может возникать и в некоторых более новых версиях GKE.
Я обнаружил, что это также описано в официальных документах GKE, но обычно это происходит, и вы получаете аналогичное сообщение об ошибке при работе с частными кластерами, но это может предполагать, что даже в стандартных кластерах GKE проблема может быть связана с ограниченным исходящим подключением к общедоступному Интернету..