[和訳] Chefバージョン14をリリース: より身近に、さらに簡単に #getchef
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
本稿は Announcing Chef 14: A Friendlier, Easier Chef (2018/04/04) の和訳です。
本日、Chef バージョン14をリリースしました。これまでのChefの中で最も高速で最も簡単になりました。Chefバージョン13に30近くもの新しいリソースを追加したChefバージョン14は、すべてのインフラストラクチャ自動化タスクを素早く実行するためのツールとして、簡単にご利用を開始いただけます。特別な設定の必要のないWindowsとmacOS対応を拡張し、これらのOSを管理するためにChefの外部からCookbookを追加する必要がなくなります。そしてついに、Chef バージョン14はRuby 2.5の機能強化の恩恵を受け、Chefバージョン13よりも実行速度が10%アップしました。
Chefバージョン14のダウンロードは こちら です。また4月5日午前2時(訳注:日本時間)からの ウェビナーにもご登録 ください。Chefのソフトウェア開発エンジニアであるTim SmithがChef 13との違いをすべてご紹介します。
Chefバージョン14の新機能の概要
過去数年間Chefの目標の柱となっていたのは、Chef本体により多くのリソースや設定項目を追加することでした。2009年に初めてChefをリリースした当時は、パッケージのインストールやファイル管理など基本的なシステムタスクを実行するための宣言的な自動化フレームワークを提供するためのものでした。ソフトウェアのリポジトリ管理をはじめ、カーネルパラメータのチューニングやOSのサブスクリプション管理などの高次な運用は、Chefの外部から読み込むCookbookを通じてのみ可能なことでした。Chef Clientのリリース間隔から独立して、これらのタスクを繰り返すことができるCookbookを開発していきました。そしてCookbookのコードが成熟したときに、Chef本体に追加していきました。
Chef バージョン14では、ほぼすべての基本的なシステム管理機能をChefの外からCookbookに追加することなく可能にするために、Chef本体に30近くのリソースを追加しました。新たに追加したリソースは次のカテゴリに分けられます:
Windowsサポート
Windowsの管理リソースにアクセスするために、独立した windows Cookbookを使用する必要はもやはなくなりました。これは数年がかりのプロジェクトで、これらのリソースの多くを現代的に書き直さなければいけませんでした。しかし、その労力を払うだけの価値はありました。例えば、Chefで管理しているWindowsサーバをActive Directoryドメインに連携することができるようになりました。DISMやPowerShellからのパッケージインストール、AutoRun項目のセットアップ、プリンタのインストール、そしてより多くのタスクを、外部に依存せず数行のChefコードのみで実行が可能になりました。
macOSの管理
Facebook社の クライアントプラットフォームのエンジニアリングチーム など多くの企業は、デスクトップのmacOSマシンをChefで管理しています(自家製シャンパンを飲む精神で、Chefの運用チームもこれをやるようになりました)。DMGイメージやHomebrew casksやtapからのパッケージをインストールするなどのタスクや、macOSユーザプロフィールの管理も、macos Cookbookに依存せずに行うことができます。 macos Cookbook と言えば、現在はパートナーであるMicrosoftがメンテナンスし、旧 mac_os_x Cookbook を置き換えています。Microsoftは ChefConf 2018に登壇し これについてお話しする予定です。
Red Hat Enterprise Linuxのサブスクリプション管理
仕様書の正誤表をサーバにダウンロードすること同様、ご利用のRed Hat Systems Manager (RHSM)サブスクリプションとエンタイトルメントの管理も、Chef本体で可能となりました。これにより、特にMeltdownやSpectreなどをはじめとする多くの脆弱性に対応するパッチ管理のユースケースの一助となるでしょう。
ユーティリティ機能
スワップ管理、カーネルのチューニング(sysctl)、システムのホスト名の設定、OpenSSLキーの生成、sudo設定などのタスクを実行するためにこれまでCookbookに頼っていた機能は、ResourceとしてすべてChef本体に取り込みました。
最後に、メジャーリリースの常として、細かな変更点やバグ修正もいつものように大量にあります。いくつか注目に値するものを取り上げます:
- yumとDNF Resourceを、より効率的になるように完全に書き直しました。
- Ohaiのpasswdプラグインをデフォルトで無効にしました。Active DirectoryやLDAP接続したシステム上のユーザの完全なディレクトリを列挙することを避けるためです。
- node["name"] と node["chef_environment"] はトップレベルAttributeになりました。これにより統語的な一貫性を向上したので、Recipeコードの可読性も向上しました(古いメソッド文法はまだ使用可能です。ただし、新しいAttribute記法を推奨します)。
- OhaiはWindowsシステムのプロダクトタイプとシステムタイプ(例:“Datacenter”)をデフォルトで返すようになりました。
ここでは列挙できないほどの多くのactionやプロパティをResourceに追加しました。それらはTimのウェビナーで紹介する予定です。
いつもChefをご利用いただき誠にありがとうございます
Chefの 最初のアナウンス から9年が経ち、約1,000万回のダウンロードを記録し、Chefを利用している企業は4万社を越えました。みなさまの熱意・時間やコードの貢献・ご支援がなければ、私達はこれを達成することはできなかったでしょう。Chef 14をお楽しみいただければ幸いです。