Docker ビルド kubectl イメージ実装手順

Docker ビルド kubectl イメージ実装手順

プログラムサービスがgitlab ci/cdと統合されたk8sを使用してデプロイされている場合、gitlab-ciプロセスでkubecltイメージが必要です。dockerを使用してkubectlイメージを構築する方法は2つあります。

方法1(画像が比較的小さい、約45.8M)

Linux で curl を使用して kubectl 実行ファイルをインストールする

cd /usr/local/bin
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.20.1/bin/linux/amd64/kubectl
chmod +x ./kubectl

詳細については公式のインストールドキュメントを参照してください

次に、/usr/local/binディレクトリに新しいDockerfileファイルを作成し、次の内容を記述します。

アルパイン:最新より
kubectl /usr/local/bin/ をコピーします
chmod +x /usr/local/bin/kubectlを実行します。

Dockerfileファイルがビルドされたら、同じディレクトリでビルドコマンドを実行します。

次のコマンドを実行して、docker build を実行します。

イメージが構築されるのを待つ

方法2(画像が比較的大きい、約48.9M)

この方法は比較的便利ですが、構築が遅くなります。構築プロセス中に、kubectl実行ファイルをダウンロードし、次の内容の新しいDockerfileファイルを直接作成する必要があります。

アルパイン:最新より

apk add --update -t​​ ​​deps curlを実行します

curl -L https://storage.googleapis.com/kubernetes-release/release/v1.20.1/bin/linux/amd64/kubectl -o /usr/local/bin/kubectl \ を実行します。
  chmod +x /usr/local/bin/kubectl を実行します。

apk del --purge deps \ を実行します
  && rm /var/cache/apk/*

同じディレクトリでビルドコマンドを実行する

次のコマンドを実行して、docker build を実行します。

やっと

1. ビルドしたイメージが正常に使用できるかどうかをテストする

docker run -it registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1 kubectl バージョン --client

出力内容は以下の通りで、ビルドしたイメージは正常に使用できる。

クライアント バージョン: version.Info{メジャー:"1", マイナー:"20", GitVersion:"v1.20.1", GitCommit:"c4d752765b3bbac2237bf87cf0b1c2e307844666", GitTreeState:"clean", BuildDate:"2020-12-18T12:09:25Z", GoVersion:"go1.15.5", コンパイラ:"gc", プラットフォーム:"linux/amd64"}

2. レジストリからイメージを取得する

docker pull registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1

3. イメージをレジストリにプッシュし、[ImageId]を対応するイメージIDに置き換えます。

docker ログイン --username=usernameregistry.cn-hangzhou.aliyuncs.com

docker タグ [イメージ ID] registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1

docker push registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1

これで、Docker ビルド kubectl イメージの実装手順に関するこの記事は終了です。Docker ビルド kubectl イメージに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Mac で docker と kubectl の自動補完コマンドを追加する方法

<<:  乱数、文字列、日付、検証コード、UUIDを生成するMySQLメソッド

>>:  JavaScript でオブジェクトをトラバースする 5 つの方法 サンプルコード

推薦する

JS配列の次元削減のいくつかの方法の詳細な説明

2次元配列の次元削減配列インスタンスメソッド concat と ES6 スプレッド演算子を使用した次...

Ubuntu 16.4 で完全に分散された Hadoop 環境を構築するための実践的なチュートリアル

序文この記事は主にubantu 16.4 Hadoop完全分散構築に関する関連コンテンツを紹介し、皆...

JavaScript の非同期処理で待機時間を節約できますか?

JavaScriptで非同期実行の結果を同期的に取得するには、 for ループ内でawaitを使用...

Samba を使用して Linux サーバー上で共有ファイル サービスを構築する方法

最近、私たちの小さなチームは、サーバー上の共有フォルダーを共有して、全員がパブリックリソースドキュメ...

CSS 共通スタイルで二重矢印を描画するサンプルコード

1. 単一の矢印への複数の呼び出し単一の矢印を実装したら、二重矢印を実装するのは簡単です。上では、単...

Vue の computed と watch の違いを理解する方法

目次概要計算された監視プロパティを監視する要約する概要Vue プロジェクトでは、computed と...

MySQLログに関する知識のまとめ

目次SQL実行順序ビンログ何ですかいつ生産されるのか何の役に立つんだディスクはいつドロップされますか...

MySQL シリーズ 9 MySQL クエリ キャッシュとインデックス

目次チュートリアルシリーズ1. MySQL アーキテクチャクエリキャッシュキャッシュされないクエリ:...

HTML に CSS を導入するいくつかの方法の紹介

目次1. HTMLタグ要素にCSSスタイルを直接埋め込む2. HTMLのheadセクションにおけるス...

マークアップ言語 - 印刷スタイルシート

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

div の特定の実装は自動的に折り返されず、HTML で折り返されないよう強制されます。

1. 改行なしを実現するには<nobr>タグを使用するコードをコピーコードは次のとおりで...

MySQL InnoDB の重要なコンポーネントの概要

Innodbには以下のコンポーネントが含まれています1. innodb_buffer_pool:これ...

React 関数コンポーネントのパフォーマンス最適化のアイデアの詳細な説明

最適化のアイデア最適化には主に 2 つの方向があります。再レンダリングの回数を減らします。 Reac...

HTMLテーブルの詳細な説明

機能: データ表示、テーブルアプリケーションシナリオ。 <table> テーブル<...

JSはjQueryのappend関数を実装します

目次コードを見せてください効果をテストする効果追伸別のアプローチコードを見せてください HTMLEl...