В вашем выводе "dial tcp 74.125.205.128:443: i/o timeout"
, что означает, что у вас проблема с сетью при подключении к этому IP. Возможно, вы находитесь в частной сети, в которой нет доступа к Интернету, или в каком-то месте, где заблокированы службы Google (например, в Китае).
Поскольку kubespray является анзильным проектом, есть два способа решить эту проблему:
1. Загрузить изображения с других зеркальных сайтов
, например Alibaba Cloud
(крупнейший облачный провайдер в Китае). Все изображения Docker: https://dev.aliyun.com/search.html
URL-адрес изображения google_containers/k8s-dns-sidecar-amd64
:
https://dev.aliyun.com/detail.html?spm=5176.1972343.2.2.CvJhAO&repoId=44875
Вы можете вытащить изображение и повторно пометить его, а затем использовать его локально:
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-sidecar-amd64:1.14.10
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-sidecar-amd64:1.14.10 gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.10
Но изображений так много, и у вас может быть много узлов k8s, это отличная работа!
Итак, будет другой способ.
2. Воспользуйтесь преимуществами ответных ролей
Все переменные, определенные в ролях МОЖЕТ БЫТЬ ПЕРЕКЛЮЧЕНО .
найти все image_repo
реестра Google Cloud в roles/download/defaults/main.yml
:
grep "image_repo:" ./roles/download/defaults/main.yml | grep "gcr.io"
затем поместите их в файл vars.yaml
или другое имя, замените gcr.io
на registry.cn-hangzhou.aliyuncs.com
:
mkdir -p inventory/mycluster/group_vars/k8s-cluster
mv inventory/mycluster/group_vars/k8s-cluster.yml inventory/mycluster/group_vars/
cat > inventory/mycluster/group_vars/k8s-cluster/vars.yml << EOF
hyperkube_image_repo: "registry.cn-hangzhou.aliyuncs.com/google-containers/hyperkube"
pod_infra_image_repo: "registry.cn-hangzhou.aliyuncs.com/google_containers/pause-amd64"
kubedns_image_repo: "registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-kube-dns-amd64"
dnsmasq_nanny_image_repo: "registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-dnsmasq-nanny-amd64"
dnsmasq_sidecar_image_repo: "registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-sidecar-amd64"
dnsmasqautoscaler_image_repo: "registry.cn-hangzhou.aliyuncs.com/google_containers/cluster-proportional-autoscaler-amd64"
kubednsautoscaler_image_repo: "registry.cn-hangzhou.aliyuncs.com/google_containers/cluster-proportional-autoscaler-amd64"
elasticsearch_image_repo: "registry.cn-hangzhou.aliyuncs.com/google_containers/elasticsearch"
fluentd_image_repo: "registry.cn-hangzhou.aliyuncs.com/google_containers/fluentd-elasticsearch"
kibana_image_repo: "registry.cn-hangzhou.aliyuncs.com/google_containers/kibana"
tiller_image_repo: "registry.cn-hangzhou.aliyuncs.com/kubernetes-helm/tiller"
registry_proxy_image_repo: "registry.cn-hangzhou.aliyuncs.com/google_containers/kube-registry-proxy"
ingress_nginx_default_backend_image_repo: "registry.cn-hangzhou.aliyuncs.com/google_containers/defaultbackend"
EOF
Наконец-то запусти свою пьесу
ansible-playbook -i inventory/mycluster/hosts.ini cluster.yml
Аналогичным образом, если вы не можете загрузить изображения из Docker Hub , вам следует изменить URL-адрес изображения Docker Hub , добавить их в vars.yaml
и перезапустить вашу книгу воспроизведения:
istio_statsd_image_repo: registry.docker-cn.com/prom/statsd-exporter
install_socat_image_repo: registry.docker-cn.com/"xueshanf/install-socat"
weave_kube_image_repo: registry.docker-cn.com/"weaveworks/weave-kube"
weave_npc_image_repo: registry.docker-cn.com/"weaveworks/weave-npc"
contiv_image_repo: registry.docker-cn.com/"contiv/netplugin"
contiv_auth_proxy_image_repo: registry.docker-cn.com/"contiv/auth_proxy"
nginx_image_repo: registry.docker-cn.com/nginx
dnsmasq_image_repo: registry.docker-cn.com/"andyshinn/dnsmasq"
test_image_repo: registry.docker-cn.com/busybox
helm_image_repo: registry.docker-cn.com/"lachlanevenson/k8s-helm"
vault_image_repo: registry.docker-cn.com/"vault"
registry_image_repo: registry.docker-cn.com/"registry"
Вышеуказанные методы не являются лучшим способом загрузки изображений в заблокированных сетях. Лучше всего иметь VPS и установить прокси, используя docker registry
или neuxs 3.x
, и сделать его прокси для всех репозиториев https://gcr.io
、 https://quay.io
и https://registry-1.docker.io
.