Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

MaaSのコンセプトと用語

More than 1 year has passed since last update.

はじめに

MAASは、UbuntuのCanonicalが提供している、OSのデプロイ等のツールです。
OSは、Ubuntu、CentOS、Windows Serverやその他Linuxが可能です。
ネットワーク内の新規マシンを自動的に発見し、登録や設定をしてくれます。

MaaSには、様々な用語とコンセプトが存在しています。
以下のURLにまとめられているので、それらを理解するために自分訳を残します (理解に誤りがある場合はご指摘頂ければ幸いです)

https://docs.maas.io/2.4/en/intro-concepts

https://docs.maas.io/2.4/en/nodes-comp-hw

Nodes

Nodesは一般的な用語で、いくつかの具体的な物を指しています。
Nodesはライフサイクル(追加、試験、割り当て、Deploy)をMaaSによって管理されています。
NodesはNodesPoolに戻るか、破棄されます。
Nodesには以下のものが含まれています

  • Controllers
  • Machines
  • Devices

Controllers

Controllersには2個のTypeが存在しています。

  • a region controller
  • a rack controller

region controller は、オペレータの要求を処理します。
regionは一般的にはデータセンターといった範囲を管理し、複数の rack controllerを配下に持ちます。
rack controller を配下に持つことで、高帯域な Deployサービスを提供します。

region controller には以下のものが含まれています

  • REST API Server
  • PostgreSQL
  • DNS
  • caching HTTP proxy
  • web UI

region contoller は、データセンターや単体のリージョンを管理するものと考えることが出来ます。
また、MaaSでは、複数の fabrics を使用して、データセンター内のフロアーといったまとまりを管理することが出来ます。

rack controlelrには以下のものが含まれています

  • DHCP
  • TFTP
  • HTTP (for マシンイメージ)
  • power management

1個の rack controllerは、fabricに所属しています。
名前にあるとおり、rack controller は、データセンターのラックを管理することです。
rack controllerはパフォーマンスのためにキャッシュが存在しています。
例えば、OSのInstall Imageなどです。

region controllerも、rack controllerもスケールアウトやHA化が可能です。

Machines

machineはnodeです。MaaSによってDeployされます。

Devices

deviceはDeployされないnodeです。Deviceは routerを追跡するために使用されます。
例えば、devieには、IPアドレスとDNS名を割り当てることが出来ます。

また、Devicesには parent node を割り当てることが出来、parent node が削除やリリースされたときに、自動的に Devices を削除することが出来ます (関連付けられているIPアドレス予約と共に)

これは、Virtual Machine や コンテナを基に考えられており、ホスト側が削除やリリースされたときに、自動的にVMやコンテナに紐づくDeviceを削除する活用方法があります。

Composable hardware

Composable hardware は、haedware resourcesのプール (Disk, Memory, Core) を使用して、動的にHWを構成するアーキテクチャです。

詳細は、以下URL

https://docs.maas.io/2.4/en/nodes-comp-hw

Pods

Pods or Composable Hardware は、NodeのHWリソースを動的な構成とすることが出来ます (Disk, Memory, Core
Machineの事前構成を必要なしに動的に構成することをRequestすることが出来ます。

モデリングツール (例えばJujuなど) は MaaSへMachneを要求するときにこの機能を利用することが出来ます。
MaaS内から直接RequestしてMachineを自動構成することも出来ます

MaaSは現在以下の2個のアーキテクチャをサポートしています

  • Intel Rack Scale Design (RSD)
  • Virsh (KVM)

Memo : MaaSは、Intel RSD referense software release v 1.2.5 でのみ検証を行っています。このsoftwareは、Redfish APU v 1.0 と、 RSD PODM API v.1.0 が使用されています。

イメージとして、以下の mass コマンドで Pods から自動構成する内容となっています

maas $PROFILE pod compose $POD_ID \
    cores=40 cpu_speed=2000 memory=7812 architecture="amd64/generic"

memo : GPUの有無は選択出来無さそう?

https://docs.maas.io/2.4/en/manage-cli-comp-hw

Zone (Availability Zone)

physical zone, or zone は、nodeが所属する組織単位です。zone と node は、1対多の関係です。
zoneからnodeを割り当てることが出来ます。
zoneの使用用途は様々な用途がありますが、主な用途は「可用性」「リソースのパフォーマンス」「電源管理」があります。

  • 可用性:複数のZoneに分けてDeployすることで、可用性を上げることが出来ます
  • リソースのパフォーマンス:早いマシン、遅いマシンといったZoneを定義することで、使用するZoneを使い分けることが出来ます
  • 電源管理:電源を多く消費するサーバを別々のZoneにする使い分けをすることが出来ます

MaaSは新規インストールすると、default zoneを自動作成します。新たなzoneを作成しない場合は、すべてのnodeは default zone に所属します。
従って、Zoneを活用する必要がなければ、Zoneの概念を無視してMaaSを使用することが出来ます。

'default' zone は削除・名前の変更を実施することは出来ません

Regions

Regionはzoneの1レベル上の組織単位です。Regionには全てのZoneに存在する稼働中のMachineが含まれています。
留意点として、PostgreSQLデータベースに1個のRegisonの全てのMachieのstate 情報が含まれています。

Series

Seriesは基本的にOSのバージョンです。Ubuntuでは、SeriesにHWE kernes が含まれています。
実際には、MaaSでMachineをDeployするときに Series を使用して OSイメージが紐づけられてDeployされます。
SeriesはMaaS管理者によって選択されます。

Images

iamgeはMaaSのMachine Provisioning に使用されます。imageは、Seriesで選択されたOSバージョンのものがMaaSへImport されます。

Fabrics

fabric は VLANの名前空間 (区分け)として使用されます。
1個 or 複数の Switchを使用して、同一のVLANを提供する際に MaaS上にNW構成を定義するものとなります。
defaultのfabric 'fabric-X' はMaaSをInstallしたときに検出した各 Subnet ごとに作成されます。

Spaces

Spaceは subnet が相互に通信できる VLAN の論理グループです。各Space内のVLANは同じ fabric に所属する必要はありません。MaaSインストール時にdefault の space は作成されません
spaceの主な使用用途はJujuの自動構成で使用されます。

Tags

tag (VLAN Tagの事ではありません) は、 nodeに付与するプロパティ属性です。
nodeのdeploymentの際にノードを識別する目的で活用することが出来ます。

IP ranges

SubnetのconfigでIPアドレス群(range)を予約することが出来ます。
rangesは2個のTypeが存在します

  • Reserved range
    subnetが管理されているか居ないかによって動作が異なります

    • Managed (subnet) : MaaSはこのIPアドレスの範囲を使用しません (MaaS以外の様々な用途で使用することが出来ます。OpenStackのテナントNW, 外部DHCPなど)
    • Unmanaged (subnet) : MaaSはこのIPアドレスの範囲の使用します
  • Reserved dynamic range

    • Nodeの状態がenlisting(登録中)、commissining(試験中)、及び試運転中のDHCPに使用されるIPアドレスの範囲です。Defaultの IP range は DHCPを有効にする WebUI の操作で作成されます。Unmanaged iprange で指定している範囲と重複している場合、 Unmanaged range の範囲は Dynamic rangeとして使用されません。
sugimount
投稿している内容は個人的な見解なので、所属組織とは関係ありません
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away