Chef-Server 12.2 のインスール記録 Ubuntu14.04


SoftLayer での Chef Server 用仮想サーバーの注文

slcli コマンドから以下のスクリプトでオーダーしました。

#!/bin/bash
slcli vs create \
--hostname chefserver --domain takara.org \
--datacenter tok02 \
--cpu 1 --memory 2048 \
--billing hourly \
--public \
--os UBUNTU_14_64 \
--postinstall https://raw.githubusercontent.com/takara9/ProvisioningScript/master/ubuntu_basic_config \
--key 370981 \
--network 100

このシェルが実行するために事前準備として、以下のリンクを参照すると手助けになると思います。

  • slcli コマンドのインストール
  • sshkey の設定
  • プロビジョニング/ポストインストールスクリプト
  • SoftLayer DNS にドメイン (ここではtakara.org)を追加

プロビジョニングが終了すると、以下の様に"action"の欄が空欄"-"になります。

chef@ChefWs:~/shells$ slcli vs list
:..........:............:.................:...............:............:........:
:    id    :  hostname  :    primary_ip   :   backend_ip  : datacenter : action :
:..........:............:.................:...............:............:........:
: 13307427 : chefserver : 161.202.142.196 :  10.132.253.7 :   tok02    :   -    :
:..........:............:.................:...............:............:........:

準備作業

前提条件の https://docs.chef.io/install_server_pre.html#uids-and-gids をチェックして該当箇所を実施します。

ホスト名

Chef-Serverのホスト名は、すべて小文字でなければ、なりません。 この条件に従っていない場合、テストコマンドが異常終了してしまいます。
次はNGケースです。 このホスト名では、chef-server-ctl test でエラーになります。

# hostname
# ChefServer.takara.org

次はOKケースです。 この小文字だけのホスト名では、エラーになる事はありません。

# hostname
# chefserver.takara.org

アプリケーション・アーマーの停止

RedHat 系の SELinux に相当する Ubuntu の AppArmor は、デフォルトで enforce モードになっているので complain モードに変更します。
変更に必要なユーザー・インタフェースをインストールします。

# apt-get install apparmor-utils -y

設定をcomplain モードに変更します。

# aa-complain /etc/apparmor.d/*

停止して、自動起動しない様にします。

# invoke-rc.d apparmor stop
# update-rc.d -f apparmor remove

状態を確認します。 complain mode の行に、すべて入っていれば完了です。

# apparmor_status
apparmor module is loaded.
4 profiles are loaded.
0 profiles are in enforce mode.
4 profiles are in complain mode.
   /sbin/dhclient
   /usr/lib/NetworkManager/nm-dhcp-client.action
   /usr/lib/connman/scripts/dhclient-script
   /usr/sbin/tcpdump

Chef-Server のダウンロード と インストール

Chefのダウンロードページ https://downloads.chef.io/chef-server/ubuntu/ からダウンロード用のURLを取得しておき、仮想サーバーで、wgetコマンドを使ってダウロードします。

root@ChefServer:~# wget https://web-dl.packagecloud.io/chef/stable/packages/ubuntu/trusty/chef-server-core_12.2.0-1_amd64.deb

ダウンロードしたファイルを dpkg コマンドでインストールします。

root@ChefServer:~# dpkg -i chef-server-core_12.2.0-1_amd64.deb 

https://docs.chef.io/release/server_12-2/install_server.html の導入手順に従って、インストールを進めていきます。

root@ChefServer:~# chef-server-ctl reconfigure

管理者を作成

最初の管理者ユーザーを登録します。ここで表示されるprivate RSA鍵は、knife.rb に設定する chef.pem になりますから、コピペして保村しておきます。

