Salt Masterの設定ファイルを変更してSalt Statesの配置ディレクトリを変更しました。これまで何回かSaltを使ってDockerをインストールしていますが、あらためて整理してみます。
Salt on IDCF クラウド - Part5: users-formulaを使う
構成管理ツールとしての役割の一つにユーザー管理があります。複数のサーバーにユーザーを追加したり、公開鍵を設定する作業が自動化できると便利になります。あらかじめ定義されたSalt FormulaはGitHubのsaltstack-formulasリポジトリにあります。今回はusers-formulaを使いユーザー管理を行います。
Salt on IDCF クラウド - Part4: psutilとpsモジュールで監視
Salt チュートリアル - Part4 Saltを使った監視インフラで少し書きましたが、Saltのpsモジューを使うと、監視システムに必要なメトリクスをminionから集めることができます。今回はSLSファイルを作成しないで、psutilをpipモジュールを使いインストールしてみます。
Salt on IDCF クラウド - Part3: PillarとIDCFオブジェクトストレージ用のs3cmd
apt-getでインストールできるs3cmdのバージョンは古いためマルチパートアップロード機能が使えません。IDCFオブジェクトストレージで使うs3cmdをGitHubから最新バージョンをcloneしてビルドして使ってみます。
Salt on IDCF クラウド - Part2: Salt Formula
Saltで使われる用語は非英語圏だと直感的にわかりづらいものが多いですが、Salt States
やSalt State System
は、Saltの構成管理ツールとしての中心的な仕組みです。Salt State
はサーバーの構成管理に伴う、パッケージのインストール、設定ファイルの作成、サービスの起動、ユーザー管理などを行います。Puppet の manifests や Chef の recipes に相当します。
Salt on IDCF クラウド - Part1: インストールとGrain
プロダクション環境でCoreOSが使えない場合や、ホスト1台で構わない場合は、Saltで構成管理をしてsalt-minionにDockerホストをインストールして使っています。今回はVPSでなくIDCFクラウドを使います。FWの設定をしなくてもVLAN内で安全な通信と名前解決ができるので、Saltクラスタを作る場合に便利です。
Salt docker.pulled state causes an APIError
After python-pip works correctly in a Salt cluster, I face yet another problem. This time salt.states.dockerio doesn't work. An error occured when I use docker.pulled state, a message tells that client and server don't have same version (client 1.15, server 1.14). It seems that this is also Ubuntu upgrade related problems.
State pip.installed found in sls xxx is unavailable
I've been upgrading my Salt cluster which was created a few months ago and left as it was. The problem is happened after sudo do-release-upgrade from Ubuntu 12.04 to 14.04 with salt-master and salt-minions. When I run sudo salt '*' state.highstate, it failed because pip.installed state is unavailable, although pip is installed successfully. After googled I found some related posts.
Fleet and Systemd Unit section references
It seems that my fleet units have been running after I switched to OpenResty as a dynamic routing unit. It might cause I revmoved Requires or changed to Wants derective. By the way, it is very difficult to understand of systemd units behaviour coupled with etcd and fleet. In a Unit section there are some directives related to dependencies and ordering. I confused differences between effectiveness, so I collect some references for study.
Switching Docker Reverse Proxy from dockge-gen to OpenResty
I give up to continue to use a docker-gen, although it is convenient for us to create a Nginx config file automatically. If a docker-gen unit has been killed every other related units are killed. I decide to switch our reverse proxy from docker-gen and nginx to OpenResty and Redis combination.