ノート:
- このチュートリアルは、Oracle提供の無料ラボ環境で入手できます。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときに、これらの値をクラウド環境に固有の値に置き換えます。
Oracle Linux Automation Managerのアップグレード
イントロダクション
既存のOracle Linux Automation Manager管理者は、オールインワン・シングル・インスタンス・デプロイメントに精通しています。
Oracle Linux Automation Managerを使用すると、管理者は既存のデプロイメントをアップグレードし、アップグレードしたインスタンスをクラスタ化されたデプロイメントに後で移行できます。アップグレード時に、インスタンスは単一ホスト・デプロイメントに変換され、それ自体をハイブリッド・ノードとして構成します。
このチュートリアルに従うと、以前のリリースからOracle Linux Automation Managerをアップグレードする方法がわかります。
目的
このチュートリアルでは、次の方法を学習します。
- Oracle Linux Automation Managerのアップグレード
前提条件
-
以前のリリースのOracle Linux Automation Managerがインストールされているシステム。
Oracle Linux Automation Managerのインストールの詳細は、Oracle LinuxへのOracle Linux Automation Managerのインストールを参照してください。
Oracle Linux Automation Managerのデプロイ
ノート:独自のテナンシで実行している場合は、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" passwordless_ssh: true olam_type: v1 EOF
-
演習環境をデプロイします。
ansible-playbook create_instance.yml -e ansible_python_interpreter="/usr/bin/python3.6" -e "@instances.yml"
無料のラボ環境では、Oracle Cloud Infrastructure SDK for Python用のRPMパッケージをインストールするため、追加の変数
ansible_python_interpreter
が必要です。このパッケージのインストール場所は、python3.6モジュールの下にあります。デフォルトのデプロイメント・シェイプでは、AMD CPUおよびOracle Linux 8が使用されます。Intel CPUまたはOracle Linux 9を使用するには、デプロイメント・コマンドに
-e instance_shape="VM.Standard3.Flex"
または-e os_version="9"
を追加します。重要:プレイブックが正常に実行されるまで待機し、一時停止タスクに到達します。Oracle Linux Automation Managerのインストールはプレイブックのこの段階で完了し、インスタンスの準備ができました。デプロイするノードのパブリックIPアドレスとプライベートIPアドレスを出力する前の再生に注意してください。
WebUIにログインします。
-
端末を開き、Oracle Linux Automation ManagerへのSSHトンネルを構成します。
ssh -L 8444:localhost:443 oracle@<hostname_or_ip_address>
無料の演習環境では、lamノード・インスタンスの外部IPアドレスを使用します。
-
Webブラウザを開き、URLを入力します。
https://localhost:8444
ノート:使用するブラウザに基づいてセキュリティ警告を承認します。Chromeの**「詳細」ボタンをクリックし、「localhostに進む(安全でない)」リンクをクリックします。
-
USERNAME
admin
および自動デプロイメント中に作成されたPASSWORDadmin
を使用して、Oracle Linux Automation Managerにログインします。 -
ログイン後、WebUIが表示されます。
アップグレードの実行
-
Oracle Linux Automation Managerインスタンスを実行しているolam-nodeインスタンスに接続されている端末に切り替えます。
-
Oracle Linux Automation Managerサービスを停止します。
sudo systemctl stop ol-automation-manager
-
データベース内の自動化シークレットを暗号化するためにOracle Linux Automation Managerで使用される秘密キーのバックアップを作成します。
sudo cp /etc/tower/SECRET_KEY ~/SECRET_KEY.olamv1
-
データベースのバックアップを作成します。
このコマンドは、データベースの内容を、データベースをリストアするために必要なすべてのSQLコマンドとデータを含むファイルにダンプします。
sudo su - postgres -c pg_dumpall > /tmp/olamv1_db_dump
-
データベース・サービスを停止します。
sudo systemctl stop postgresql
-
既存のデータベース・データファイルを削除します。
sudo rm -rf /var/lib/pgsql/data
このコマンドは、既存のデータベース・データファイルを削除します。データベースは、後でダンプ・ファイルを使用して再構築されます。
-
現在のデータベース・パッケージをアンインストールします。
sudo dnf -y remove postgresql
-
新しいデータベース・バージョンのモジュール・ストリームを有効にします。
Oracle Linux Automation Managerでは、アップグレード時にPostgreSQL 12および13を使用できます。この演習ではバージョン13を使用します。
sudo dnf -y module reset postgresql sudo dnf -y module enable postgresql:13
-
Oracle Linux Automation Managerリポジトリ・パッケージを更新します。
sudo dnf -y update oraclelinux-automation-manager-release-el8
ノート:このステップでは、初期デプロイメントでOracle Linux Automation Managerの最新のリポジトリ・パッケージがすでにインストールされているため、無料の演習環境では何もできないことが報告されます。
-
すべてのOracle Linux Automation Managerリポジトリを無効にします。
sudo dnf config-manager --disable ol8_automation ol8_automation2 ol8_automation2.2
-
Oracle Linux Automation Managerパッケージをリリース2にアップグレードします。
sudo dnf -y install ol-automation-manager --enablerepo ol8_automation2
-
現在のリポジトリを有効にします。
sudo dnf config-manager --enable ol8_automation2.2
-
Oracle Linux Automation Managerパッケージを更新します。
sudo dnf -y update ol-automation-manager
ノート:アップグレード中に、次の予期されるメッセージが出力に表示されます。
Upgrading : ol-automation-manager-2.1.0-10.el8.x86_64 26/28 warning: /etc/tower/settings.py created as /etc/tower/settings.py.rpmnew Running scriptlet: ol-automation-manager-2.1.0-10.el8.x86_64 26/28 ValueError: File context for /var/run/tower(/.*)? already defined
-
データベース・サーバーをインストールします。
sudo dnf -y install postgresql-server
-
データベースを初期化してから起動およびリストアします。
sudo postgresql-setup --initdb sudo systemctl start postgresql sudo su - postgres -c 'psql -d postgres -f /tmp/olamv1_db_dump'
-
データベースが使用可能であることを確認します。
sudo su - postgres -c 'psql -l | grep awx'
出力例:
[oracle@control-node ~]$ sudo su - postgres -c 'psql -l | grep awx' awx | awx | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
出力には、ダンプ・ファイルを使用したリストアの実行後にデータベース内に作成された
awx
アカウントが表示されます。 -
デフォルトのOracle Linux Automation Managerグローバル設定ファイルを置き換えます。
Oracle Linux Automation Managerパッケージのアップグレード後、新しいrpmによって、
.rpmnew
の拡張子を持つデフォルト構成ファイルが作成されます。このプロセスにより、システム管理者は構成の違いを確認し、必要な変更を手動で移行できます。sudo mv /etc/tower/settings.py /etc/tower/settings.py.save sudo mv /etc/tower/settings.py.rpmnew /etc/tower/settings.py
-
新しいグローバル設定ファイルと古いグローバル設定ファイルの違いを表示します。
sudo diff /etc/tower/settings.py /etc/tower/settings.py.save
ノート:以前に
settings.py
ファイルに追加されたカスタム設定は、WebUIで設定するか、/etc/tower/conf.d
の下のファイルに移動する必要があります。 -
必要な設定を含むカスタム設定ファイルを作成します。
cat << EOF | sudo tee /etc/tower/conf.d/olamv2.py > /dev/null CLUSTER_HOST_ID = '$(hostname -i)' DEFAULT_EXECUTION_QUEUE_NAME = 'tower' DEFAULT_CONTROL_PLANE_QUEUE_NAME = 'tower' EOF
このコマンドは、
CLUSTER_HOST_ID
設定をシステムのIPアドレスに設定し、デフォルトのキュー名をアップグレード前のバージョンのtower
のデフォルト名に設定します。構成ファイルに入力する値は、Python構文形式に従う必要があります。ノート: Oracle Linux Automation Managerをアップグレードする場合、アップグレード後にジョブが保留ステータスでスタックしないように、
CLUSTER_HOST_ID
値は前のインストールの値と一致する必要があります。リリース1のデフォルトのキュー名はtower
で、リリース2ではdefault
です。 -
レセプタ構成ファイルを更新します。
リセプタ メッシュはオーバーレイ ネットワークで、作業の分散を処理するためにコントローラとエグゼキュータの間にピアツーピア接続を作成します。
sudo sed -i "s/0.0.0.0/$(hostname -i)/" /etc/receptor/receptor.conf
-
レセプタ構成ファイルを確認します。
sudo cat /etc/receptor/receptor.conf
id:
は、Oracle Linux Automation Managerシステムのホスト名またはIPアドレスです。port:
は、レセプタ・メッシュのTCPリスニング・ポートで、デフォルトはTCPポート27199です。
-
Oracle Linux Automation Managerをデプロイします。
-
awx
ユーザーとしてシェルを開きます。sudo su -l awx -s /bin/bash
-
権限のないネームスペースを維持しながら、既存のコンテナを最新のpodmanバージョンに移行します。
podman system migrate
-
Oracle Linux Automation ManagerのOracle Linux Automation Engine実行環境を取得します。
podman pull container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:2.2
-
awx-manage
ユーティリティを使用して、Oracle Linux Automation Managerインスタンスを設定します。awx-manage makemigrations --merge awx-manage migrate awx-manage register_default_execution_environments exit
-
-
秘密キー・ファイルのバックアップをリストアします。
sudo cp ~/SECRET_KEY.olamv1 /etc/tower/SECRET_KEY
-
Oracle Linux Automation Manager設定ファイルに次のパラメータを追加します。
cat << EOF | sudo tee -a /etc/tower/conf.d/olamv2.py > /dev/null # OLAM Reaper Job Status Tracking REAPER_TIMEOUT_SEC = 60 EOF
-
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
-
データベース・チューニング・パラメータを更新します。
sudo sed -i 's/max_connections = [0-9]\+/max_connections = 1024/' /var/lib/pgsql/data/postgresql.conf
sudo sed -i 's/shared_buffers = [0-9]\+MB/shared_buffers = 5400MB/' /var/lib/pgsql/data/postgresql.conf
sudo sed -i 's/#\(work_mem = \)[0-9]\+MB/\1'540MB/ /var/lib/pgsql/data/postgresql.conf
sudo sed -i 's/#\(maintenance_work_mem = \)[0-9]\+MB/\1'720MB/ /var/lib/pgsql/data/postgresql.conf
-
データベースを再起動します。
sudo systemctl restart postgresql
-
NGINXを再起動します。
sudo systemctl restart nginx
-
Oracle Linux Automation Managerを起動します。
sudo systemctl start ol-automation-manager
アップグレードを確認します
-
前のWebUIの表示に使用したWebブラウザ・ウィンドウをリフレッシュするか、新しいWebブラウザ・ウィンドウを開いてURLを入力します。
https://localhost:8444
URLで使用されるポートは、SSHトンネルのローカル・ポートと一致する必要があります。
-
「ユーザー名」
admin
および「パスワード」admin
を使用して、Oracle Linux Automation Managerに再度ログインします。 -
ログイン後、WebUIが表示されます。
次のステップ
アップグレードが完了し、ジョブを実行する準備ができました。Oracle Linux Automation Managerについてさらに学習するには、Oracle Linuxトレーニング・ステーションで他のOracle Linux Automation Managerトレーニングをチェックして、ドキュメントを確認し、スキルを引き続き構築してください。
関連リンク
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を参照してください。