Kubernetesの8つのコアコンポーネントの詳細な説明

Kubernetesの8つのコアコンポーネントの詳細な説明

Kubernetes は、コンテナ化されたアプリケーションの展開、スケーリング、管理を自動化するためのオープンソースのコンテナ オーケストレーション プラットフォームです。さまざまなコンポーネントで構成されており、それぞれ機能と目的が異なります。この記事では、Kubernetes の 8 つの基本コンポーネント、つまり Pod、Deployment、Service、Ingress、ConfigMap、Secret、PersistentVolume、Namespace について紹介します。各コンポーネントの基本的な概念と使用方法を詳しく説明し、関連するコマンドと分析を提供します。

ポッド(コンテナグループ)

Pod は Kubernetes の最小のデプロイメント単位であり、1 つ以上のコンテナの集合です。 Pod 内のコンテナは同じネットワーク名前空間とストレージ ボリュームを共有し、一緒にデプロイ、移行、スケーリングできます。次のコマンドを使用して Pod を作成します。

 kubectl create pod my-pod --image=my-image

分析: 上記のコマンドは、my-pod という名前の Pod を作成し、コンテナ イメージとして my-image を使用します。

展開

デプロイメントは、ポッドの作成と更新を宣言的に管理するために使用されます。指定された数の Pod レプリカがクラスター内で実行されていることを確認し、ローリング アップデートとロールバック機能を提供します。次のコマンドを使用してデプロイメントを作成します。

 kubectl create deployment my-deployment --image=my-image

説明: 上記のコマンドは、コンテナ イメージとして my-image を使用して、my-deployment という名前のデプロイメントを作成します。

サービス

サービスは、ラベル セレクターを使用してトラフィックを一致する Pod にルーティングすることにより、Pod のコレクションに安定してアクセスする方法を提供します。タイプは ClusterIP、NodePort、または LoadBalancer になります。次のコマンドを使用してサービスを作成します。

 kubectl create service my-service --tcp=80:8080

分析: 上記のコマンドは、my-service という名前のサービスを作成し、トラフィックをポート 80 から Pod のポート 8080 に転送します。

イングレス

Ingress は、HTTP および HTTPS サービスを公開する方法です。ルールを通じてさまざまなサービスにトラフィックをルーティングします。 Ingress コントローラは、対応するサービスにトラフィックを転送する役割を担います。次のコマンドを使用して Ingress を作成します。

 kubectl create ingress my-ingress --rule=host=my-host,path=/,service=my-service

分析: 上記のコマンドは、my-ingress という名前の Ingress ルールを作成します。このルールは、ホスト名として my-host、パスとして / を使用して、my-service のサービスへのトラフィックを転送します。

構成マップ

ConfigMap は、環境変数や構成ファイルなどの構成データを保存するために使用されます。これは Pod 内のコンテナにマウントすることも、環境変数としてコンテナに渡すこともできます。次のコマンドを使用して ConfigMap を作成します。

 kubectl create configmap my-config --from-file=config.properties

分析: 上記のコマンドは、my-config という名前の ConfigMap を作成し、config.properties ファイルから構成データを読み込みます。

秘密

Secret は、パスワード、API キーなどの機密データを保存するために使用されます。Pod 内のコンテナにマウントしたり、環境変数としてコンテナに渡したりできます。次のコマンドを使用してシークレットを作成します。

 kubectl create secret generic my-secret --from-literal=password=12345

分析: 上記のコマンドは、my-secret という名前の Secret を作成し、password という名前のキーを 12345 に設定します。

永続ボリューム

PersistentVolume は、Pod によってマウントされ、データの保存に使用できる永続ストレージの抽象化を提供します。次のコマンドを使用して PersistentVolume を作成します。

 kubectl create persistentvolume my-pv --size=1Gi --hostpath=/data

分析: 上記のコマンドは、サイズが 1Gi の my-pv という名前の PersistentVolume を作成し、ホスト パス /data をストレージの場所として使用します。

名前空間

名前空間は、クラスターを論理的に分割し、リソースを分離するために使用されます。さまざまなアプリケーション、環境、またはチームを整理および管理するために使用できます。次のコマンドを使用して名前空間を作成します。

 kubectl create namespace my-namespace

分析: 上記のコマンドは、my-namespace という名前の名前空間を作成します。

