trfore.mongodb_install
Ansibleロール: mongodb_install
このロールは、OSのパッケージマネージャーを介してMongoDB Communityエディションサーバーメタパッケージであるmongodb-org
をインストールします(デフォルト)。現在、バージョン4からの最新リリースをデフォルトでインストールしますが、mongodb_version: 6.0.16
を設定することでより新しいメジャーバージョンをインストールすることもできます。互換性のマトリックスについては「テスト済みプラットフォームとバージョン」セクションを参照してください。
また、mongodb_pkg_install: false
を設定することでMongoDBサーバーのバイナリ(mongo
, mongod
, mongos
)をインストールすることもできます。この場合、最新のtarボールをダウンロードします。ローカルのAnsibleコントロールホストからバイナリをインストールしたい場合は、適切なtarファイル(mongodb-linux-x86_64-{DISTRO}-{VERSION}.tgz
)をfiles
ディレクトリにダウンロードし、以下の2つの変数をプレイブックで設定します:
mongodb_tar_src: mongodb-linux-x86_64-{DISTRO}-{VERSION}.tgz
mongodb_tar_src_remote: false
作業例は「例プレイブック」セクションを参照してください。このロールはサーバーを構成しません。デフォルトの設定値と最小推奨のulimit
設定を使用します。サーバーを本番環境向けに設定することを推奨します。詳細については、次のリンクを確認してください: https://www.mongodb.com/docs/manual/administration/production-notes/
ロールのインストール
Ansible Galaxy CLIを使用してこのロールをインストールできます:
ansible-galaxy install trfore.mongodb_install
また、requirements.yml
ファイルに含めて、ansible-galaxy install -r requirements.yml
を使用してインストールすることもできます。フォーマットは以下の通りです:
---
roles:
- trfore.mongodb_install
テスト済みプラットフォームとバージョン
MongoDB Community 7.0.12
- CentOS Stream 8 & 9
- Debian 11 & 12
- Ubuntu 20.04 & 22.04
MongoDB Community 6.0.16
- CentOS Stream 8 & 9
- Debian 10 & 11
- Ubuntu 20.04 & 22.04
MongoDB Community 5.0.28
- CentOS Stream 8
- Debian 10 & 11
- Ubuntu 20.04
MongoDB Community 4.4.29
- CentOS Stream 8
- Debian 10
- Ubuntu 20.04
要件
ansible-core>=2.14.0
依存関係
community.general.yum_versionlock
(CentOS & RHELターゲットホスト向け)ansible-galaxy collection install community.general
ロール変数
一般変数
一般的な変数は以下にリストされています(デフォルト値を含む、defaults/main.yml
を参照):
変数 | デフォルト | 説明 | 必須 |
---|---|---|---|
mongodb_pkg_install | true |
Boolean, パッケージマネージャーを介してMongoDBをインストールする場合はtrue |
いいえ |
mongodb_version | 4.4.29 |
MongoDB Communityの安定リリース v4.4 , v5 , v6 , v7 |
いいえ |
mongodb_version_maj | 自動 | mongodb_version からメジャーバージョンを抽出します |
自動 |
mongodb_version_maj_minor | 自動 | mongodb_version からメジャーおよびマイナーバージョンを抽出します |
自動 |
パッケージインストール変数
defaults/main.yml
:
変数 | デフォルト | 説明 | 必須 |
---|---|---|---|
mongodb_gpg_key | URL | MongoDB GPGキー | いいえ |
mongodb_pkg_hold | true |
Boolean, パッケージバージョンを保持する場合はtrue |
いいえ |
mongodb_pkg_hold_list | MongoDBパッケージ | mongodb-org からインストールされたMongoDBパッケージのリスト v4.4 からv7 まで |
いいえ |
バイナリインストール変数
defaults/main.yml
:
変数 | デフォルト | 説明 | 必須 |
---|---|---|---|
mongodb_tar_src | URL | MongoDB Communityのバイナリtarファイル(tarインストール用) | いいえ |
mongodb_tar_src_remote | true |
Boolean, URLからダウンロードしている場合はtrue |
いいえ |
mongodb_path_exec | /usr/bin |
MongoDBバイナリパス(tarインストール用) | いいえ |
その他のOS固有の変数
vars/debian.yml
:
変数 | デフォルト | 説明 | 必須 |
---|---|---|---|
mongodb_path_db | /var/lib/mongodb |
MongoDBデータベースフォルダのパス(tarインストール用) | いいえ |
mongodb_path_log | /var/log/mongodb |
MongoDBログフォルダのパス(tarインストール用) | いいえ |
mongodb_dependencies | ["libcurl4","openssl","liblzma5"] |
MongoDBに必要なパッケージ(tarインストール用) | いいえ |
mongodb_pkg_hold_list | MongoDBパッケージ | mongodb-org からインストールされたMongoDBパッケージのリスト(pkgインストール用) |
いいえ |
vars/redhat.yml
およびvars/redhat_mongo_v{4-6}.yml
:
変数 | デフォルト | 説明 | 必須 |
---|---|---|---|
mongodb_path_db | /var/lib/mongo |
MongoDBデータベースフォルダのパス(tarインストール用) | いいえ |
mongodb_path_log | /var/log/mongodb |
MongoDBログフォルダのパス(tarインストール用) | いいえ |
mongodb_dependencies | ["libcurl-minimal","openssl","xz-libs"] |
MongoDBに必要なパッケージ(tarインストール用) | いいえ |
mongodb_pkg_hold_list | MongoDBパッケージ | mongodb-org からインストールされたMongoDBパッケージのリスト(pkgインストール用) |
いいえ |
例プレイブック
- ディストリビューションのパッケージマネージャーを介したパッケージインストール。
- hosts: servers
become: true
roles:
- name: MongoDBをインストール
role: trfore.mongodb_install
- hosts: servers
become: true
vars:
mongodb_pkg_install: true
mongodb_version: "6.0.16"
roles:
- name: MongoDBをインストール
role: trfore.mongodb_install
- tarファイルからのバイナリインストール。
- hosts: servers
become: true
vars:
mongodb_pkg_install: false
mongodb_version: "6.0.16"
roles:
- name: MongoDBをインストール
role: trfore.mongodb_install
- tarファイルからのバイナリインストール(tarボールを制御ホストに手動でダウンロードした場合)。
- hosts: servers
become: true
vars:
mongodb_pkg_install: false
mongodb_tar_src: mongodb-linux-x86_64-debian10-4.4.29.tgz
mongodb_tar_src_remote: false
roles:
- name: MongoDBをインストール
role: trfore.mongodb_install
ライセンス
このAnsibleロールはMITライセンスです。
MongoDB Communityは、MongoDB, Inc.から提供されるサーバーサイドパブリックライセンスソフトウェアです。詳細については、次のリンクを参照してください: https://www.mongodb.com/licensing/server-side-public-license
著者情報
テイラー・フォア (https://github.com/trfore)
関連ロールとプレイブック
Github | Ansible Galaxy |
---|---|
ansible-role-jsvc | trfore.jsvc |
ansible-role-mongodb-install | trfore.mongodb_install |
ansible-role-omada-install | trfore.omada_install |
参考文献
MongoDB
- https://www.mongodb.com/docs/manual/release-notes/
- https://www.mongodb.com/download-center/community/releases
- https://www.mongodb.com/docs/manual/administration/install-on-linux/
- https://www.mongodb.com/docs/manual/administration/production-notes/
- https://www.mongodb.com/docs/manual/reference/configuration-options/
- https://www.mongodb.com/docs/manual/reference/ulimit/