kubernetesのローカルミラーウェアハウスの作成
2479 ワード
k 8 s導入アプリケーションでは、リモートミラーウェアハウスからミラーを引き出す必要があります.デフォルトのリモートミラーはdock hubで、このウェアハウスにアクセスするとタイムアウトや亀速の問題が発生するのは避けられません.では、何か解決策はありますか?
k 8 sローカルミラーを直接実行
直接k 8 sでローカルミラーを実行してコンテナを走らせることができます.ただし、前置条件は、すべてのnodeノードにこのミラーがあることを保証し、ミラープルポリシーを
1)ミラーをすべてのnodeノードに同期するには:
現在のミラーが
Node 1実行:
Node 2実行:
2)Deploymentリソースを変更するyamlファイル
最後にapplyコマンドを実行すればいいですが、もちろんこのスキームは下策にすぎません.同期するたびに時間を無駄にしませんか.
ローカルウェアハウスの作成
デフォルトの中央倉庫の代わりにローカル倉庫を使用し、配置するたびにミラーがローカル倉庫に送信され、k 8 sが特定のノードにスケジューリングされたときにローカル倉庫でミラーを引くと、より速くなります.
1)masterノードを選択してローカル倉庫を構築する:
2)ミラーリングのたびにregistryが
3)すべてのnodeノードがdaemonを更新する.json、
4)デプロイメントフェーズで、Deploymentのyamlファイルを次のように指定します.
ミラーリングのたびに、ミラーのフルネームは
これでローカルウェアハウスが作成されます.
k 8 sローカルミラーを直接実行
直接k 8 sでローカルミラーを実行してコンテナを走らせることができます.ただし、前置条件は、すべてのnodeノードにこのミラーがあることを保証し、ミラープルポリシーを
imagePullPolicy: Never
に指定すればよい.1)ミラーをすべてのnodeノードに同期するには:
現在のミラーが
spring-app:20200906-130657
であると仮定し、tarパケットをミラーし、各nodeノードにscpする.docker save spring-app:20200906-130657 -o spring-app-20200906-130657.tar
scp spring-app-20200906-130657.tar 192.168.6.131:/root/Desktop/docker-image/
scp spring-app-20200906-130657.tar 192.168.6.132:/root/Desktop/docker-image/
Node 1実行:
docker load < spring-app-20200906-130657.tar
Node 2実行:
docker load < spring-app-20200906-130657.tar
2)Deploymentリソースを変更するyamlファイル
containers:
- name: spring-app
image: spring-app:20200906-130657
imagePullPolicy: Never
最後にapplyコマンドを実行すればいいですが、もちろんこのスキームは下策にすぎません.同期するたびに時間を無駄にしませんか.
ローカルウェアハウスの作成
デフォルトの中央倉庫の代わりにローカル倉庫を使用し、配置するたびにミラーがローカル倉庫に送信され、k 8 sが特定のノードにスケジューリングされたときにローカル倉庫でミラーを引くと、より速くなります.
1)masterノードを選択してローカル倉庫を構築する:
docker run -d -p 5000:5000 --restart=always --name registry registry:2
2)ミラーリングのたびにregistryが
localhost:5000
であることを指定し、pushミラーリングを行うことができる.docker push localhost:5000/spring-app:20200906-130657
3)すべてのnodeノードがdaemonを更新する.json、
insecure-registries
をローカル倉庫アドレスとして指定します.ここのアドレスはmasterのipに記入してください.echo '{ "insecure-registries": ["192.168.6.128:5000"] }' > /etc/docker/daemon.json
4)デプロイメントフェーズで、Deploymentのyamlファイルを次のように指定します.
containers:
- name: spring-app
image: 192.168.6.128:5000/spring-app:20200906-130657
ミラーリングのたびに、ミラーのフルネームは
localhost:5000/spring-app:20200906-130657
ですが、実際の配置はyamlが192.168.6.128:5000/spring-app:20200906-130657
に指定します.k 8 sはデフォルトでnodeノードに適用されるため、nodeノードはローカルウェアハウスがインストールされていないため、実際のmasterのipを指定します.これでローカルウェアハウスが作成されます.