2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

OSインストールから構成管理ツール適用の自動化について考えていることを整理

Posted at

最近インフラの自動化に、興味がありいろいろ試行錯誤しているが、結局どういうソリューションがいいのかよく分からないので、ちょっと今考えていることを書きなぐる

やりたいこと

  • OSをインストールして、インストール後のミドルウェア設定までを完全自動でやりたい

今回は、下記ツールを使う


  • Cobbler = OSインストール
  • Chef = ミドルウェア設定

ソリューション1


「Preseedのlate_commnadでchefの設定/rc.localにchef実行スクリプトを仕込む」

実現に向けた事前準備

  • chef-serverのnodeをあらかじめ作成しておく必要がある
    • nodeのpermissionに気をつける(clientにwrite権限を付与)

--考察--

OSインストールからミドルウェアの適用まで、インストール対象サーバが自立的に行う。
また、サーバのあるべき姿をChefサーバ上に持っておくため、外部でこのサーバのあるべき姿を管理しておく必要がない。

ミドルウェア適用のタイミングが外部から制御できないので、インストール対象サーバが複数台あったとき、chefの適用順序を外部で制御しようとすると、OSインストールのレベルで順番を制御しなくてはならない。

ソリューション2


「OSインストールコマンドを実行後、定期的にSSHログインを試みて、OSインストール終了を検知したら、knife bootstrapでworkstationからchef適用」

実現に向けた事前準備

  • chefのworkstationとcobblerサーバを同じサーバにする必要がある
  • chefとcobblerをラップして操作する、アプリケーションが必要
    • serverとroleのマッピングをchefの外部で持つ必要がある

--考察--

OSインストールとChefの適用が分かれており、chefとcobblerをラップしたアプリケーションからそこの結合を行う。そのため、アプリケーションの作り込みによっては、chefの適用のタイミングを制御できる

アプリケーションを別途自分で書かないといけないという工数がかかるのと、node情報(サーバのあるべき姿)をchefの外部で持たないといけないのが難点

結局

rc.localを使う方法(ソリューション1)を、ついこないだ知ったので、ソリューション2を主に使っているがrc.localを使う方法の方が一般的なのかもしれない。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?