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 つの方法 サンプルコード

推薦する

ホバー生成の境界線によって生じる要素の移動を解決する方法

序文hover疑似クラスが要素に境界線を追加すると、要素内のコンテンツがずれることがあります。box...

MySQL 中断された接続警告ログの分析

序文:場合によっては、MySQL に接続されたセッションが異常終了することが多く、エラー ログに「通...

Windows で mysql 8.0.12 をインストールするための詳細なチュートリアル

この記事では、MySQL 8.0.12のインストール方法に関する詳細なチュートリアルを参考までに紹介...

WordPress実験を実装するための3つの仮想マシンのKVM展開の詳細説明

1. KVM の概要カーネルベースの仮想マシンの略称は、Linux 2.6.20 以降のすべての主要...

MySQL からエクスポートされた scv ファイル内の文字化けやジャンプ行の問題をすばやく解決します

仕事上の理由により、完全なオンライン化(​​つまり、すべてのデータがオンラインで完了し、インポートや...

Vue開発の一般的な手法の詳細な説明

目次$nextTick() $forceUpdate() $セット() .sync——2.3.0 以...

MySQLのnull値に関する小さな問題

今日、null 値をテストしていたところ、小さな問題が見つかりました。ここに記録しました。以前にも遭...

ElementUIカスタムCSSスタイルが有効にならない問題を解決する

例えば、入力ボックスがあります <el-入力 ref="mySearch"...

MySQL 8.0.12 の詳細なインストールおよびアンインストール チュートリアル

1. MySQL 8.0.12 バージョンのインストール手順。 1. ダウンロードhttps://d...

jsを使用してシンプルな弾幕スクリーンシステムを実装する

この記事では、弾幕効果を実現するためのネイティブjsの具体的なコードを参考までに共有します。具体的な...

CSSコンテンツ属性の具体的な使用法

コンテンツ属性は通常、::before および ::after 疑似要素で使用され、疑似要素のコンテ...

純粋な CSS を使用してユーザーが Web ページのコンテンツをコピーするのを防ぐ方法

序文私自身の個人ブログを入力しているときに、ブログの詳細ページでさまざまなコンテンツをコピーするさま...

MySQL ビューの紹介と基本操作のチュートリアル

序文ビューは、データベース システム内で非常に便利なデータベース オブジェクトです。 MySQL 5...

MySQLで適切なインデックスを選択する方法

まずは栗を見てみましょう EXPLAIN select * from employees where...