コンテナ

「Kubernetes」クラスターに複数のコンテナーを含むPodを展開するには

「Kubernetes」クラスターに複数のコンテナーを含むPodを展開する手順を説明する。

 ほとんどの場合、Podを「Kubernetes」クラスターに展開すると、そのPodには単一のコンテナーが含まれる。ただし、複数のコンテナーを含むPodを展開することが必要な場合もある。複数のコンテナーを含むPodを展開すべき非常に実用的な理由が2つある。

  • サイドカーコンテナー:アプリケーションの機能を支援または強化するユーティリティーコンテナー(サイドカーコンテナーの例には、ログシッパー/ウォッチャーや監視エージェントがある)。

  • プロクシ/ブリッジ/アダプター:メインのコンテナーを外の世界に接続する。

 複数のコンテナーを含むPodを展開する最大の理由は、単一のコンテナーでは、アプリケーションのすべての側面を処理できない場合があることだ。例えば、「NGINX」のPodを展開したが、そのコンテナーのログを監視するための何かが必要になったとしよう。これを実行するには、複数のコンテナーを含むPodを展開するといい。

 信じられないかもしれないが、このプロセスはそれほど難しいものではない。

 本記事では、複数のコンテナーを含むPodをKubernetesクラスターに展開する手順を説明する。具体的には、2つのコンテナーを含むPodを作成する。1つ目のコンテナーは、2つ目のコンテナーとボリュームを共有するNGINXウェブサーバーを実行する。2つ目のコンテナーは1つ目のコンテナーにデータを書き込んで、複数のコンテナーを含むPodがどのように対話するのかを示す。

必要なもの

 これを機能させるために必要なのは、実行中のKubernetesクラスターだけだ。そのようなクラスターをまだ展開していない人は、筆者が過去に執筆した記事「How to deploy a Kubernetes cluster on Ubuntu server」などを参照してほしい。クラスターが稼働したら、複数のコンテナーを含むPodの展開に取り掛かることができる。

複数のコンテナーを含むPodを定義する方法

 Kubernetesに関連するほかのすべてのことと同様に、複数のコンテナーを含むPodの定義にも「YAML」ファイルを使用する。以下のコマンドで新しいファイルを作成する。

nano multi-pod.yml

 そのファイルで、以下を貼り付ける。

apiVersion: v1
kind: Pod
metadata:
  name: multi-pod
spec:

  restartPolicy: Never

  volumes:
  - name: shared-data
    emptyDir: {}

  containers:

  - name: nginx-container
    image: nginx
    volumeMounts:
    - name: shared-data
      mountPath: /usr/share/nginx/html

  - name: ubuntu-container
    image: ubuntu
    volumeMounts:
    - name: shared-data
      mountPath: /pod-data
    command: ["/bin/sh"]
    args: ["-c", "echo Hello, TechRepublic > /pod-data/index.html"]

「コンテナ」で読まれている記事

TechRepublic Japanで人気の記事

編集部オススメ

トレンドまるわかり![PR]

財務・経理
人事・労務
マーケ・営業
購買・調達
生産・製造
データ分析
コミュニケーション
通信・通話
文書・コンテンツ
PC・モバイル
新興技術
ITインフラ
IAサーバー
UNIXサーバー
コンバージド・ハイパーコンバージド
その他サーバー
ストレージ
スイッチ
無線LAN
ルーター
ロードバランサー
VPN
WAN高速化
その他ネットワーク
サーバー仮想化
コンテナ
SDS/ストレージ仮想化
SDN/ネットワーク仮想化
デスクトップ仮想化
アプリケーション仮想化
その他仮想化
クラウドサービス
OS・ミドルウェア
開発
データベース
運用
セキュリティ

ホワイトペーパーランキング

  1. マンガでわかる「ルール駆動開発」レガシーモダナイズを成功させる開発手法を基礎から理解する
  2. 5分でわかる、レポート作成の心得!成果至上主義のせっかちな上司も納得のレポートとは
  3. APIエコシステムを狙うサイバー攻撃が急増、Webアプリにおける最新のAPIセキュリティ対策とは?
  4. クラウドやコンテナ利用が増える中、世界の企業が利用するAPI経由の安全なアプリ構築手法とは?
  5. ウェビナーによる営業活動が本格化、顧客接点が増加する一方で見えてきたハードルと解決策とは?

Follow TechRepublic Japan

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]