コンテナ

「Kubernetes」クラスターにLANからアクセスできるPodを展開するには

「Kubernetes」クラスターにLANからアクセス可能なPodを展開する方法を解説する。

 「Kubernetes」で困難なことの1つは、クラスターに展開し、なおかつ展開したアプリやサービスをLANからアクセスできるようにすることだ。筆者もhostNetworkの設定を発見するまで、それを成し遂げるのに非常に苦労した。この特定のオプションはKubernetesのPodに適用され、展開されたPodにクラスターの外部からアクセスすることを可能にする。

 この特定の設定を使用することで、Pod内のアプリケーションは、Podをホストしているノードのネットワークインターフェースにアクセスできる。つまり、理論的には、LANからそれらのPodに実際にアクセスすることが可能だ。

 本記事では、これを機能させる方法を紹介する。意外に思われるかもしれないが、その手順は非常に簡単だ。

必要なもの

 これを機能させるのに必要なのは、実行中のKubernetesクラスターだけだ。このクラスターの格納先は、AWSでも、Google Cloudでも、独自のオンプレミスハードウェアでも、そのほかのホストでも構わない。クラスターがまだない場合は、いつでもデータセンターにクラスターを展開することが可能だ。その方法については、筆者が過去に執筆した記事「How to deploy a Kubernetes cluster on Ubuntu server」などを参照してほしい。

 Kubernetesクラスターにアクセスできるようになったら、外の世界(または、少なくともLAN)にアクセス可能なPodを展開する手順に進むことができる。

YAMLファイルを作成する方法

 hostNetworking設定がどのように使用されるのかを理解してもらうため、最初に、非常に初歩的なYAMLファイルを作成する。このYAMLは、influxdb PodをKubernetesクラスターに展開し、クラスターの外部からアクセスできるようにする。

 Kubernetesコントローラーで、以下のコマンドを実行して、新しいYAMLファイルを作成する。

nano influxdb.yml

 新しいファイルに、以下の内容を貼り付ける。

apiVersion: v1
kind: Pod
metadata:
  name: influxdb
spec:
  hostNetwork: true
  containers:
    - name: influxdb
      image: influxdb

 ここで重要なのは以下の部分だ。

hostNetwork: true

 上記の設定により、Podはホストのネットワークインターフェースにアクセスするという目標を達成できる。この設定がなくても、Podは展開されるが、クラスター内からしかアクセスできなくなる。このYAMLファイルで作成されるのは、influxdbという名前のPodで、influxdbイメージを使用するinfluxdbという名前の単一のコンテナーが含まれる。

 ファイルを保存して閉じる。

Podを展開する方法

 次に、新しいPodを展開する。これは以下のコマンドで実行可能だ。

kubectl create -f influxdb.yml

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

TechRepublic Japanで人気の記事

編集部オススメ

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

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

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

  1. 5分でわかる、レポート作成の心得!成果至上主義のせっかちな上司も納得のレポートとは
  2. ノートPCは従来ながらの選び方ではダメ!新しい働き方にも対応する失敗しない選び方を徹底解説
  3. 問題だらけの現場指導を効率化!「人によって教え方が違う」を解消するためのマニュアル整備
  4. 緊急事態宣言解除後の利用率は低下 調査結果に見る「テレワーク」定着を阻む課題とその対応策
  5. たしか、あのデータは、こっちのアプリにあったはず…--業務改善のためのアプリ導入がストレスの原因に?

Follow TechRepublic Japan

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