連載
» 2021年11月18日 05時00分 公開

「Kubernetes」と「Nomad」、どう使い分けるとよいのかコンテナ実行基盤「Nomad」をKubernetesと比較検証(終)

コンテナオーケストレーションツールとして知られる「Kubernetes」とHashiCorpが提供する「Nomad」を比較検証する本連載。最終回はKubernetesとNomadの選定指標について解説します。

[守永宏明,grasys]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 本連載第1回から第3回までKubernetesとNomadの概要を解説してきました。

 最終回となる本記事では、KubernetesとNomadの提供サービスを機能ごとに比較し、KubernetesやNomadを選定するための指標を筆者の視点で紹介します。

クラスタ構築

 Kubernetesにはクラスタ構築用のツールが用意されているので、簡単にクラスタを構築できます。またマネージドサービスを利用すれば、より簡潔な手順でクラスタを構築することが可能です。

 Nomadはシングルバイナリで提供されているので、コンポーネントを選定してインストールする観点での煩雑さはありません。しかし、ワークロードごとに必要な機能次第では、コンポーネントをインストールするために以下の準備が必要です。

  • Consul
  • Vault
  • Driverランタイム
  • Community Driver

 またNomadはdevモードで動かし、HashiCorp Learnで提供されているプラクティスを簡単に実行できます。それ故にクラスタ構築も簡単そうなイメージがありますが、実際は容易でなく、上に挙げたコンポーネントの準備に加え、次の作業も必要です。

  • TLS通信のための認証局や証明書のインストール
  • VaultのBackend Storage(複数オプションがある)と初期化
  • Consul DNSを利用するための準備(iptablesなど)
  • Vaultトークン設定
  • ACL(Access Control List)設定

 いずれのプロダクトも、CNI(Container Network Interface)のためのネットワーク設定が必要です。

 以上のように、エコシステムとして見てみるとKubernetesが複雑でNomadよりもクラスタ構築は大変かもしれませんが、マネージドサービスやツールの存在がKubernetesでのクラスタ構築を容易にしています。

アクセスコントロール

 Kubernetesには認証、認可、リクエストを制御する機能があり、それぞれのオプションが豊富です。さらに、カスタムコントローラーやWebhookを実装することで振る舞いをカスタマイズすることも可能です。

 Nomadはトークン認証でポリシーベース認可のACLを利用できます。PolicyはRuleごとに設定が可能です。RuleはNamespaceやNomadオブジェクトごとに定義されており、任意のCapabilityをRuleに設定することでさらに細かく制御できます。

 またNomadのトークンとポリシー管理をVaultにオフロードすることも可能です。

Nomad ACL Systemのコンセプト Nomad ACL Systemのコンセプト(出典:公式サイト

 構築するシステムの要件に合わせてカスタムアクセスコントロールを組み込む場合は、Kubernetesが便利です。

ネットワーク

 アプリケーション間の通信に必要なネットワークを管理するコンセプトはどちらも似ており、いずれのプロダクトもホストネットワークを利用できます。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。