読者です 読者をやめる 読者になる 読者になる

プロキシ設定をしてから chef-solo を実行する

ネットワーク的にプロキシが必要なサーバに対して Chef (chef-solo) を実行する方法を試した.

フォワードプロキシ

フォワードプロキシ用のサーバを事前に用意しておく.今回は Squid を利用することにした.今回 nginx を使ったフォワードプロキシも試したけど,https のリクエストを通すことができなくて断念した経緯がある.

curl でプロキシを設定して適当なサイトにアクセスできれば,正常に動いていると言える.

$ curl --proxy http://localhost:3128 http://example.com
$ curl --proxy http://localhost:3128 https://example.com

クックブックを適用するノード側のプロキシ設定

次にノード側に設定をする.記事によっては /etc/wgetrc も必要と書いてあったけど,今回は設定しなかった.

  • /etc/profile.d/proxy.sh
export http_proxy=http://${user}:${password}@${host}:3128
export https_proxy=http://${user}:${password}@${host}:3128
  • /etc/yum.conf
proxy=http://${user}:${password}@${host}:3128

Chef を実行するホスト側のプロキシ設定

ホスト側は特に設定はしなかった..chef/knife.rb に以下のようなプロキシ設定をする必要があるのは,Chef Server を使っている環境だったり,chef-solo を実行する環境もプロキシが必要な場合になる.

http_proxy
http_proxy_user
http_proxy_pass
https_proxy
https_proxy_user
https_proxy_pass

Chef をインストールする

上記の設定をしても knife solo prepare ${node} は通らなかった.wget でプロキシを通ってないような気もするけど,深くまで追うことができず,今回はノード側に手動で Chef をインストールする形で対応した.

cd /tmp
curl -LO https://packages.chef.io/stable/el/6/chef-11.4.4-2.el6.x86_64.rpm
rpm -i chef-11.4.4-2.el6.x86_64.rpm

上記のバージョンはサンプルで,以下のページから適切なバージョンを選択する.

Chef を実行する

通った!

構成

そのまんまだけど Flowchart Maker & Online Diagram Software を使ってみたかったというw

f:id:kakku22:20160402193646p:plain

関連記事