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

推薦する

ウェブサイトデザインにおいて非常に重要な概念であるdiv+floatの分析

ウェブサイトの構築では、HTML と CSS に関するさまざまな問題に常に遭遇します。ウェブサイト ...

Ajax リクエストにおけるクロスドメイン問題の原因と解決策

目次1. クロスドメインはどのように形成されるのでしょうか? 2. クロスドメインの根本的な原因3....

React diffアルゴリズムソースコード分析

目次単一ノード差分単一要素を調整するマルチノード差分調整子配列ノードが移動したかどうかを判断するには...

iframeフレームはIEブラウザで白い背景を透明に設定します

最近、プロジェクトを進める過程で、ページの階層構造を描画するために iframe を頻繁に使用する必...

Jenkins + Docker + ASP.NET Core の自動デプロイメントの問題について (落とし穴を避ける)

このブログを書くつもりはなかったのですが、実際の操作中に、ネットワークの問題に圧倒されたこと (ネッ...

Centos7のFirewalldファイアウォールの基本コマンドの詳細な説明

1. Linuxファイアウォールの基礎Linux ファイアウォール システムは主にネットワーク層で動...

aタグのhref属性とonclickイベントの比較

まず、href 属性と onclick イベントの実行順序について説明します。マウスが a タグをク...

Alibaba Cloud イメージリポジトリを使用して外部 Docker イメージを構築する方法の詳細な説明

Alibaba Cloud Image Repositoryを使用して外部イメージをダウンロードする...

CSSテキストシャドウの徐々にぼやける効果の実装

テキストシャドウテキストに影を追加します。テキストとテキスト装飾に複数のシャドウを追加することができ...

JS配列の一般的な方法とテクニックを学び、マスターになりましょう

目次splice() メソッドjoin() メソッド逆() メソッドevery() メソッド削減()...

vuex データの永続化のための 2 つの実装ソリューション

目次ビジネス要件:解決策 1: vuex-persistedstate解決策2: vuex-pers...

EXPLAIN コマンドの詳細な説明と MySQL での使用方法

1. シナリオの説明: 同僚から MySQL で explain を使用する方法を教わったので、返さ...

MySQL5.7 シングルインスタンス自動起動サービスの設定プロセス

1.MySQLのバージョン [root@clq システム]# mysql -v MySQL モニター...

CentOS で Mysql を再起動するさまざまな方法 (推奨)

1. rpm パッケージ経由でインストールされた MySQL サービスmysqldを再起動 /et...

床スクロール効果を実現する js

この記事ではjQueryを使用して、階段のスライド効果を実装し、フロアをスクロールし、フロアボタンを...