trfore.mongodb_install

Ansibleロール: mongodb_install

CI CD

このロールは、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

プロジェクトについて

Install MongoDB Community Edition on RedHat/CentOS and Debian/Ubuntu.

インストール
ansible-galaxy install trfore.mongodb_install
ライセンス
mit
ダウンロード
946
所有者