Kubernetesでポッドを作成する方法

Kubernetesでポッドを作成する方法

ポッドを作成するには?

前回の記事では、コンテナとポッドの違いと関係性を紹介しました。 Pod は k8s スケジューリングの最小単位であり、Pod には複数のコンテナーを含めることができることはわかっていますが、では独自の Pod をどのように定義すればよいのでしょうか。

k8s では、通常、設定ファイルを記述して Pod を作成します。設定ファイルの形式は通常 yaml です (yaml 形式でリストとキーと値のペアを表現する方法は、前の記事で説明しました)。yaml ファイルを記述したら、次の方法で Pod を起動します。

kubectl create -f 設定ファイル

Pod 内のコンテナの定義、パラメータ、構成、その他の情報はすべて YAML ファイルにあります。一般的な YAML ファイルの内容は次のとおりです。

APIバージョン: v1
種類: ポッド
メタデータ:
  名前: ボリュームポッド
仕様:
  コンテナ:
  - 名前: トムキャット
    画像: トムキャット
    ポート:
    - コンテナポート: 8080
    ボリュームマウント:
    - 名前: アプリログ
      マウントパス: /usr/local/tomcat/logs
  - 名前: ビジーボックス
    画像: ビジーボックス
    コマンド: ["sh","-c","tail -f /logs/catalina*.log"]
    ボリュームマウント:
    - 名前: アプリログ
      マウントパス: /logs
  ボリューム:
  - 名前: アプリログ
    空ディレクトリ: {}

もちろん、多くのフィールドがある場合があり、作成する Pod に応じてフィールドを自分で設定することもできます。このような yaml ファイルを k8s に送信すると、k8s が対応する API オブジェクトの作成を手伝ってくれます。この例では、オブジェクトは Pod です (yaml ファイルの kind フィールドの後の値が Pod であるため)。もちろん、他にもあります。

ここまでで、Pod の作成方法を学習しました。上記のプロセスに関して、さらに 2 つの質問を見てみましょう。

まず、kubectl とは何でしょうか?どのようなコマンドに従うことができますか?

次に、Pod の yaml ファイル内のフィールドはどういう意味でしょうか?

まず最初の質問を見てみましょう。

kubectl ツール

kubectl ツールは、ユーザーがコマンドラインから k8s クラスターを管理できるようにするクライアント CLI ツールです。このコマンドの基本的な構文は次のとおりです。

kubectl 【コマンド】 【タイプ】 【名前】 【フラグ】
コマンド値: get、create、delete、describe、get、apply など。タイプ値: リソースオブジェクトのタイプ。pod、deployment など。名前値: リソースオブジェクトの名前。
フラグ: オプションのパラメータ。--help で表示できます。例:
kubectl create – ファイル名またはコンソール入力を使用してリソースを作成します。
kubectl delete – ファイル名、コンソール入力、リソース名、またはラベルセレクターでリソースを削除します。
kubectl annotate – リソースの注釈を更新します。
kubectl api-versions – サーバーがサポートする API バージョンをグループ/バージョンの形式で出力します。
kubectl apply – ファイル名またはコンソール入力を使用してリソースに設定を適用します。
kubectl attach – 実行中のコンテナに接続します。
kubectl autoscale – レプリケーション コントローラーを自動的にスケーリングします。
kubectl cluster-info – クラスター情報を出力します。
kubectl config – kubeconfig 構成ファイルを変更します。
kubectl describe – 指定されたリソースに関する詳細情報を表示します。
kubectl edit – サーバー側のリソースを編集します。
kubectl exec – コンテナ内でコマンドを実行します。
kubectl expose – レプリケーション コントローラー、サービス、またはポッドを取得し、新しい Kubernetes サービスとして公開します。
kubectl get – 1 つ以上のリソースを出力します。
kubectl label – リソースのラベルを更新します。
kubectl logs – ポッド内のコンテナのログを出力します。
kubectl namespace - (非推奨) 現在使用されている名前空間を設定または表示します。
kubectl patch – コンソール入力を介してリソース内のフィールドを更新します。
kubectl port-forward – ローカル ポートを Pod に転送します。
kubectl proxy – Kubernetes API サーバーのプロキシ サーバーを起動します。
kubectl replace – ファイル名またはコンソール入力でリソースを置き換えます。
kubectl rolling-update – 指定されたレプリケーション コントローラーのローリング アップデートを実行します。
kubectl run – クラスター内の指定されたイメージを使用してコンテナを起動します。
kubectl scale – レプリケーション コントローラーの新しいレプリカ数を設定します。
kubectl stop – (非推奨) リソース名またはコンソール入力によってリソースを安全に削除します。
kubectl version – サーバーおよびクライアントのバージョン情報を出力します。