root@chefserver:~# chef-server-ctl user-create chef Maho Takara [email protected] mAnhatt0n 
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAuBz/3agiINbw2vX0Vf2s8h7rwaxVz7tWPH4HAOmW6jd2h3/B
sFfJ2FEQtJuZFZqxqhRVJvNx7bS39YWww/W7d3XdXU15hWWlF5mo0HU2NveMqawb
Y96Gsod4Qqgrg7dmoWkglsBDnAXC4nJNEKnNjZKfW393ynrRzr+rqqJcaaoWKkKW
vDQ9b7HOxynpyrQcecN2XAkjGhdT9twkmKGQINpI3gN695OBl5Wwt7Iyg7KGUi4l
CR4IaKDtVeNcmneSOUJedWcosOr54DBMdWNYi7hgzyjWKq0VmQyhyljm0fLF1UM5
o8svL2KlxVJBQR9u9fyJta4w9T5rJXi+DCG7QQIDAQABAoIBAH8z0fdztXiY6Dlv
mstag4WYpWvexD7MgK00qWQQ/yp8/VBqjQhn7tWcVH1jz2VkxoDqoVZS9hC0PjDM
mC8bdNT5QuK2p1HpwyFGEaNMiBN7/twvQ5FBajCodgcfp0jOioLUXiapWUzPkjDf
pazwlErO1Xji3YGwT4qXVGSE3nJFXBeSg1Ty5LUBRkmQ653N6AHDMoDEzyYtDHFh
Xqsu0aimhigAqYguDJ9K7gUt1k0PMHCH3TqQYGlkrTXDGUKMq9/uctiN+YTvD9A+
R0JaZYlN4xyP6n+S7I7SoAwSYl8VXOwx8bNWnmanwmrBDD9AAx0bnECWcSNQUDG/
6AYe6EECgYEA3OT+IK74EXS//rIuuQEs6eQmoSHMFTdzwpfjrHNz2+E2IFJ2p4kv
zFoHfuRgmPlFc0yHlfl++VBC04WfaNChrHQHALZyH/5oCJrKHdFb9EHGCf96kiR7
yt9FycB8HxfTIz+cYx+DyJrs+dqVqjqKRLLqVnm37UUg+Mx14IVGKrkCgYEA1V+T
sz8G7+5zICzSf7dgWHM1OB/jzaKdIVrSXLiTsFm3N/LnOkrVuuAZn0E8WwhSqZRi
uEZqNQFlQsXpWXaciXfaB/F8i2/mfyKpVeoTgL2a0L1EGnLimG2C2JDoUTEWYTY3
Oedk/Rsn3PGwMlz3VhKoq1T1lPOv5pcW+L6DsMkCgYEAzh8YS6M5dAB/j8jw9E12
faIZsc35w+qEqJZXKvpoqErU2QBaHCdVZNi1meC9isE/30EQXA/+PeJ5GSvc/k+A
LY3vYujcQaKBrVXTOFO9/ITLqVSuKWTF5x7E3mgw6kqvCHs5EP29WRnH+7XOZpRN
paFWLe9Sg6M4CzGu5R03xnECgYEAnVNFkkqMkOheVoD2DFlnXpBD00ggLYUTGn7e
0KL/sm3UHBqrx11aTdniynvNRsnSOVtBluHEeaS3xw4qSl6cePe3+VdjH2S4rVEf
TkuzaZ9jwTlsN5wx23YTnh7qTMNG3xKckcM9wSn+sHg8FEZb0EkduIaCNPug3QLW
Wz4N15ECgYEArHfHI0fpYngmnE9fQOBDt0x6uJWwcyevTaE+7UMeVMNOu0OvTy3u
t14rvboXo+f+EsNvGXoBTSuehGXiYwnkNIAKhycZc613bnSbcKsX6lu5L5cMbhN2
iK0/EoO/PoYZG5tv9QN+yxeoO8XI9w+voivyBcxAWa3k3aYPw3GlqS4=
-----END RSA PRIVATE KEY-----

組織を作成

管理者の所属する組織を登録します。 ここで表示される private RSA鍵は、tech_team-validator.pemのファイルになりますので、同様に保存しておきます。

