最初のポッドを Kubernetes クラスターにデプロイするにはどうすればよいですか?

最初のポッドを Kubernetes クラスターにデプロイするにはどうすればよいですか?

[[437979]]

[51CTO.com クイック翻訳] Pod は、Kubernetes アプリケーションの基本的な実行単位です。同じホスト上に一緒にデプロイされたコンテナのコレクションです。 Kubernetes クラスター内のポッドは、次の 2 つの方法で使用できます。

  • 単一のコンテナを実行するポッド: これはポッドを使用する最も一般的な方法です。 Kubernetes はコンテナを直接管理するのではなく、ポッドを管理します。
  • 連携して動作する必要がある複数のコンテナを実行するポッド: このパターンでは、ポッドにリソースを共有するための複数の密結合コンテナが存在する場合があります。

前述のように、Pod には複数のコンテナが存在する可能性があるため、可能な限り 1 つのコンテナを使用することを常に推奨します。複数のコンテナを 1 つの Pod に結合するのは、比較的高度なユースケースです。このパターンは、コンテナーが密結合されている特定の場合にのみ使用する必要があります。

単一のコンテナをデプロイする場合は、通常、「ポッド」という単語を「コンテナ」に置き換えることができます。 Pod はメンバー間のデータ共有とコミュニケーションを可能にします。

ポッドは常にノード上で実行されます。ノードは Kubernetes のワーカー マシンであり、クラスターに応じて仮想マシンまたは物理マシンになる場合があります。各ノードはマスターノードによって管理されます。ノードには複数の Pod が存在する場合があり、Kubernetes マスターはクラスター内のノード間での Pod のスケジュールを自動的に処理します。

ポッドライフサイクルの5つの段階

  • 保留中: Pod は Kubernetes システムによって受け入れられましたが、1 つ以上のコンテナ イメージがまだ作成されていません。これには、スケジュール設定までの時間と、ネットワーク経由でイメージをダウンロードするのにかかる時間が含まれます。これには時間がかかる場合があります。
  • 実行中: ポッドはノードにバインドされ、すべてのコンテナが作成されました。少なくとも 1 つのコンテナーがまだ実行中であるか、起動中または再起動中です。
  • 成功: ポッド内のすべてのコンテナが正常に終了し、再起動されません。
  • 失敗: ポッド内のすべてのコンテナが終了しましたが、少なくとも 1 つのコンテナの終了に失敗しました。つまり、コンテナはゼロ以外のステータスで終了するか、システムによって終了されます。
  • 不明: 何らかの理由で Pod のステータスを取得できませんでした。通常は、Pod のホストへの接続エラーが原因です。

前提条件

  • AWS アカウント(まだお持ちでない場合は作成してください)
  • Kubernetes クラスター (Kubernetes クラスターの作成方法を学習したい場合は、「kubeadm を使用して AWS EC2 インスタンス Ubuntu 18.04 LTS 上に Kubernetes クラスターを作成する」を検索してください)。

注: AWS EC2 インスタンスを試したくない場合は、仮想マシンを使用してクラスターを作成することもできます。

どうすればいいでしょうか?

  • NginX 用の Kubernetes Pod を作成して削除します。

Nginx用のKubernetesポッドを作成する

最初の Pod を作成するには、Object/Pod ファイルを作成するための新しいディレクトリを作成しましょう。次のコマンドを使用して、システムに新しいディレクトリを作成します。

  1. mkdir my- first -podを実行します。
  2. cd マイファーストポッド/

次の手順に進む前に、クラスターのステータスを確認します。

クラスターで使用可能なノードを確認し、「kubectl」のバージョンを確認するには、次のコマンドを使用します。

  1. sudo kubectl ノードを取得する
  2. sudo kubectl バージョン

デフォルトの名前空間内のポッドを一覧表示するには、次のコマンドを使用します。これはクラスター内の最初のポッドなので、デフォルトの名前空間にはポッドは表示されません。

  1. sudo kubectl ポッドを取得する

クラスター内に使用可能なノードができたら、最初のポッドを作成する準備が整います。

次のコード スニペットを含むファイル「my-first-pod.yml」を作成します。

  1. vim my- first -pod.ymlです
  2. ---  
  3. APIバージョン: v1
  4. 種類: ポッド
  5. メタデータ:
  6. 名前: myfirstpod
  7. ラベル:
  8. アプリ: ウェブ
  9. 仕様:
  10. コンテナ:
  11. -名前: myfirstcontainer
  12. 画像: nginx
  13. ポート:
  14. - コンテナポート: 80

  • apiVersion: APIVersion は、オブジェクトのこの表現のバージョン スキーマを定義します。
  • kind: 作成するオブジェクトの種類。ここではポッドを作成しているので、pod です。
  • name: 名前は名前空間内で一意です。
  • ラベル: オブジェクトを整理および分類するために使用できる文字列キーと値のマップ。
  • spec: ポッドの予想される動作の仕様。

