最初のポッドを 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 サンプルのペーストボード分散ペーストボード

推薦する

新興クラウド技術は、伝染病の予防と制御にどのような貢献をしてきましたか?

最近、各地で流行の第2波の状況がますます深刻になり、世間の注目と白熱した議論を集めています。 201...

企業コンテンツ配信の7Sコンセプトを考える

今日のインターネットの情報爆発では、膨大な量の新しい情報が毎日生成されています。企業コンテンツの配信...

トップクラスのマネージドクラウドサービスプロバイダーの選び方

マネージド クラウド サービス プロバイダー (MCSP) は通常、顧客のクラウド プラットフォーム...

シャンダゲームズ元社長リンハイ氏のスタートアップボイスコミュニティ「議論」が暴露される

「フォーカス」と「論壇」のインターフェースである凌海が今年2月に山大ゲームズの社長を退任すると発表し...

Google SEO の 12 の重要なポイント

1. サーバーは安定して稼働する必要がある2. 適切なドメイン名を選択し、ウェブサイトのパスとファイ...

cloudcone: 旧正月特別プロモーション、米国 VPS、年間 11 ドルから - 384M メモリ/10g SSD/8T トラフィック

Cloudcone は、旧正月に向けて特別に VPS 割引を用意しました。年間わずか 11 ドル、K...

アプリプロモーションチャンネル、新浪微博九方格子プロモーションの新手法

最近非常に人気のあるプロモーション方法であるWeibo の九升格子については、ほとんどの CP がす...

基本的なウェブサイトエクスペリエンスを向上させる方法の紹介

基本的なウェブサイト エクスペリエンスは、SEO 最適化の前提条件です。初期段階でこれらの基礎が適切...

ほとんどの企業が無視しているWeChat公式アカウントへのフォロワー追加方法

WeChatの運営はますます困難になっている。3月のWeChatアカウントブロックと4月のWeCha...

Google、全製品のCNNICルート証明書の失効を発表

Google はセキュリティ ブログで声明を発表し、CNNIC 証明書インシデントの調査後、Goog...

ウェブサイト運営者の正義を求める: 運営者は具体的に何をするのでしょうか?

彼は口を大きく開けて、たくさんの不満を口にした。最近、108サイト運営者の復活により、運営をしている...

Ceph の運用とメンテナンスで分散ストレージの「落とし穴」を知る

過去 2 年間、私の主な仕事は Hadoop テクノロジー スタックでしたが、最近 Ceph に触れ...

マイクロソフトがVSTSの大幅な刷新とブランド変更を発表

[51CTO.com からのオリジナル記事] 過去のソフトウェア プロジェクトでは、開発とテストは完...

中国におけるウェブサイト構築の発展にはどの程度の勢いがあるのでしょうか?

近年、経済の継続的な発展に伴い、中国のネットワーク構築市場は急速に発展し、成長してきました。データ分...

コンテナ化された環境でインフラストラクチャを管理するための 9 つのベストプラクティス

コンテナ テクノロジーを採用すると、開発者の作業は楽になりますが、運用チームにとっては複雑になること...