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を使用してクールなキャンバスインタラクティブ効果を実現する方法を教えます

推薦する

Vmvare 仮想マシンを使用して Ubuntu のルート ディレクトリをパーティション分割する方法の紹介

目次序文根拠手順1. CDから仮想マシンを起動する2. GPartedツールを使用してパーティション...

ウェブページの HTML コード: スクロールテキストの作成

このセクションでは、Web ページ内のテキストをスクロールしたり、スクロール プロパティを制御できる...

SSHパスワードフリーログイン設定方法の詳しい説明(画像とコマンド)

まず、私たちがやりたいことは、serverA の usera を使用して、パスワードなしで serv...

初心者向けMySQLシリーズチュートリアル

目次1. 基本概念と基本コマンド1) 基本的な概念2) 基本コマンド2. SQL文の記述順序と実行順...

MySQLは1つのテーブルからデータをクエリし、それを別のテーブルに挿入する実装方法

MySQLは1つのテーブルからデータをクエリし、それを別のテーブルに挿入する実装方法ウェブサイト開発...

MySQL Innodb ストレージ構造と Null 値の保存の詳細な説明

背景:テーブルスペース: すべての INNODB データはテーブルスペース (共有テーブルスペース)...

vue2.x の徹底研究 - h 関数の説明

目次解決、要約: vue プロジェクト。 .vue ファイルのテンプレート内に記述されたコードは、w...

Linuxでディレクトリを効率的に切り替える方法

Linux でディレクトリを切り替えるとなると、誰もが間違いなくcdコマンドを思い浮かべるでしょう。...

HTML で複数のクラス属性を定義する場合の無効な解決策

HTML を記述する過程で、クラス属性に複数の値を定義することがよくありますが、定義した値が無効であ...

Mysql SSHトンネル接続を使用するための基本的な手順

序文セキュリティ上の理由から、MySQL の root ユーザーはローカルにのみログインでき、外部ネ...

MySQL サブクエリ (ネストされたクエリ)、結合テーブル、複合クエリの詳細な説明

1. サブクエリMySQL 4.1以降はサブクエリをサポートしていますサブクエリ:別のクエリ内にネス...

Linux でファイルの作成時間を取得する方法と実践的なチュートリアル

背景ファイルの作成時刻を取得する必要がある場合があります。例えば: 「xtrabackup スキーマ...

Dockerはdockerfileを使用してnode.jsアプリケーションを起動します

Dockerfileの作成expressによって自動的に作成されたディレクトリを例にとると、ディレク...

MySQLデータベース設計:Pythonを使ったスキーマ操作方法の詳しい解説

矢が放たれる前に、弓は矢にささやきました。「お前の自由は私のものだ。」スキーマは矢のようなもので、弓...

JavaプログラミングでJavaScriptの超実用的なテーブルプラグインを書く

目次効果ドキュメント最初のステップステップ2ステップ3ソースコード効果ドキュメント最初のステップta...