これで、次のコマンドを使用してポッドを作成する準備が整いました。

  1. sudo kubectl apply -f my- first -pod.ymlを実行します。

次のコマンドを使用して、ポッドの詳細を取得できます。

  1. sudo kubectl ポッドを取得する

Pod が実際に実行されていることを確認するには、次のコマンドを実行します。これにより、ポッド内でコマンドが実行されます (注: これは docker exec の実行に似ています)。

  1. sudo kubectl exec myfirstpod — サービス nginx ステータス

ポッドが不要になった場合は、kubectl delete コマンドを使用して削除できます。

  1. sudo kubectlポッドを削除するmyfirstpod

最後に、ポッドが削除されたことを確認するには、次のコマンドを使用します。

  1. sudo kubectl ポッドを取得する

結論

この記事では、ポッドの基本と、そのライフサイクルのいくつかの段階について学習しました。 Kubernetes 上で最初の Nginx Pod を作成する手順と、Pod の詳細を抽出する方法を確認しました。さらに、Podを削除するコマンドも導入しました。

元のタイトル: Kubernetes クラスターに最初のポッドをデプロイする方法

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。

<<:  専用回線を使わずにハイブリッドクラウドを構築するには?

>>:  HarmonyOS サンプルのペーストボード分散ペーストボード

推薦する

クラウドの利用を増やすとビジネスの俊敏性は向上しますか?

企業におけるクラウド テクノロジの使用が着実に増加していることを考えると、ベンダーがこれらのリソース...

クラウドコンピューティングのコストを管理する4つの方法

[[421467]] COVID-19 パンデミックとそのロックダウン措置により、クラウド コンピュ...

企業はどのようにクラウドに移行するのでしょうか?

ご存知のとおり、クラウド コンピューティング ソリューションは徐々に普及してきました。企業におけるク...

ウェブサイト運営は最初からターゲットトラフィックを追求すべきかどうかについての簡単な議論

当時、一緒に映画の中で追いかけていた女の子たちを思い出し、過ぎ去った青春を嘆くとき、数年前にウェブサ...

エッジ AI とエッジ コンピューティングとは何ですか?

[51CTO.com クイック翻訳] エッジ AI は、人工知能の分野における新しい注目の領域の一つ...

フリーソフトウェアの父:「アップル、マイクロソフト、その他の企業は凶悪な犯罪を犯している」

「フリーソフトウェアの父」リチャード・ストールマン新浪テクノロジー 潘飛湖リチャード・ストールマンは...

ブランドマーケティングプロモーション丨なぜIKEAは商品を無料で販売するのでしょうか?

マーケティングに関して言えば、IKEA には賞賛すべき点がたくさんある。特に特別なのは、IKEA の...

クアッドコーン - $1.5/128m メモリ/5gSSD/10T トラフィック/ロサンゼルス/MC コンピュータ ルーム

quadcone.com は 年に設立されたと主張しており、その主な事業には仮想ホスティング、VPS...

コンテナ技術がクラウドネイティブ100メートル走をリード

企業の実稼働環境におけるコンテナ テクノロジの採用率が 84% を超えていることは想像もできなかった...

12306との協議その3:大きな抜け穴により数億人のユーザーの情報漏洩につながる可能性

9月28日夜のニュースで、昨夜12306にさらに深刻な問題が発見されたことがインターネット上で明らか...

evoxtはどうですか?米国ロサンゼルスデータセンターのVPSの簡単な評価

evoxtはどうですか? evoxt のカリフォルニア VPS はいかがでしょうか? evoxt は...

Interserver: 21 年の実績を誇るブランド、無制限のウェブサイト構築、仮想ホスティング、50% 割引、月額 2.5 ドルから

1999年に設立されたアメリカのホスティング会社であるInterserverは、毎年恒例のブラックフ...

百度連合の推進のための8つの重要な要素

アフィリエイトマーケティングといえば、長い間入札を運営している人も含めて、ほとんどの人がまず考えるの...

倪光南院士:オープンソースは国家の科学技術の発展の鍵となるかもしれない

現在、中国と米国の間では貿易摩擦が頻発しており、コア技術が制約となっている。特に、国家の科学技術を発...