(1) 中国のDocker Hub Webサイトの倉庫に入れないのですが?GitHub プロジェクトを通じて独自のミラー ウェアハウス ステーションを構築する方法を教えてください。

目次

(1) 問題の背景

(2) Alibaba Cloud ARC ミラー ウェアハウス ステーションを構築し、GitHub プロジェクトとドッキングしてミラーを構築します

(1) プロジェクトブランチの追加

 (2) Alibaba Cloud ARC ミラーウェアハウスステーションの作成

(3) GitHub プロジェクトの内容を設定および変更して、Alibaba Cloud イメージの構築をトリガーします

①Brash がビルドをトリガーする

②タグモードトリガー:

(3) 最後の最後



(1) 問題の背景

今日、kube-state-metricsのプロジェクトケースをやろうとしたときに、KSMに関するyamlファイルをGitHubからダウンロードした後、このyamlファイルを直接適用してポッドを直接実行できるのではないかと思ったのですが    、私のkube-ポッドがエラーを報告し続けており、イメージをプルダウンできません。私の k8s バージョンは、バージョン 1.25 で使用されている containerd の CRI であり、ctr pull を使用してもプルダウンできません指図。

    また、k8s プル用に国内の Alibaba Cloud ミラー アクセラレーション アドレスも設定し、Docker ミラー ウェアハウス ステーションのアドレスをチェックして、そのようなミラーがあるかどうかを確認しようとしました。 , 「行かないでください」はブロックされていることがわかりましたが、以前はまだ利用可能でした。

   そこで、このksmのミラーがあるかどうかを確認するために、前のアドレスのミラーウェアハウスのアドレスをdocker.ioに変更してみたところ、そのようなものは存在しないことがわかりました。それをやってのけることはできません。

     機能していないことがわかった後、方法を見つけようとしました。科学的にオンラインになった後、外出しました。この KSM のミラー イメージがあるかどうかを確認するために、docker Hub の Web サイトにアクセスしました。ビットナミのミラー ウェアハウス ステーションまだこのミラーがないとプルダウンできません

     結局、当初は国内のミラー ステーションをさらにいくつか探して、存在するかどうかを確認したいと思っていましたが、その後、単純に独自のミラー ステーションを構築し、まず通常使用しているこれらのミラーを自分のミラー ステーションにインポートしたいと思いました。 docker がコミュニティ バージョンのイメージの提供を停止し、料金が発生するという記事を読む前に漠然と覚えていました。当時は信じられませんでした。今ではそれが可能であるようです。違います。これにより、将来 docker が実際に提供しなくなった場合でも、独自のミラー ステーションを直接使用できるようになります

(2) Alibaba Cloud ARC ミラー ウェアハウス ステーションを構築し、GitHub プロジェクトとドッキングしてミラーを構築します

      kube-state-meters Github地址: kubernetes/kube-state-metrics: メトリクス。(github.com)

      ここで使用するケースは、Alibaba Cloud ミラー ウェアハウス ステーションを介してローカルのケース ミラー ウェアハウス ステーションにkube-state-metersイメージを構築することです。

(1) プロジェクトブランチの追加

      まず、kube-state-meters の GitHub プロジェクトを独自の GitHub ブランチにフォークして進めました。

      その後、GitHub アカウントでこのクローンされたブランチを見つけることができます。

 (2) Alibaba Cloud ARC ミラーウェアハウスステーションの作成

    次のステップは、Alibaba Cloud のミラーリングされたウェアハウス ステーションのインスタンスを作成することです。

Aliyun の ARC 作成アドレス:コンテナ イメージ サービス (aliyun.com)

ここでは、まず管理ウェアハウスを保存するための名前空間を作成し、次にウェアハウス名を設定し、パブリックを設定します。

次に、GitHub アカウントをバインドし、画像の多くが海外のソースからのものであるため、ここで海外のビルドを確認します。

 

 

ここでは、GitHub の kube-state-meters クローンのコード ウェアハウス名を選択する必要があります。

 

ミラーウェアハウスステーションに入ります

 ここでは、ミラー ウェアハウス ステーションのミラー イメージをダウンロード、アップロード、ラベル付けする方法を説明します。

    ここで、Alibaba Cloud のイメージ ビルド トリガーには 2 つのモードがあります。1 つはタグ モード、もう 1 つはBrach モードです。タグ: タグ モードは、指定された形式を使用して Github タグにタグを付けると、自動的にビルドがトリガーされます。形式に従ってください。リリースv$バージョン
   


   Brach :ファイルを変更したり、複製した GitHub コード ウェアハウス内の一部のパラメーター コードを変更したりすると、Alibaba Cloud が自動的にビルドをトリガーします。

  

