Dockerコンテナのk8sデプロイメントの実装

Dockerコンテナのk8sデプロイメントの実装

環境: (docker、k8s クラスター)、前回 docker で起動した Java プログラムのイメージを例として続けます (https://www.jb51.net/article/189462.htm)

作成したイメージをDockerのプライベートリポジトリにプッシュする

docker タグ demo-img:latest localhost:5000/demo-img:1.0

docker push ローカルホスト:5000/demo-img:1.0 

k8sはイメージをデプロイし、名前空間とシークレットを作成します

名前空間 cl-test を作成します。独自の命名規則に従って名前を定義します。私はこれをテストに使用します。

kubectl 名前空間 cl-test を作成します。

nsを作成したら、このnsのシークレットを作成する必要があります。

kubectl シークレット docker-registry regcred を作成します --docker-server=レジストリ IP:5000 --docker-username=root --docker-password=xxxx@ [email protected] -n cl-test

コンソールは、作成が成功したことを示すために「secret/regcred created」を返します。

デモ サービス用の yaml ファイルを作成します。サービスとデプロイメントを 1 つの yaml ファイルにまとめます。

---

APIバージョン: v1
種類: サービス
メタデータ:
 名前: デモサービス
 名前空間: cl-test
 ラベル:
 アプリ: デモサービス
仕様:
 タイプ: NodePort
 ポート:
 - ポート: 8701
 ターゲットポート: 8701
 プロトコル: TCP
 名前: http
 セレクタ:
 アプリ: デモポッド
---
APIバージョン: アプリ/v1
種類: デプロイメント
メタデータ:
 名前: デモデプロイメント
 名前空間: cl-test
仕様:
 セレクタ:
 一致ラベル:
  アプリ: デモポッド
 レプリカ: 1
 テンプレート:
 メタデータ:
  ラベル:
  アプリ: デモポッド
 仕様:
  コンテナ:
  - 名前: デモコンテナ
  image: localhost:5000/demo-img:1.0 #イメージ名 + ローカルプライベートイメージライブラリのバージョン ports:
  - コンテナポート: 8701

起動する

kubectl 作成 -f デモ.yaml

ポッドを表示

kubectl get pod -n cl-test 

ポッドログを確認してください。これは、Javaが以前に起動されたときに表示されたログとまったく同じです。

これで、docker コンテナの k8s デプロイメントの実装に関するこの記事は終了です。より関連性の高い k8s デプロイメント docker コンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • docker を使用して Spring Boot をデプロイし、Skywalking に接続する方法
  • Dockerイメージをパッケージ化し、リモートサーバーにプッシュしてk8sにデプロイする方法
  • Dockerでk8sをデプロイする方法
  • Docker 学習ノート k8s デプロイ方法
  • Skywalking は Docker イメージをコンテナ化してデプロイし、テストから可用性まで k8s を構築します。

<<:  JavaScript 基礎シリーズ: 関数とメソッド

>>:  MySQL テーブルにおける非主キー列オーバーフロー監視の詳細な説明

推薦する

GIFアニメーション効果を模倣した自動ビデオ再生を実現するWeChatアプレットの例

需要背景:ミニプログラムページに GIF ダイナミック画像を挿入しますが、GIF 画像は通常サイズが...

15行のCSSコードがAppleデバイスをクラッシュさせる可能性があり、最新のiOS 12も例外ではない

たった15行のCSSでiPhoneがクラッシュするWire のセキュリティ研究者 Sabri Had...

MySQL の重複データの処理方法 (防止と削除)

一部の MySQL テーブルには重複レコードが含まれている場合があります。重複データが存在することを...

特定のシンボルで複数の行と列に分割するMySQLの例

一部の障害コード テーブルでは、履歴またはパフォーマンス上の理由から、次の設計パターンが使用されます...

MySQLとRedisキャッシュ間の同期ソリューションについての簡単な説明

目次1. ソリューション 1 (UDF)デモケース2. ソリューション2(binlogの解析)キャナ...

Linux Bash スクリプトを使用してユーザーを識別する方法の例

多くの場合、bash スクリプト内またはスクリプト自体内で直接 sudo を使用してコマンドを実行す...

HTML テーブル マークアップ チュートリアル (2): テーブル境界属性 BORDER

デフォルトでは、テーブルの境界線は 0 ですが、テーブルの境界線を設定できます。基本的な構文<...

MySQLデータベースでスロークエリログを有効にする方法の詳細な説明

データベースはスロークエリログを有効にします設定ファイルを変更する設定ファイルmy.iniに次の2つ...

JavaScript 文字列オブジェクトメソッド

目次文字列オブジェクトのメソッド方法 1: indexOf() (推奨)方法 2: search()...

CSS -webkit-box-orient: コンパイル後に垂直プロパティが失われる

1. 原因要件は 2 行を表示することであり、余分なテキストは 3 つのドットに置き換えられるため、...

HTML5+CSS3コーディング標準

黄金律プロジェクトに何人の人が取り組んでいるかに関係なく、すべてのコード行が同じ人によって書かれたよ...

Docker で Jenkins-2.249.3-1.1 をインストールする詳細な手順

目次1. Dockerをインストールする2. Jenkinsイメージファイルを取得する3. マウント...

ログインフォームを実装するためのJavaScript

この記事の例では、ログインフォームを実装するためのJavaScriptの具体的なコードを参考までに共...

HTML でナンバープレート番号と州の略語を入力するためのサンプルコード

原理としては、まずボタン付きの div を記述し、次に画面のサイズに応じて自動的に適応してキーボード...

vue3.0 プロジェクトを素早く構築するための手順を完了する

目次1. 3.0をより適切にサポートするには、vue/cliのバージョンが4.5.0以上であることを...