root@chefserver:~# chef-server-ctl org-create tech-team "Cloud Technical Service" --association_user chef
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAvIba+RuHpREKSagkSCckrYu38QiqM1RlUjURDoXezIli6FYn
Rzl/31LckKqTTDP3wysnXKpIa01BJaPLhPRlfTEEKVhiPzuzsjH6htKsAqCxJtk+
4euFQ1r+uRFgCP9TmvB2dFjl1jn5LDJx/9SITobCOo5ft+VR8u+D/PUeveXj2NYq
NRPqXAJsGoTLPeh6qFS6gihgqkNrShiFz02S8/No623BgN36yvLqvpsVSUrlfYZO
QbCnp/hnZYgNnMuySLXQD9j59HVNwBak0i3iG/yoCdlactQTYstuvYHuenTpgSJ+
0gwbPo62cSPkZctFDYykfK12AAywCSqJrmO+/wIDAQABAoIBAGVrRrFsFfS+zgIB
6kLGi/ywhSuttaIXbMpkseBWNB1ka0kBz++JBzlkojNREByWeFsOBAbdtEfFL57I
FtxXfaFzlQGJApFx1KGwMU4GV3Kyb5qulB2FThOGCDIXHsq4UImxgofkqwAr/9e+
64TtGMblx+coYGXVf9ho8WBLnVYaQYMOArA195M00KP1p2KHeEr7y23bMk9HnNCh
2TMWn03GDfM9zdursmfaTbjNTNQ/GEjAO10hChDiOGSZKzOZnf3CtcU9pQq1KR6r
BAXiEqWBl7Nm8z1lyQ3u1P1HT9BPTmLlC1qnIF3EkXxl3NURIyHcBRsxanTaxRlg
cSh89gECgYEA5IjKa6vNc7CKrqY1pXmnG6DaXUrnQHMWsKznNqCFKlM+uqJ5Wfsm
QY7Fuukb3KTiVc3csJBhcFSbAe55pSoyFTqxiyo7WawBRI4mT6iHOHc3YHrmrtr3
0OCvONZE2Cff616qfWvKyZoOsi4z8EkWaUtkV2uU/pf3OsXK4EyTEV8CgYEA0y8r
tbg07A9ZgXE+KUArGjvJb3Gk7Bdix8xt0z4A6Y3nbISzkZF/n4ilZDVDsmLpxv0I
ra+1hHRUF8ABVt66P4kLgTGwI9pbnE7Hee1AesS/Qi2Kszq8UmXSTLPbOkhdWj+a
0FDrF6JBwA64PKT/u/Y2MSGpaqO0JOU6hixUFmECgYAQjaPz1pbkGVaCPgHGwaAM
DUOj3EgR0ARFudBpkYjzvuHdTOVzUhC8UOYbmsTs33iRdH7Wvy5/n3E225ouD3df
OEgh52YzIZVZ7N3ziSZ6PZBiSaSp56xpkcy/Vi3YZlL+znWU7hjbL3B/EX+rmO+p
os9a0a0SH9nFhQwj4QgKCwKBgFTysohkUpVqDzzsSm7Zav0gc4SqmAaH2ao45yyD
0mYgOKkEMB8sAcQweSb37gVBmHv8qJMFDOT8zh7Hk0JYUV7hR4lubUXevd8AKWk4
MCmyHqUGILa7t6kFYDSOXG7zUOnOj/2frxFQqVYSFbX/QQdgoKfevIEy3HHC62mx
RxnBAoGAAZ1WKHrkKFKXqm9lx4kh7aFfvH5SZkOzUUpxJTX5pbuaGrLJZFkKln2a
YEgGdPnjq10xzuZ4XTin3PyWTemHbT5cJG47p1ODfnxJ8Qm8IRC8/Vhtwv9LOkfl
yQqEhPUY3095kp3soOr1EjnPgJlpJ9DEY90nnGOjj33BEgWuyRE=
-----END RSA PRIVATE KEY-----

動作チェック

testコマンドを実行して、インストールを確認します。

root@chefserver:~# chef-server-ctl test
Configuring logging...
Creating platform...
Configured URL: https://chefserver.takara.org
Creating org pedant_testorg_chefserver_14802
Validating Org Creation
Run options: include {:focus=>true, :smoke=>true}

All examples were filtered out; ignoring {:focus=>true, :smoke=>true}

Randomized with seed 20209

.................................

Finished in 1.14 seconds
33 examples, 0 failures

Randomized with seed 20209

Starting Pedant Run: 2015-10-30 08:32:28 UTC
 _______  _______  _______  _______  _______  ______   _______
|       ||       ||       ||       ||       ||      | |       |
|   _   ||    _  ||  _____||       ||   _   ||  _    ||    ___|
|  | |  ||   |_| || |_____ |       ||  | |  || | |   ||   |___
|  |_|  ||    ___||_____  ||      _||  |_|  || |_|   ||    ___|
|       ||   |     _____| ||     |_ |       ||       ||   |___
|_______||___|    |_______||_______||_______||______| |_______|

     _______  _______  ______   _______  __    _  _______
    |       ||       ||      | |   _   ||  |  | ||       |
    |    _  ||    ___||  _    ||  |_|  ||   |_| ||_     _|
    |   |_| ||   |___ | | |   ||       ||       |  |   |
    |    ___||    ___|| |_|   ||       ||  _    |  |   |
    |   |    |   |___ |       ||   _   || | |   |  |   |
    |___|    |_______||______| |__| |__||_|  |__|  |___|

                    "Accuracy Over Tact"

                  === Testing Environment ===
                 Config File: /var/opt/opscode/oc-chef-pedant/etc/pedant_config.rb
       HTTP Traffic Log File: /var/log/opscode/oc-chef-pedant/http-traffic.log

Running tests from the following directories:
/opt/opscode/embedded/service/oc-chef-pedant/spec/api
Run options:
  include {:focus=>true, :smoke=>true}
  exclude {:intermittent_failure=>true, :cleanup=>true}

UIのインストール

ここまでで、nginxは起動してるが、ウェブページが無い状態になっているので、CHEF-Server のウェブアプリケーションを追加する。

root@ChefServer:~# chef-server-ctl install opscode-manage
root@ChefServer:~# chef-server-ctl reconfigure
root@ChefServer:~# opscode-manage-ctl reconfigure

これで、ブラウザからアクセスできる様になる。 先に登録した管理者名とパスワードでログインします。

レポート機能のインストール

root@ChefServer:~# chef-server-ctl install opscode-reporting
root@ChefServer:~# chef-server-ctl reconfigure
root@ChefServer:~# opscode-reporting-ctl reconfigure

これでChef-Serverのインストール完了です。