次に、ブランチ ビルド ルールを    追加しましょう。この原則はCICD パイプラインと非常に似ています。ファイルを変更したり、複製した GitHub コード ウェアハウス内のパラメーター コードを変更すると、Alibaba Cloud が自動的にビルドをトリガーします。新しいイメージを Alibaba にビルドします。クラウドコードウェアハウス

     ここでのバージョンは実際の状況に応じて決定できます。ここでの KSM のバージョンは 2.8.2 です。

(3) GitHub プロジェクトの内容を設定および変更して、Alibaba Cloud イメージの構築をトリガーします

 追加後、GitHub に移動して Dockerfile ファイルを見つけ、タイプを追加します。

①Brash がビルドをトリガーする

 ARG GOARCH=adm64 単語を追加

 

ここには小さな問題があります。ここで最初に構築された Dockerfile の FROM フィールドは
FROM golang:${GOVERSION} as builder で、 golong の 1.20 バージョンをプルしますが、テストしたところ、次の場合にはプルできないことがわかりました。 Alibaba Cloud がビルドをトリガーしました。この golong の初期イメージの理由は、Docker が匿名ユーザーまたは無料ユーザーに対するプル リクエストのレートと数に制限を課しているためです。そのため、ここでは golong1.20 イメージをプルダウンするだけで済みます。最初にローカル Linux を実行し、それから同期のためにインポートします。 Alibaba Cloud ミラー ウェアハウス ステーションに移動し、Dockerfile で golong 初期ミラーをローカルに参照します。

Alibaba Cloud ミラー ウェアハウスにログインするときは、まず Alibaba Cloud ミラー アクセラレータを設定する必要があります 

Alibaba Cloud Image Accelerator 構成アドレス: Container Image Service (aliyun.com)

 

    ここで画像にラベルを付けたりアップロードしたりする方法がわからない場合は、Alibaba Cloud ミラー ウェアハウスのホームページをご覧ください。彼は私たちに実践的なチュートリアルを提供してくれました。

 docker pull docker.io/library/golang:1.20

 ##然后这里登陆我们的阿里云镜像仓库站

 docker login --username=dream5201314 registry.cn-qingdao.aliyuncs.com
 
 ##然后把我们的下载下来的golong的初始化镜像打个标签上传到我们的阿里云镜像仓库站

 docker tag golang:1.20 registry.cn-qingdao.aliyuncs.com/dream-1/dream-ksm/:1.20
 docker push registry.cn-qingdao.aliyuncs.com/dream-1/dream-ksm:1.20

     アップロードが成功すると、ミラー ウェアハウス ステーションで対応するバージョンのミラーが見つかります。ここでは便宜上、kube-state-metrics と golong のミラー イメージを dream-ksm のミラー ウェアハウス スペースに置きます。外部に新しいミラー倉庫スペースを再作成して、golong のミラー イメージを保存できます。これは、各ミラー スペースにどのミラー イメージが配置されているかを区別するために使用されます。

golong イメージをアップロードします。この時点で、 Dockerfile    に移動してミラー ウェアハウスの golong アドレスをインポートし、ローカルの golong イメージを直接プルできるようにすることで、KSM の構築時にエラーが報告されなくなります。限界を言う。問題は

    これら 2 つのフィールドを追加および変更した後は、忘れずに保存してください。

   

    この時点で、実際にミラー ウェアハウス ステーションに戻ってビルドすることができますが、タグ モードのトリガー ビルド方法についても話しておく必要があります。

②タグモードトリガー:

「リリース」バージョンをクリックしてバージョンを追加します

ここでの形式はrelease-v$version形式である必要があり、入力形式は直接入力する必要があります。Enterキーを押すことで直接追加できます。

 

 

この方法で追加した後、Alibaba Cloud Mirror Station は自動的にビルドをトリガーします。このバージョンは以前に一度正常にビルドされているため、2 回目のビルド トリガーは失敗します。

(3) 最後の最後

   ビルドが完了したら、Docker でミラー イメージをプルできます。ミラー ステーションの名前を追加するだけです。この GitHub ビルド方法は、多くのサービスに適しています。dockerfile プロジェクトがある限り、これを使用できます。方法

ご質問がございましたら、コメント エリアで一緒に話し合っていただければ、一つずつお答えいたします。世界は不確実で、あなたと私はダークホースです。

おすすめ

転載: blog.csdn.net/m0_61323675/article/details/130756529