PivotalGreenplum®6.8-インストールガイド-ANsible Playbook例
3833 ワード
Ansible Playbookの例
Greenplumデータベース・システムを構成するホストにGreenplumデータベース・ソフトウェアのリリース・バージョンをインストールするためのAnsible playbookの例です.
このAnsible playbookでは、Greenplumデータベースソフトウェアで説明されているタスクをAnsibleを使用して自動的にインストールする方法について説明しています.
重要なヒント:このplaybook
一例として、Ansible、Chef、Puppetなどのリソース構成ツールを使用してGreenplumデータベースクラスタの構成およびソフトウェアインストールタスクを自動的に実行する方法を説明します.Pivotalは、Ansibleまたはこの例のplaybookに対してサポートサービスを提供しません.
このPlaybookの例はCentOS 7との併用を目的としている.gpadminを作成します ユーザー、Greenplumデータベースソフトウェアリリースバージョンのインストール、インストール済みソフトウェアのownerとgroupの設定 gpadmin、および gpadmin ユーザーはPamセキュリティの制限を設定します.
スクリプトを変更して、OSプラットフォームと一緒に使用したり、他のホスト構成タスクを実行したりできます.
以下に、このAnsible playbookを使用する手順を示します.ソフトウェアパッケージマネージャを使用して、制御ノードにAnsibleをインストールします.Ansibleドキュメントを参照してください を参照してください. 制御ノードからGreenplumデータベースクラスタを構成するすべてのホストに、パスワードフリーSSHを設定します.ssh-copy-idコマンドを使用して、クラスタ内の各ホストにSSH公開鍵をインストールできます.あるいは、リソース構成ツールは、複数のホストに公開鍵を安全にインストールするより便利な方法を提供します. は、Greenplumデータベースクラスタを構成するホストのリストを含むファイルを作成することによって、Ansibleライブラリを作成します.たとえば、 次のplaybookコードをAnsible制御ノード上のファイルansible-playbook.ymlにコピーする . playbookの上部にある変数、たとえば作成するgpadminを編集 ユーザーとパスワード、およびインストールするGreenplumデータベースのバージョンを管理します. playbookを実行し、インストールするパッケージを package_path パラメータ.
Ansible Playbook-CentOS 7のGreenplumデータベースインストール
プレイブック 正常に実行されると、データ・ストレージの作成とGreenplumデータベース・システムの初期化を続行できます.
親トピック: Greenplumのインストールとアップグレード
Greenplumデータベース・システムを構成するホストにGreenplumデータベース・ソフトウェアのリリース・バージョンをインストールするためのAnsible playbookの例です.
このAnsible playbookでは、Greenplumデータベースソフトウェアで説明されているタスクをAnsibleを使用して自動的にインストールする方法について説明しています.
重要なヒント:このplaybook
一例として、Ansible、Chef、Puppetなどのリソース構成ツールを使用してGreenplumデータベースクラスタの構成およびソフトウェアインストールタスクを自動的に実行する方法を説明します.Pivotalは、Ansibleまたはこの例のplaybookに対してサポートサービスを提供しません.
このPlaybookの例はCentOS 7との併用を目的としている.gpadminを作成します ユーザー、Greenplumデータベースソフトウェアリリースバージョンのインストール、インストール済みソフトウェアのownerとgroupの設定 gpadmin、および gpadmin ユーザーはPamセキュリティの制限を設定します.
スクリプトを変更して、OSプラットフォームと一緒に使用したり、他のホスト構成タスクを実行したりできます.
以下に、このAnsible playbookを使用する手順を示します.
mdw
sdw1
sdw2
...
はファイルを編集し、Greenplumデータベースツールgpssh-exkeysと および gpinitsystemと一緒に使用します.ansible-playbook ansible-playbook.yml -i hosts -e package_path=./greenplum-db-6.0.0-rhel7-x86_64.rpm
Ansible Playbook-CentOS 7のGreenplumデータベースインストール
---
- hosts: all
vars:
- version: "6.0.0"
- greenplum_admin_user: "gpadmin"
- greenplum_admin_password: "changeme"
# - package_path: passed via the command line with: -e package_path=./greenplum-db-6.0.0-rhel7-x86_64.rpm
remote_user: root
become: yes
become_method: sudo
connection: ssh
gather_facts: yes
tasks:
- name: create greenplum admin user
user:
name: "{{ greenplum_admin_user }}"
password: "{{ greenplum_admin_password | password_hash('sha512', 'DvkPtCtNH+UdbePZfm9muQ9pU') }}"
- name: copy package to host
copy:
src: "{{ package_path }}"
dest: /tmp
- name: install package
yum:
name: "/tmp/{{ package_path | basename }}"
state: present
- name: cleanup package file from host
file:
path: "/tmp/{{ package_path | basename }}"
state: absent
- name: find install directory
find:
paths: /usr/local
patterns: 'greenplum*'
file_type: directory
register: installed_dir
- name: change install directory ownership
file:
path: '{{ item.path }}'
owner: "{{ greenplum_admin_user }}"
group: "{{ greenplum_admin_user }}"
recurse: yes
with_items: "{{ installed_dir.files }}"
- name: update pam_limits
pam_limits:
domain: "{{ greenplum_admin_user }}"
limit_type: '-'
limit_item: "{{ item.key }}"
value: "{{ item.value }}"
with_dict:
nofile: 524288
nproc: 131072
- name: find installed greenplum version
shell: . /usr/local/greenplum-db/greenplum_path.sh && /usr/local/greenplum-db/bin/postgres --gp-version
register: postgres_gp_version
- name: fail if the correct greenplum version is not installed
fail:
msg: "Expected greenplum version {{ version }}, but found '{{ postgres_gp_version.stdout }}'"
when: "version is not defined or version not in postgres_gp_version.stdout"
プレイブック 正常に実行されると、データ・ストレージの作成とGreenplumデータベース・システムの初期化を続行できます.
親トピック: Greenplumのインストールとアップグレード