1つのコマンド解決kubeadmを使用してkubernetesをk 8 sからインストール.gcr.io引き抜きミラーリングに失敗した問題
4447 ワード
の原因となる kubernetes
のインストール時にk8s.gcr.io
からミラーを引く必要があるため、このサイトはわが国に遮断され、国内で正常にアクセスできず、kubernetes
の正常なインストールができなかった.
ここでは、Docker
の公式デフォルトミラープラットフォームからミラーを引き出し、tag
を再ダイヤルする方法を紹介することによって、k8s.gcr.io
へのアクセスを迂回する.
ソリューション kubeadm config images list
を実行することによって、プルする必要があるミラーリストを取得し、sed
を介して実行する必要があるコマンドにフォーマットする.
コマンドは次のとおりです.kubeadm config images list
kubeadm config images list 2>/dev/null | sed 's/k8s.gcr.io/docker pull mirrorgcrio/g' | sudo sh
kubeadm config images list 2>/dev/null | sed 's/k8s.gcr.io\(.*\)/docker tag mirrorgcrio\1 k8s.gcr.io\1/g' | sudo sh
kubeadm config images list 2>/dev/null | sed 's/k8s.gcr.io/docker image rm mirrorgcrio/g' | sudo sh
コマンド機能
ここで、1行目のコマンドは、情報を印刷するためのものであり、主に2〜4行目のコマンドを用いて必要なコマンドを実行する.
kubeadm config images list
を実行することによって、プルする必要があるミラーリストを取得し、sed
を介して実行する必要があるコマンドにフォーマットする.コマンドは次のとおりです.
kubeadm config images list
kubeadm config images list 2>/dev/null | sed 's/k8s.gcr.io/docker pull mirrorgcrio/g' | sudo sh
kubeadm config images list 2>/dev/null | sed 's/k8s.gcr.io\(.*\)/docker tag mirrorgcrio\1 k8s.gcr.io\1/g' | sudo sh
kubeadm config images list 2>/dev/null | sed 's/k8s.gcr.io/docker image rm mirrorgcrio/g' | sudo sh
コマンド機能
ここで、1行目のコマンドは、情報を印刷するためのものであり、主に2〜4行目のコマンドを用いて必要なコマンドを実行する.
kubeadm config images list 2>/dev/null | sed 's/k8s.gcr.io/docker pull mirrorgcrio/g'
kubeadm config images list 2>/dev/null | sed 's/k8s.gcr.io\(.*\)/docker tag mirrorgcrio\1 k8s.gcr.io\1/g'
kubeadm config images list 2>/dev/null | sed 's/k8s.gcr.io/docker image rm mirrorgcrio/g'
まず、コマンド1によりミラープルコマンドを生成する。
core@localhost ~ $ kubeadm config images list 2>/dev/null | sed 's/k8s.gcr.io/docker pull mirrorgcrio/g'
docker pull mirrorgcrio/kube-apiserver:v1.17.4
docker pull mirrorgcrio/kube-controller-manager:v1.17.4
docker pull mirrorgcrio/kube-scheduler:v1.17.4
docker pull mirrorgcrio/kube-proxy:v1.17.4
docker pull mirrorgcrio/pause:3.1
docker pull mirrorgcrio/etcd:3.4.3-0
docker pull mirrorgcrio/coredns:1.6.5
上記出力を実行して
https://hub.docker.com//mirrorgcrio/xxx
からk8s.gcr.io
対応のミラーを引き抜く.次に、コマンド2によりdocker tagコマンドを生成してミラーの名前を変更します。
core@localhost ~ $ kubeadm config images list 2>/dev/null | sed 's/k8s.gcr.io\(.*\)/docker tag mirrorgcrio\1 k8s.gcr.io\1/g'
docker tag mirrorgcrio/kube-apiserver:v1.17.4 k8s.gcr.io/kube-apiserver:v1.17.4
docker tag mirrorgcrio/kube-controller-manager:v1.17.4 k8s.gcr.io/kube-controller-manager:v1.17.4
docker tag mirrorgcrio/kube-scheduler:v1.17.4 k8s.gcr.io/kube-scheduler:v1.17.4
docker tag mirrorgcrio/kube-proxy:v1.17.4 k8s.gcr.io/kube-proxy:v1.17.4
docker tag mirrorgcrio/pause:3.1 k8s.gcr.io/pause:3.1
docker tag mirrorgcrio/etcd:3.4.3-0 k8s.gcr.io/etcd:3.4.3-0
docker tag mirrorgcrio/coredns:1.6.5 k8s.gcr.io/coredns:1.6.5
上記の出力を実行すると、
https://hub.docker.com//mirrorgcrio/xxx
のミラーは、docker tag
を打つことによってk8s.gcr.io
のフォーマットに名前が変更されます.最後に、コマンド3によりdocker image rmコマンドを生成して元のミラーを削除する。
core@localhost ~ $ kubeadm config images list 2>/dev/null | sed 's/k8s.gcr.io/docker image rm mirrorgcrio/g'
docker image rm mirrorgcrio/kube-apiserver:v1.17.4
docker image rm mirrorgcrio/kube-controller-manager:v1.17.4
docker image rm mirrorgcrio/kube-scheduler:v1.17.4
docker image rm mirrorgcrio/kube-proxy:v1.17.4
docker image rm mirrorgcrio/pause:3.1
docker image rm mirrorgcrio/etcd:3.4.3-0
docker image rm mirrorgcrio/coredns:1.6.5
上記の出力を実行すると、
https://hub.docker.com//mirrorgcrio/xxx
から引き出されたミラーが削除されます.ミラーの表示 docker image ls
を実行して、ミラーが正常にプルされたかどうかを確認します.core@localhost ~ $ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
k8s.gcr.io/kube-proxy v1.17.4 6dec7cfde1e5 10 days ago 116MB
k8s.gcr.io/kube-apiserver v1.17.4 2e1ba57fe95a 10 days ago 171MB
k8s.gcr.io/kube-controller-manager v1.17.4 7f997fcf3e94 10 days ago 161MB
k8s.gcr.io/kube-scheduler v1.17.4 5db16c1c7aff 10 days ago 94.4MB
k8s.gcr.io/coredns 1.6.5 70f311871ae1 4 months ago 41.6MB
k8s.gcr.io/etcd 3.4.3-0 303ce5db0e90 4 months ago 288MB
k8s.gcr.io/pause 3.1 da86e6ba6ca1 2 years ago 742kB
ここまで、ミラーは引き抜きに成功し、kubernetes
のインストールを継続することができます.
core@localhost ~ $ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
k8s.gcr.io/kube-proxy v1.17.4 6dec7cfde1e5 10 days ago 116MB
k8s.gcr.io/kube-apiserver v1.17.4 2e1ba57fe95a 10 days ago 171MB
k8s.gcr.io/kube-controller-manager v1.17.4 7f997fcf3e94 10 days ago 161MB
k8s.gcr.io/kube-scheduler v1.17.4 5db16c1c7aff 10 days ago 94.4MB
k8s.gcr.io/coredns 1.6.5 70f311871ae1 4 months ago 41.6MB
k8s.gcr.io/etcd 3.4.3-0 303ce5db0e90 4 months ago 288MB
k8s.gcr.io/pause 3.1 da86e6ba6ca1 2 years ago 742kB