国内引っ張っグーグルkubernetesミラー
免責事項:この記事はブロガーオリジナル記事です、ソースを明記してください。HTTPS:// blog.csdn.net/networken/article/details/84571373 原作者に感謝。
序文
国内の倉庫にアクセスミラーリング
ドッカーハブのミラー倉庫を
https://hub.docker.com/
アリクラウドミラーリポジトリ:
https://cr.console.aliyun.com
RedHatのミラー倉庫:
https://access.redhat.com/コンテナ
国内アクセスできないミラー倉庫
Google画像倉庫:
https://console.cloud.google.com/gcr/images/google-containers/GLOBAL
CoreOSミラー倉庫:
https://quay.io/repository/
回避策:
- kubernetesクラスタを展開する場合、あなたは鏡に関連するGoogle画像倉庫kubernetesコンポーネントから取得し、coreos倉庫からフランネルネットワークプラグインの画像を取得する必要がありますが、dockerhubやアリの雲の倉庫は基本的に他の人を検索することができ、鏡の中のこれら二つの倉庫が含まれていますアップロード私達はちょうどすることができ、バックローカルのデフォルトの画像タグに未来へ引っ張っする必要があります。
- あなたはGoogleのイメージ名の前にmirrorgooglecontainersを追加することができますので、Googleの倉庫に加算dockerhubでは、ミラーをミラー化されている、あなたは、プルグーグルできるバックデフォルトのタグに同じ変更後のローカル倉庫に引っ張るdockerhub直接Googleの画像を取ることができます。
例えばKUBE-apiserver-AMD64を引っ張っ:v1.13.2イメージを次の形式を使用します:
ミラー#のGoogleのデフォルトの書式 k8s.gcr.io / KUBE-apiserver :. V1 13.2 dockerhub#ミラー引っ張っ $ドッカーがmirrorgooglecontainersプル / KUBE-apiserver-AMD64 :. V1 13.2 #タグ変更 $ドッカータグmirrorgooglecontainers / KUBE-apiserver-AMD64を:V1 13.2。k8s.gcr.io/kube-apiserver-amd64:v1 13.2 #成功したミラーリング引っ張る $ドッカーロイヤリティーフリーを | grepをkube- apiserver mirrorgooglecontainers / KUBE-apiserverのAMD64-V1。13.2 177db4b8e93a 2 ヶ月前メンバー181メガバイト K8S。 gcr.io / AMD64 KUBE-apiserver-V1。13.2 177db4b8e93a 2ヶ月前に181メガバイト
倉庫の検索やプルからアリ雲の画像
#アリクラウドリポジトリからミラーミラーを引い registry.cn引っ張る$ドッカー -hangzhou.aliyuncs.com/google_containers/kube-apiserver-amd64:v1を。13.0 #変更ミラーリングタグ $ドッカータグregistry.cn -hangzhou.aliyuncs.com/ google_containers / KUBE-apiserver-AMD64 :. V1 13.0。k8s.gcr.io/kube-apiserver:v1 13.0
個人倉庫を作成します。
我々はまた、一般的にいくつかの方法があり、個々の倉庫をプッシュするGoogleのリポジトリから画像の最新バージョンが必要dockerhubやアリの倉庫に個人的な雲を作成することができます:
1.購入、クラウドサーバは
最も簡単な方法は、ステーションを購入することであることができ、同時に国内外のネットワーククラウドサーバへのアクセス、またはアリクラウド倉庫dockerhubドッキングウィンドウのログインログインを使用して、ドッキングウィンドウのプッシュコマンド押し上げた後、地元の缶に引っ張りました。
あなたは、サーバーと外部ネットワークへのアクセスを購入したくない場合は、それはクラウドシェルGoogleクーポンを使用することをお勧めします。
https://console.cloud.google.com/cloudshell
それは永久的な所有者の自由5G収納スペースのLinuxサーバに似ている、あなたはすべてのドッキングウィンドウのコマンドを実行することができますそしてbashコマンドは、グローバルネットワークにアクセスすることができます。
2.Travis CIプッシュミラーリング
使用トラヴィスCI + GitHubのは、国内の倉庫にミラードッキングウィンドウのプッシュをミラーリングします。
3.Githubミラーが構築され
、国内の倉庫を構築するためにミラーリングされるdockerfileのビルド機能のgithubのを使用します。
参考:https://blog.csdn.net/networken/article/details/85215714
トラヴィスCIプッシュdokcerミラー
以下は、ミラーaliyun又はdockehubをプルする方法トラビスのCI + GitHubのを使用して、第二の方法を記載しています。
githubのリポジトリを作成します。
最初のgithubのリポジトリ、カスタム名を作成し、ログインし、倉庫には、次の3つのファイルが含まれています。
- push-images.sh スクリプトファイル
- imagepath.txtミラーリストファイル
- 自動的にファイルを構築.travis.yaml
例の倉庫:https://github.com/willzhang/DockerImages
push-images.shスクリプトは次のようにタグを演奏し、主ミラーミラー倉庫プル海外から、読み込み、アリの雲やdockerhubにプッシュ。
#!/ binに/ bashの ためのImagePath で $(猫./ imagepath.txt) やる imagenameの = $(エコー$のImagePath | awkの-F ' / ' ' {印刷$ NF} ' ) ドッキングウィンドウプル$のImagePath #プッシュ到阿里云仓库 registry.cnドッキングウィンドウタグの$のImagePath -hangzhou.aliyuncs.com/aliwill/ $のimagenameのの registry.cnドッキングウィンドウのプッシュ -hangzhou.aliyuncs.com/aliwill/ $ imagenameのの #プッシュ到のdockerhub ドッキングウィンドウタグの$のImagePath willdockerhub / $のimagenameの ドッキングウィンドウのプッシュwilldockerhub / $ imagenameのが 行われ
imagepath.txtは例えば、ミラーの完全なパスと名前に注意を払う必要があり、引くことができない国のメインミラーのリストが含まれています。
gcr.io/google-containers/kube-apiserver-amd64:v1.12.0 quay.io/external_storage/nfs-client-provisioner:latest
主にコードを監視.travis.yaml文書は、そのようなtarvisの自動構築をトリガする新しいimagepath.txtミラーリストを書いて、次のように、.travis.yaml文書の読み取りコードの変更がある場合など、githubのリポジトリを、変更します。
言語:バッシュ サービス: - ドッキングウィンドウの スクリプト: -ドッキングウィンドウのログイン-u $ ALI_USERNAME registry.cn-hangzhou.aliyuncs.com - のp $ ALI_PASSWORD -ドッキングウィンドウログイン-uます$ DOCKER_USERNAME - のp $のDOCKER_PASSWORD - bashのpush-images.sh
ここにアリクラウドは、ログインまたはドッキングウィンドウのプッシュ操作を実行するためにdockerhub、良いの$ ALI_USERNAME、このような変数はTravisCI管理インタフェースで定義されていることができている必要があります。
TravisCI設定
:トラヴィスは公式サイトをご覧 、https://www.travis-ci.org/ 使用githubのアカウントのログインを。
倉庫の自動化の必要性建てのオープン:
また、あなたは右上隅に、より多くのオプションをクリックする必要があります- .travis.yamlで定義されている「設定オプションは、アカウントのパスワードやその他の機密パラメータを記述します。
:Gitはgithubのリポジトリにコミットを行う場合には、Gitのプッシュ操作は、自動的に次のような結果がされているビルド、スクリプト実行倉庫建物トリガします
:アリクラウドやdockerhubビューを記録し、imagepath.txtリストの画像が正常に押し上げてきた
注意を:アリクラウドへのプッシュは、デフォルトでプライベートミラーは、手動で開示を変更することができます。
デイリーミラープル法は:
ミラーの完全なパスを書き、imagepath.txtを変更倉庫にコードでトラヴィス-CIモニタの変更を保存した後に引くことが必要である、自動的にミラーが自動的に個々の倉庫に引き込まれる数分後に、構築するきっかけとなりました。
参考:
https://blog.csdn.net/nklinsirui/article/details/80581286