これで、これがコマンドライン ツールであることがわかりました。上記にリストされている一般的な操作は数多くあります。create サブコマンドを使用して Pod を作成できます。

その他の機能については、使用するたびに詳しく説明します。もちろん、kubectl --help を使用して手順を表示することもできます。

以上がKubernetesでPodを作成する方法の詳細です。KubernetesでPodを作成する方法の詳細については、123WORDPRESS.COMの他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • クラウドネイティブテクノロジーKubernetesスケジューリングユニットポッドの使用の詳細な説明
  • クラウドネイティブテクノロジーKubernetesスケジューリングユニットポッドの使用の詳細な説明
  • クラウドネイティブテクノロジー Kubernetes (K8S) の紹介
  • Kubernetes ポッドオーケストレーションとライフサイクルの詳細な説明
  • kubernetes k8s 入門 ポッドの定義

<<:  ウェブデザイン経験

>>:  数十行のjsを使用してクールなキャンバスインタラクティブ効果を実現する方法を教えます

推薦する

MySQL テーブル削除操作の実装 (delete、truncate、drop の違い)

この記事では主に、MySQL でテーブルを削除する 3 つの操作、つまり delete ステートメン...

VueプロジェクトにPWAを導入する手順

目次1. 依存関係をインストールする2. vue.config.js ファイルで pwa を設定しま...

セマンティック HTML タグの紹介

ここ数年、ウェブサイト開発では DIV+CSS が非常に人気があり、当時は大きな騒動を引き起こしまし...

MySQL で結果を選択して更新を実行する例のチュートリアル

1. 単一テーブルクエリ -> 更新 テーブル名の更新 フィールド1=新しい値1、フィールド2...

VueはTodoListの例をカプセル化し、ブラウザのローカルキャッシュのアプリケーションを実装します。

この記事では主に、Vue で TodoList をカプセル化するケースと、ブラウザのローカル キャッ...

Docker で Springboot プロジェクトを実行する実装

導入: springboot プロジェクトを実行する Docker の構成は実は非常にシンプルで、L...

JSでよく使われるデータ処理方法

目次DOM処理配列方法要約するDOM処理DOM はドキュメントの構造化された表現を提供し、スクリプト...

Webリクエストと処理のTomcatソースコード分析

目次序文1. エンドポイント2. 接続ハンドラ3. コヨーテ4. コンテナ責任チェーンパターン序文T...

MySQL InnoDBエンジンのインデックスとストレージ構造の詳細な説明

序文Oracle や SQL Server などのデータベースには、ストレージ エンジンが 1 つだ...

複数の古いプレーヤーの埋め込みコード

ウェブページに表示されるプレーヤーは、WMP/RealPlayer/Flash Player に過ぎ...

MySQL サブクエリとグループ化されたクエリ

目次概要サブクエリサブクエリの分類クエリの結果によるとサブクエリの位置で区別する選択後のサブクエリサ...

写真とテキストによる MySQL と sqlyog のインストール チュートリアル

1. MySQL 1.1 MySQLのインストールmysql-5.5.27-winx64 ダウンロー...

Linux の 5 ステップ ビルド カーネル ツリー

目次0. システムに付属するカーネルツリー1. 環境設定最初のステップステップ2 2. ソースコード...

HTML でランダムロールコーラーを実装するためのサンプルコード

この点呼装置は簡易版であり、自動停止の必要性を考慮していないため、点呼を開始した後、停止ボタンをクリ...