Chef Serverを使って実際にベアメタルマシンへの自動構築を行う

第2回では、Chefの使用イメージをつかむためchef-soloを使用しました。chef-soloは各ノードに設定されたレシピをそれぞれのマシンに配布する必要があるため、構築・運用台数が多くなってくると、レシピとノードの関連付け設定が大変になります。一方、Chef Serverはレシピやノードの管

喜納 健

2014年1月22日 20:00

第2回では、Chefの使用イメージをつかむためchef-soloを使用しました。chef-soloは各ノードに設定されたレシピをそれぞれのマシンに配布する必要があるため、構築・運用台数が多くなってくると、レシピとノードの関連付け設定が大変になります。一方、Chef Serverはレシピやノードの管理を一元化できるため、台数の多い環境でも管理が簡単です。

第3回では、オープンソース版Chef Serverの基本的な仕組みと使用イメージ、特徴について説明した後、Chef Serverを活用したベアメタルマシン(何も書き込まれていない状態のマシン)に対する自動構築方法についてご紹介します。

Chef Serverの基本的な仕組み

まず、Chef Serverの基本的な仕組みについてご紹介します。

(1)Chefの構成要素

Chef Serverを使用するには、次の3つの構成要素を理解する必要があります。以下、順にご紹介しましょう。

(a)Workstation

Workstationは、CUIツールのKnifeを使用してクックブック作成やChef Serverの設定を行う操作端末です。Chef Serverの設定とは、認証やレシピとノードの関連付け等の設定を指します。

(b)Chef Server

Chef Serverは、内部DBを持ち、クックブックやノードのデータを1元管理するサーバです。

(c)ノード

ノードは、chef-clientによって構築・設定変更が行われるマシンです。chef-clientは、ノード上でレシピにもとづいてシステム構築・設定(状態)変更を行うエンジンです。

図1:Chef Serverのアーキテクチャ(クリックで拡大)

(2)Chef Serverを使用した自動構築の流れ

Chef Serverを使用してレシピを適用する流れは以下の通りです。

(a)レシピの作成

Workstationでクックブックを作成します。クックブックの作成は、第2回でご紹介した通りKnifeを使用します。

(b)レシピのアップロード

Knifeを使用して作成したクックブックをChef Serverにアップロードします。

図2:レシピの作成とアップロード(クリックで拡大)

(c)レシピとノードの関連付け

Chef Serverでノードオブジェクト(論理インスタンス)を作成し、アップロードしたクックブックとオブジェクトとの関連付けを行います。これはChef Server上で行われる論理的な設定です。

図3:レシピとノードの関連付け設定(クリックで拡大)

(d)レシピにもとづいた構築・設定

ノードでchef-clientを実行します。chef-clientには、あらかじめノード名を設定しておきます(デフォルトは、FQDN)。chef-clientは、ノード名をキーにしてChef Serverにリクエストを行い、自身に関連付けられたクックブックとランリストを取得した後、レシピにもとづいて構築・設定を行います。

図4:chef-clientの実行(クリックで拡大)

設定変更を行う場合は、Workstationでレシピ(またはクックブック)を修正後Chef Serverにアップロードしchef-clientを実行します。すると、chef-clientが修正されたレシピを取得し設定変更を行います。

この記事のキーワード :

人気記事トップ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