[実践編] MaaSとJujuによるOSS配備、Ubuntu Serverの運用・管理(後編)[2ページ目]

以下にMaaSとJujuの構築手順を示します。MaaSサーバーとは別のサーバーにJujuブートストラップノードを構築する点に注意して下さい。

[Jujuの構築手順]

  1. MaaSサーバーを1台構築する
  2. MaaSサーバーに管理対象サーバーを1台登録する
  3. MaaSサーバーにjuju-coreをインストールする
  4. MaaSサーバー上でjuju bootstrapを実行する(管理対象サーバーがPXEブートされる)
  5. 管理対象サーバーにOSとJujuが配備され、Jujuブート・ストラップノードになる
  6. jujuコマンドを使い、Jujuブート・ストラップノードにJuju GUIをインストール
  7. Juju GUIにクライアントからWebブラウザでアクセスする

MaaSサーバーにJujuの管理用コマンドをインストールするため、リポジトリを追加し、パッケージリストを更新します。

# add-apt-repository ppa:juju/stable -y
# cat /etc/apt/sources.list.d/juju-stable-precise.list
deb http://ppa.launchpad.net/juju/stable/ubuntu precise main
deb-src http://ppa.launchpad.net/juju/stable/ubuntu precise main
# apt-get update

Jujuをインストールします。パッケージ名として、juju-coreを指定します。

# apt-get install juju-core -y
# dpkg -l |grep juju
ii  juju-core 1.16.6-0ubuntu1~ubuntu12.04.1~juju1 Juju is devops distilled - client

Jujuの設定ファイルの雛型を生成します。

# juju generate-config

上記のコマンドによって、~/.juju/environments.yamlが生成されます。environments.yamファイルを編集します。

# vi ~/.juju/environments.yaml
...
default: maas	  ←ベアメタル配備のmaasを指定
...
  maas:
    type: maas
    maas-server: 'http://172.16.12.1/MAAS/' ←MaaSサーバーのURLを指定
    maas-oauth: 'HMRP9emyLw6x6MnT7z:bJDpxXEdj2wbDxNmUF:NRVqCF2jhwQ8yByRtRrVC7d3YCmyDRxL' ←MaaSのWebインタフェースからMaaS Keyをコピーペースト
    admin-secret: e84ec394ac3c2cd83a6879fe0cd4187e ←Juju GUIのパスワード
    default-series: precise
    authorized-keys-path: ~/.ssh/authorized_keys ←公開鍵のファイル名を指定
...

雛型のenvironments.yamlファイルの「default:」の行には、「amazon」が指定されていますが、物理マシンへのベアメタル配備環境を標準の環境とする場合は、「maas」を記述します。jujuコマンドでオプションを付与することにより、Amazon Web ServiceやHP Cloudなどの配備先を切り替えることが可能ですが、今回は、「maas」のみを使用します。

次に、ファイルの下部の「maas-server:」の行には、MaaSサーバーのURLを指定します。「maas-oauth:」の行には、MaaS Keyを指定します。MaaS Keyは、MaaSサーバーのWeb管理画面にある管理者アカウントの「Preferences」のページで「Generate MaaS Key」をクリックすると生成できますので、マウス操作によりコピーして張り付けて下さい。「admin-secret:」の行は、JujuのGUI画面にログインするときのパスワードになります。

「authorized-keys-path:」の行には、公開鍵のファイルをフルパスで記述します。Jujuブート・ストラップノードとなる物理サーバーは、MaaSサーバーのWeb管理画面上で「Status」を「Ready」状態にしておきます。また、IPMIの設定を事前に行っておく必要があります。

HP ProLiantサーバーの場合、iLO4管理チップのIPアドレス、管理者ユーザー名、パスワードをMaaSサーバーのWeb管理画面で適切に設定されているかを確認して下さい。MaaSサーバー上にインストールしたjujuコマンドによりJujuブート・ストラップノードの構築を開始します。

# juju bootstrap --show-log

上記コマンドが正常に終了したら、jujuブート・ストラップノードとなる管理対象サーバーの電源がMaaSサーバーによって自動的に投入され、Ubuntu Serverのインストールが開始し、Jujuブート・ストラップノードの構築が始まります。

Jujuブート・ストラップノードの構築が終了したら、jujuコマンドを使用するMaaSサーバー上の/etc/hostsファイルに、Jujuブート・ストラップノードのIPアドレスとホスト名の対応を記述しておきます。IPアドレスとホスト名の対応はMaaSサーバーのWeb管理画面から確認してください。

# vi /etc/hosts
  ...
  172.16.44.3   6bh8q.master # Juju Bootstrap Node
  ...

Jujuブート・ストラップノードの状態を、jujuコマンドをインストールしたMaaSサーバーから確認します。

# juju status --show-log
environment: maas
machines:
  "0":
    agent-state: started
    agent-version: 1.16.5
    dns-name: 6bh8q.master
    instance-id: /MAAS/api/1.0/nodes/node-c65e3c5a-9402-11e3-b009-5254000512c6/
    series: precise

JujuのGUIを利用するためには、「juju-gui」サービスを配備する必要があります。「juju-gui」はJujuブート・ストラップノード上に構築することができます。上記のコマンド出力例の場合、Jujuブート・ストラップノードは、「machines:」の一行下にある「"0":」で表されていますので、jujuコマンドに--toオプションを付与し、juju-guiの配布先ノードとして「0」を指定します。これにより、Jujuブート・ストラップノード上にJuju GUIサービスが配備されます。

# juju deploy juju-gui --to 0

Juju GUIが配備されているかを確認します。

# juju status
...
services:
  juju-gui:
    charm: cs:precise/juju-gui-83
    exposed: true
    units:
      juju-gui/0:
      agent-state: started
      agent-version: 1.16.5
      machine: "0"
      open-ports:
      - 80/tcp
      - 443/tcp
      public-address: 6bh8q.master

上記の「public-address」に示されるホスト名にWebブラウザでアクセスすると、Juju GUIのログイン画面が現れます。MaaSサーバーで設定したenvironments.yamlファイルの「admin-secret:」行に記述されているパスワードを入力してログインして下さい。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30