以下は、Kubernetes の基本コンポーネント間の関係を示す簡単な図です。

 +-------------------+ | Ingress | +-------------------+ | v +-------------------+ | Service | +-------------------+ | v +-------------------+ | Deployment | +-------------------+ | v +-------------------+ | Pod | +-------------------+ | | vv +------------------+------------------+ | ConfigMap | Secret | +------------------+------------------+ | v +----------------------+ | PersistentVolume | +----------------------+

この図では、ポッドは 1 つ以上のコンテナを含む最も基本的なコンポーネントです。デプロイメントは、ポッドの作成と更新を管理するために使用されます。サービスは、Pod のコレクションへの安定したアクセスを提供します。 Ingress は、HTTP および HTTPS サービスを公開し、トラフィックをさまざまなサービスにルーティングするために使用されます。 ConfigMap は構成データを格納するために使用され、Secret は機密データを格納するために使用されます。 PersistentVolume は永続ストレージの抽象化を提供します。

要約:

この記事では、Pod、Deployment、Service、Ingress、ConfigMap、Secret、PersistentVolume、Namespace を含む Kubernetes の 8 つの基本コンポーネントについて説明します。各コンポーネントの基本的な概念と使用方法を深く理解することで、Kubernetes をより深く理解し、使用できるようになります。提供されているコマンドと解析を使用すると、Kubernetes でアプリケーションの作成と管理を開始し、そのパワーと柔軟性を最大限に活用できます。


<<:  クラウドポータビリティに関する3つの考慮事項:2番目はマイクロサービスアーキテクチャ

>>:  2024年のクラウドコンピューティングの4つの主要トレンド

推薦する

SEO担当者は360度検索を過小評価してはいけません。360度検索に注目するべき理由

Senmao Technologyは最近、360度検索が大人気であることを発見しました。初心者として...

継続的インテグレーションパイプラインにおけるアーティファクト管理 (Nexus)

[[428249]]このワークフローでは、Maven と CI サーバーを使用して、コンパイルされた...

ウェブサイトのキーワードパフォーマンス分析: ランキング表示とトラフィッククリック

みなさんこんにちは。私はMuzi Chengzhouです。ウェブサイトの最適化とプロモーションでは、...

バイラル動画とクリエイティブマーケティングに関するユニークなディスカッション

今は、文章よりも写真が注目を集め、写真よりも動画が注目を集める情報化時代です。ソーシャル ネットワー...

WeChatグループマーケティングの遊び方を教える8つの遊び方+ 11の事例

WeChat グループをマスターすれば、少なくとも 2 年間は人やお金が不足することはありません。な...

2019 年に注目すべき 5 つのマイクロサービス トレンド

[[256891]] 2018 年は間違いなく DevOps コミュニティにとって大きな年でした。 ...

racknerd: 「ボスの誕生日プロモーション + 無料の赤い封筒」、年間 15.88 ドル、KVM/1.5G メモリ/20g ハードディスク/3T トラフィック

今日はラックナードのボスの誕生日なので、彼は特別に誕生日プロモーションを企画しました。誕生日プロモー...

マルチクラウド管理の5つの重要なヒント

組織にとってより優れたマルチクラウド管理戦略には、ID 管理、データセンターの複数のクラウドへの関連...

Linuxの仮想ファイルシステムの詳細な説明

ファイルシステムとは何ですか? Linux の初期の貢献者であり著者でもある Robert Love...

コミュニティの次の形は、新しい小売会員システムです。

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています過激な分裂...

1日あたり10万IPの映画サイトを取得するにはどうすればいいですか?映画館運営計画

ネットワーク帯域幅が増加し続けるにつれて、ますます多くのネットユーザーが映画やテレビをオンラインで視...

トレンド: 2022 年のクラウド コンピューティングに関する 3 つの予測

2021 年には、重要なワークロードを単一のクラウド ベンダーに任せるとかなりのリスクを伴うことがは...

ジャイアントネットワークがshenghuo.comというドメイン名を58万元で購入したと報じられている。

eName.cnは4月15日、昨年ドメイン名投資家のAbu氏が海外から買い戻した「life」ドメイン...

中国SNSは定着率の危機に直面、ユーザーの需要が変革の鍵に

インターネット トラフィック監視機関 ComScore は最近、2011 年グローバル ソーシャル ...