使用Chef cookbook安装和启动PostgreSQL服务的软件包

我正在 CentOS 6.5 上进行确认。

首先,确认手动操作的步骤。

    1. 安装PostgreSQL软件包:

 

    1. 使用yum安装postgresql和postgresql-server。

初始化PostgreSQL:
运行postgresql初始化服务。

启动PostgreSQL服务:
运行postgresql启动服务。

厨师准备了《Chef Culinary Book》。

创建代码库

# knife create repository  /tmp/che-repo

制作菜谱

如果要在site-cookbooks目录下创建一个名为postgresql的cookbook,则使用以下命令。

$ cd /path/to/repository/
$ knife cookbook create postgresql -o site-cookbooks

安装PostgreSQL软件包的步骤

将 recipes/default.rb 文件写成以下内容。

package "postgresql" do
  action :install
end

package "postgresql-server" do
  action :install
end

PostgreSQL初始化配方

在recipes/default.rb中添加以下内容

execute "postgrosql-init" do
  not_if "test -f /var/lib/pgsql/data/postgresql.conf"
  command "service postgresql initdb"
  action :run
end

书面形式如下:

    • postgresql-init は任意の文字列

command “rootユーザーで実行するコマンド”

执行postgresql initdb将创建/var/lib/pgsql/data/postgresql.conf文件,因此,我们将条件“仅在/var/lib/pgsql/data/postgresql.conf不存在时执行postgresql initdb”作为not_if参数进行描述。

启动PostgreSQL服务的方法

请在 recipes/default.rb 文件中添加以下内容。

service "postgresql" do
  action [:enable , :start]
end

从执行”service postgresql start”的动作,可以将其写成“`service “postgresql”“`。

厨师执行了Chef Cookbook。

以下是中文的同义句:

执行以下选项之一:
1. 参考链接:http://qiita.com/gigatune/items/01f775fb615df8d1d361,执行chef-solo
2. 参考链接:http://qiita.com/gigatune/items/e13828c895442ca18252,在Vagrant的配置过程中执行

我已经将在上述链接中创建的 cookbook 以及在 Vagrant 中执行的 Vagrantfile 文件上传到 https://github.com/gigatune/DevOps/tree/master/PostgreSQL。

bannerAds