GuillaumeSmaha.gluu-setup
Ansible Gluu: セットアップロール
gluu-setup は、Gluuサーバー、そのモジュール、および証明書を簡単にインストールするためのAnsibleロールです。
クラスターモードでは、ロールはクラスター管理者によるアクセスを許可するためにSSHキーをインストールし、すべてのサーバー間で公開証明書を配布し、LDAPサーバーを外部接続を受け入れるように更新し、すべてのLDAPサーバーを使用するように構成を更新します。
このロールのクラスターモードの機能を使用するには、すべてのGluuサーバーがグループ gluu-servers
にあり、Gluuクラスター管理者がグループ gluu-cluster-manager
にいる必要があります。
履歴
Gluuのオープンソース認証およびAPIアクセス管理サーバーは、組織にシングルサインオン、強力な認証、および集中管理を提供します。
要件
デプロイするには、以下が必要です:
- デプロイヤーマシンにAnsible
- 次のPython依存関係もインストールする必要があります:
- dnspython
$ pip install -r requirements.txt
インストール
gluu-setup は、Ansible Galaxyを使用してグローバルに配布されるAnsibleロールです。gluu-setupロールをインストールするには、以下のコマンドを使用します。
$ ansible-galaxy install GuillaumeSmaha.gluu-setup
更新
ロールを更新したい場合は、インストール時に --force パラメーターを指定する必要があります。以下のコマンドを確認してください:
$ ansible-galaxy install --force GuillaumeSmaha.gluu-setup
ロール変数
vars:
# ===================================
# シングルノードでのGluu
# ===================================
# インストールするパッケージのカスタムバージョンを定義します。
# 利用可能なパッケージバージョンのリストは次のURLを訪問してください: https://gluu.org/docs/ce/
gluu_version: 3.1.7
# Gluuで使用されるホスト名を定義します。
gluu_hostname: '{{ ansible_ssh_host }}'
# ホストのIPアドレス。
gluu_ip: '{{ lookup("dig", "{{ gluu_internal_hostname }}.") | regex_replace("^NXDOMAIN$", "") | default(gluu_internal_hostname, true) }}'
# インストールするモジュールのリスト
gluu_modules:
- oxauth
- oxtrust
- ldap
- httpd
# Gluu用の証明書の辞書。
# 追加したいキーを加えることができます。
# 各キーは `publicKey` を含み、オプションで証明書ファイルのパスを含む `privateKey` を持つ必要があります。
gluu_certificates:
# LDAPサーバーのタイプ
gluu_ldap_server: openldap
# LDAPサーバーとクライアント用のカスタム証明書
gluu_ldap_certificate:
cert_ca_file:
cert_file:
cert_key_file:
# LDAPスキーマをカスタマイズするためのファイル
gluu_ldap_custom_schema_file: custom_schema.json.default
# LDAPパスワードを設定できます。
gluu_ldap_password:
# Gluuのベースインム
gluu_inum_base:
# 組織インム
gluu_inum_org:
# 機器インム
gluu_inum_appliance:
# 自己署名の証明書のプロパティ
gluu_certificate_properties:
org_name: Organization
country_code: CA
city: Montreal
state: QC
# ===================================
# 複数ノードでのGluu(クラスター)
# ===================================
# サーバーがクラスターにあるかどうかを定義します。
gluu_cluster: False
# gluu_cluster = True の場合のみ。
gluu_internal_hostname: '{{ gluu_hostname }}'
# LDAPサーバーのレプリケーションに関する定義
gluu_cluster_ldap_replication: False
# LDAP構成がAnsibleまたはクラスター管理者のWeb GUIによって設定されるかどうかを定義します。
gluu_cluster_ldap_replication_without_cluster_manager: False
# デフォルト構成を別のホスト構成として設定できます。
gluu_install_from: main
# Gluuの外部LDAPサーバーのホスト名を設定できます。
gluu_ldap_hostname:
デプロイ
デプロイするには、いくつかの手順を実行する必要があります:
- 新しい
hosts
ファイルを作成します。必要に応じて、ansibleインベントリドキュメントをチェックしてください。 - アプリをデプロイするための新しいプレイブックを作成します。例:
deploy.yml
- ロール変数を設定します(ロール変数を参照)。
- プレイの一部として
GuillaumeSmaha.gluu-setup
ロールを含めます。 - デプロイプレイブックを実行します。
ansible-playbook -i hosts deploy.yml
すべてが正しく設定されていれば、このコマンドはホストにGluuクラスター管理者をインストールします。
例のプレイブック
フォルダー内の例をチェックすると、どのようにデプロイするかの例プロジェクトを確認できます。
実行するには、Vagrantとロールがインストールされている必要があります。詳細はhttps://www.vagrantup.comを確認してください。
$ cd example
$ vagrant plugin install vagrant-lxc
$ vagrant plugin install vagrant-hostmanager
$ vagrant up --provider=lxc
$ ansible-galaxy install GuillaumeSmaha.gluu-setup
$ ansible-playbook -i env/ubuntu deploy.yml
$ ansible-playbook -i env/centos deploy.yml
Gluuにアクセスするには、以下のURLにアクセスします:
または
サンプルプロジェクト
こちらでプレイブックの完全な例を見つけることができます: