ノート:
- このチュートリアルは、Oracle提供の無料ラボ環境で入手できます。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときに、これらの値をクラウド環境に固有の値に置き換えます。
Oracle LinuxへのOracle Linux Automation Managerのインストール
イントロダクション
Oracle Linux Automation Managerは、リモート・ホストの在庫に対してOracle Linux Automation Engineプレイブックをスケジュールおよび実行するためのタスク・エンジンおよびWebベースのグラフィカル・ユーザー・インタフェース(GUI)です。このツール・スイートを使用すると、管理者はITインフラストラクチャを簡単に管理し、既知の予測可能な方法で繰返しタスクを完了できるため、手動による一般的な管理の問題を回避できます。
Oracle Linux Automation Engineは、コードベースのインフラストラクチャをコード(IaC)YAML定義ファイル(プレイブック)として使用して、管理タスクを管理および実行するためのツールです。これらのプレイブックには、ソフトウェアのデプロイ、システムの構成、アップグレードと更新のオーケストレーションなどの手順が含まれます。
目的
このチュートリアルでは、次の方法を学習します。
- Oracle Linux DNFリポジトリの有効化
- ファイアウォール・ルールの設定
- 単一ホストのOracle Linux Automation Managerのダウンロード、インストールおよび構成
前提条件
- Oracle Linuxがインストールされているシステム。
Oracle Linuxのデプロイ
ノート:独自のテナンシで実行している場合は、linux-virt-labs
GitHubプロジェクトREADME.mdを読み、演習環境をデプロイする前に前提条件を完了してください。
-
Lunaデスクトップでターミナルを開きます。
-
linux-virt-labs
GitHubプロジェクトをクローニングします。git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
作業ディレクトリに移動します。
cd linux-virt-labs/olam
-
必要なコレクションをインストールします。
ansible-galaxy collection install -r requirements.yml
-
Oracle Linuxインスタンス構成を更新します。
cat << EOF | tee instances.yml > /dev/null compute_instances: 1: instance_name: "olam-node" type: "control" olam_type: none EOF
-
インベントリファイルを作成します。
cat << EOF | tee hosts > /dev/null localhost ansible_connection=local ansible_connection=local ansible_python_interpreter=/usr/bin/python3.6 EOF
-
演習環境をデプロイします。
ansible-playbook create_instance.yml -i hosts -e "@instances.yml"
無料のラボ環境では、Oracle Cloud Infrastructure SDK for Python用のRPMパッケージをインストールするため、localhostに追加変数
ansible_python_interpreter
が必要です。このパッケージをインストールする場所は、使用しているOracle Linuxのバージョンに基づくシステムのデフォルトのPythonモジュールの下にあります。インベントリ変数を使用すると、localhost以外のホストで実行されている再生に影響を与えません。デフォルトのデプロイメント・シェイプでは、AMD CPUが使用されます。コマンドラインで新しいシェイプ変数定義を渡すことで、インスタンスのシェイプを変更できます。
たとえば:
-e instance_shape="VM.Standard3.Flex"
同様に、Oracle Linuxイメージのデフォルト・バージョンでは、default_vars.ymlファイルに定義されている変数
os_version
が使用されます。この値は、コマンドラインでOracle Linuxメジャー・バージョンを渡すことによって変更できます。たとえば:
-e os_version="9"
重要:プレイブックが正常に実行されるまで待機し、一時停止タスクに到達します。プレイブックのこの段階では、Oracle Linuxのインストールが完了し、インスタンスの準備ができました。前回の再生は、デプロイするノードのパブリックIPアドレスとプライベートIPアドレスを出力します。
Oracle Linux DNFリポジトリの有効化およびファイアウォール・ルールの設定
Oracle Linux Automation Managerをインストールする前に、必要なyumリポジトリおよびファイアウォール・ルールを有効にします。
-
端末を開き、sshを介してlamノード・ノードに接続します。
ssh oracle@<ip_address_of_instance>
-
Oracle Linux Automation Managerリポジトリをインストールします。
Oracle Linux 8:
sudo dnf -y install oraclelinux-automation-manager-release-el8
Oracle Linux 9:
sudo dnf -y install oraclelinux-automation-manager-release-el9
このコマンドは、製品のパッケージをインストールするためのデフォルトとして、最新のOracle Linux Automation Managerリポジトリを有効にします。
-
HTTP/HTTPSサービスをファイアウォール・ルールに追加します。
sudo firewall-cmd --add-service=https --permanent sudo firewall-cmd --reload
ローカルPostgreSQLデータベースのインストール
-
モジュール・ストリームを有効にします。
sudo dnf module reset postgresql sudo dnf -y module enable postgresql:16
-
データベースをインストールします。
sudo dnf -y install postgresql-server
-
データベースを初期化します。
sudo postgresql-setup --initdb
-
パスワードストレージメカニズムを scram-sha-256に切り替えます。
sudo sed -i "s/#password_encryption.*/password_encryption = scram-sha-256/" /var/lib/pgsql/data/postgresql.conf
-
データベースを有効化して起動します。
sudo systemctl enable --now postgresql
-
データベース・ユーザー・アカウントを作成します。
重要:この無料の演習環境では、プロンプトで
password
のパスワードを使用します。このパスワードは安全ではありません。このパスワードは、この環境でのデモンストレーションの目的でのみ使用します。sudo su - postgres -c "createuser -S -P awx"
-
データベースを作成します。
sudo su - postgres -c "createdb -O awx awx"
-
ホストベースの認証ファイルを更新します。
echo "host all all 0.0.0.0/0 scram-sha-256" | sudo tee -a /var/lib/pgsql/data/pg_hba.conf > /dev/null
-
データベース・リスナーのIPアドレスを更新します。
sudo sed -i "/^#port = 5432/i listen_addresses = '"$(hostname -i)"'" /var/lib/pgsql/data/postgresql.conf
-
データベース・メモリー要件を更新します。
これらの計算では、システムの合計メモリー(MB)が利用され、PostgreSQL構成ファイルのデフォルト値が置き換えられます。
export TOTAL_MEMORY="$(free --mega | awk 'FNR == 2 {print $2}')" sudo sed -i 's/max_connections = 100/max_connections = 1024/g' /var/lib/pgsql/data/postgresql.conf sudo sed -i "/^shared_buffers =/c\shared_buffers = $( echo "($TOTAL_MEMORY*0.3)/1" | bc )" /var/lib/pgsql/data/postgresql.conf sudo sed -i "/^#work_mem =/c\work_mem = $( echo "($TOTAL_MEMORY*0.03)/1" | bc )" /var/lib/pgsql/data/postgresql.conf sudo sed -i "/^#maintenance_work_mem =/c\maintenance_work_mem = $( echo "($TOTAL_MEMORY*0.04)/1" | bc )MB" /var/lib/pgsql/data/postgresql.conf
-
データベースを再起動します。
sudo systemctl restart postgresql
Oracle Linux Automation Managerのインストールおよび構成
-
Oracle Linux Automation Managerパッケージおよび依存関係をインストールします。
sudo dnf -y install ol-automation-manager
-
Redis構成ファイルを更新します。
Oracle Linux 8:
sudo sed -i '/^# unixsocketperm/a unixsocket /var/run/redis/redis.sock\nunixsocketperm 775' /etc/redis.conf
Oracle Linux 9:
sudo sed -i '/^# unixsocketperm/a unixsocket /var/run/redis/redis.sock\nunixsocketperm 775' /etc/redis/redis.conf
-
CLUSTER_HOST_IDをカスタム設定ファイルに追加します。
cat << EOF | sudo tee -a /etc/tower/conf.d/olam.py > /dev/null CLUSTER_HOST_ID = '$(hostname -i)' EOF
ノート:
$(hostname -i)
の使用は、出力にスペースが存在するため、IPv6が有効になっているシステムでは機能しません。代わりに、システムのホスト名($(hostname -f)
を使用することも、スペースを含まないほかの文字列を使用することもできます)を使用してください。 -
カスタム設定ファイルの権限を更新します。
sudo chown awx.awx /etc/tower/conf.d/olam.py sudo chmod 0640 /etc/tower/conf.d/olam.py
-
データベース設定をカスタム構成ファイルに追加します。
cat << EOF | sudo tee -a /etc/tower/conf.d/olam.py > /dev/null DATABASES = { 'default': { 'ATOMIC_REQUESTS': True, 'ENGINE': 'awx.main.db.profiled_pg', 'NAME': 'awx', 'USER': 'awx', 'PASSWORD': 'password', 'HOST': '$(hostname -i)', 'PORT': '5432', } } EOF
-
リンガリングを有効にします。
Oracle Linux 9:
sudo loginctl enable-linger awx
これにより、ヘッドレス・システムで実行しているときに次のメッセージが解決されます。
WARN[0000] cgroupv2マネージャはsystemdに設定されていますが、使用可能なsystemdユーザー・セッションはありませんWARN[0000] systemdを使用する場合は、ユーザー・セッションWARN[0000]を使用してログインする必要がある場合があります。または、
loginctl enable-linger 986
(rootの場合) WARN[0000] -cgroup-manager=cgroupfsにフォールバックして、言語を有効にすることもできます
WARN[0000] cgroupv2 managerがsystemdに設定されているが、使用可能なsystemdユーザー・セッションがないWARN[0000] systemdを使用する場合、ユーザー・セッションWARN[0000]を使用してログインする必要がある場合があります。または、loginctl enable-linger 986
(rootの場合) WARN[0000] -cgroup-manager=cgroupfsに戻すことで、lingeringを有効にできます -
Oracle Linux Automation Managerコンテナ・イメージをプルします。
Oracle Linux 8:
sudo su -l awx -s /bin/bash
podman system migrate
podman pull container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:2.3-ol8
Oracle Linux 9:
sudo su -l awx -s /bin/bash
podman system migrate
podman pull container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:2.3-ol9
-
Oracle Linux Automation Managerスキーマおよび管理ユーザー・アカウントを作成します。
awx-manage migrate awx-manage createsuperuser --username admin --email admin@example.com
ノート:前述の例では、
admin@example.com
は管理ユーザーの電子メール・アドレスの例です。 -
管理ユーザーのパスワードを入力して確認します。
-
awxユーザー・シェルを終了します。
exit
-
NGINXのSSL証明書を生成します。
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -keyout /etc/tower/tower.key -out /etc/tower/tower.crt
要求された情報を入力するか、
ENTER
キーを押してください。 -
デフォルトのNGINX構成を置き換えます。
cat << EOF | sudo tee /etc/nginx/nginx.conf > /dev/null user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; } EOF
-
レセプタ構成ファイルを更新します。
cat << EOF | sudo tee /etc/receptor/receptor.conf > /dev/null --- - node: id: $(hostname -i) - log-level: debug - tcp-listener: port: 27199 - control-service: service: control filename: /var/run/receptor/receptor.sock - work-command: worktype: local command: /var/lib/ol-automation-manager/venv/awx/bin/ansible-runner params: worker allowruntimeparams: true verifysignature: false EOF
-
インスタンスをプロビジョニングし、実行環境を登録します。
sudo su -l awx -s /bin/bash
awx-manage provision_instance --hostname=$(hostname -i) --node_type=hybrid
awx-manage register_default_execution_environments
awx-manage register_queue --queuename=default --hostnames=$(hostname -i)
awx-manage register_queue --queuename=controlplane --hostnames=$(hostname -i)
awx-manage create_preload_data
exit
-
サービスを起動します。
sudo systemctl enable --now ol-automation-manager.service
-
サーバーから切断します
exit
インストールの検証
-
同じターミナル・ウィンドウを使用して、SSHトンネルを構成します。
ssh -L 8444:localhost:443 oracle@<ip_address_of_instance>
ノート:前述の例で、
<ip_address_of_instance>
はOracle Linux Automation Managerを実行しているシステムのホスト名またはIPアドレスです。ホスト名を使用する場合は、ホストを解決可能である必要があります。 -
Webブラウザを開き、URLを入力します。
https://localhost:8444
ノート:使用するブラウザに基づいてセキュリティ警告を承認します。Chromeの場合は、
Advanced
ボタンをクリックし、Proceed to localhost (unsafe)
リンクをクリックします。 -
USERNAME
admin
および設定時に作成されたパスワードを使用して、Oracle Linux Automation Managerにログインします。
次のステップ
Oracle Linux Automation Managerをインストールすると、インフラストラクチャの自動化に役立つWebユーザー・インタフェースおよび様々な製品機能の確認を開始できます。Oracle Linuxトレーニング・ステーションに関する追加のトレーニングをチェックして、知識を広げ、アイデアを入手してください。
関連リンク
- Oracle Linux Automation Managerドキュメント
- Oracle Linux Automation Managerトレーニング
- Oracle Linuxトレーニング・ステーション
その他の学習リソース
docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Install Oracle Linux Automation Manager on Oracle Linux
F52965-05
Copyright ©2021, Oracle and/or its affiliates.