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

推薦する

VueはCanvasを使用してランダムなサイズで重なり合わない円を生成します

目次キャンバス関連文書エフェクト画像表示ケースの完全なコード親コンポーネントコードサブコンポーネント...

CSS フレキシブルレイアウト FLEX、メディアクエリ、モバイルクリックイベントの実装

フレックスレイアウト定義: Flexレイアウトの要素は、 Flex 、または略して「コンテナー」と呼...

Dockerを使用してDjango+MySQL8開発環境をデプロイする方法の詳細な説明

しばらく前にシステムを再インストールしましたが、バックアップを取っていなかったので、コンピューター上...

Presto をインストールし、Docker で Hive を接続する詳細なプロセス

1. はじめにPresto は、ギガバイトからペタバイトに及ぶデータ ソースに対してインタラクティブ...

CentOS7 は rpm を使用して MySQL 5.7 をインストールするチュートリアル図

1. 4つのrpmパッケージをダウンロードする mysql-コミュニティクライアント-5.7.26-...

docker+devpi を使用してローカル pypi ソースをビルドする方法

以前、開発で頻繁に pip ダウンロードを使用する必要がありました。pip ソースを国産ソースに変更...

JS ES の新機能: 拡張演算子の紹介

1. スプレッド演算子スプレッド演算子は 3 つのドット ... で、複数の引数 (関数呼び出しなど...

CSS における zoom:1 属性の定義と機能

今日、CSS の zoom 属性は何のために使用されるのかと尋ねられました。この属性は、フローティン...

VMware 仮想マシン (CentOS7 イメージ) を使用して Linux をインストールする

1. VMwareのダウンロードとインストールリンク: https://www.jb51.net/s...

VUE ユニアプリの条件付きコーディングとページレイアウトに関する簡単な説明

目次条件付きコンパイルページレイアウト要約する条件付きコンパイル条件付きコンパイルでは、特別なコメン...

ElementUI の el-dropdown に複数のパラメータを実装する方法

最近、業務上のボタンの増加により、ページレイアウトにボタンが多すぎて、ページが美しくなく、ユーザーエ...

MySQL に大量のデータを挿入する 4 つの方法の例

序文この記事では主に、MySQLに大量のデータを挿入する4つの方法を紹介し、参考と学習のために共有し...

mysql バックアップ スクリプト mysqldump の使い方の詳細な説明

この記事では、参考までにMySQLバックアップスクリプトを紹介します。具体的な内容は次のとおりです。...

Vue は Tencent Map を統合して API を実装します (デモ付き)

目次執筆の背景プロジェクトの説明事前準備注記執筆の背景以前のプロジェクトではTencent Maps...

MySQL 5.7 で業務を停止せずに従来のレプリケーションを GTID レプリケーションに変更する例

GTID の利点により、従来のファイル POS ベースのレプリケーションを GTID ベースのレプリ...