ノート:
- このチュートリアルは、Oracle提供の無料ラボ環境で入手できます。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときに、これらの値をクラウド環境に固有の値に置き換えます。
AWXコレクションを使用したOracle Linux Automation Managerの管理
イントロダクション
AWX Ansibleコレクションを使用すると、管理者はプレイブックを介してOracle Linux Automation Managerと対話できます。モジュールには、ユーザーやグループの管理、プロジェクトの作成、ジョブの実行などのタスクを実行する機能が含まれます。
目的
このチュートリアルでは、次の方法を学習します。
- DevOpsおよびOracle Linux Automation Managerインスタンスのデプロイ
- DevOpsインスタンスの構成ファイルを設定します。
- ジョブの実行に必要なアイテムを作成するプレイブックを作成する
- プレイブックのテストと検証
前提条件
- Oracle Linux Automation Engineプレイブックを実行するための制御ノード
- 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" olam_type: single 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 Automation Managerのデプロイメントの確認
-
新しいターミナルを開きます。
-
Oracle Linux Automation ManagerインスタンスへのSSHトンネルを構成します。
ssh -o ExitOnForwardFailure=yes -f -L 8444:localhost:443 oracle@<public_ip_address_of_olam-node> sleep 300
-o ExitOnForwardFailure=yes
: すべてのリモート・ポート転送が正常に確立されるまで待機します。-f
: SSHトンネルをバックグラウンドで実行します。-L
: ローカル・システム上のポート8444にトンネルを作成し、リモート・システム上の443を作成しますsleep 300
: リモート・トンネルを5分間開いたままにし、確立された接続を待機してから自動的に閉じます。
-
Webブラウザを開き、URLを入力します。
https://localhost:8444
ノート:使用するブラウザに基づいてセキュリティ警告を承認します。Chromeの場合は、
Advanced
ボタンをクリックし、Proceed to localhost (unsafe)
リンクをクリックします。 -
ユーザー名
admin
およびデプロイメント中に作成されたパスワードadmin
を使用して、Oracle Linux Automation Managerにログインします。 -
ログインすると、Web UIが表示されます。
コントローラ構成ファイルの作成
AWX Ansibleコレクションは、構成ファイルを使用し、場合によってはAWX CLIを使用してOracle Linux Automation Managerに対して認証します。認証パラメータは、CLIを使用してコマンドラインで直接渡すか、構成ファイルに書き込むことができます。
認証パラメータを指定する場合、AWX Ansibleコレクションは次のいずれかの組合せを想定します。
- ホスト、ユーザー名、パスワード
- ホスト、OAuth2トークン
詳細は、アップストリーム・プロジェクトを参照してください。
-
SSHトンネルを作成したターミナルに戻ります。
-
構成ファイルを生成します。
cat << EOF | tee ~/.tower_cli.cfg > /dev/null [general] host: https://localhost:8444 verify_ssl: false username: admin password: admin use_token = false EOF
host:
- Oracle Linux Automation Manager Web UIにアクセスするためのURLを定義します。verify_ssl:
- チュートリアル環境が自己署名証明書を使用するため、厳密なSSLチェックをオフにしますuse_token:
- OAuth2トークンを使用することをお薦めしますが、falseに設定すると、認証用に無効になります。
組織の作成
スタート・ガイドのチュートリアルで説明しているように、組織はロールベースのピラミッドの最上部にあり、ユーザー、チーム、プロジェクトおよび在庫の論理的なコレクションです。
これをWeb UIで作成するのではなく、プレイブックを作成できます。
-
プレイブックを書く。
cat << EOF | tee configure-olam.yaml > /dev/null --- - name: Playbook to set up training demo data using the AWX collection hosts: localhost gather_facts: false collections: - awx.awx tasks: - name: Create an organization awx.awx.organization: name: "Example" description: "Created using a playbook" state: present EOF
-
プレイブックを実行します。
ansible-playbook configure-olam.yaml
-
Web UIで変更を確認します。
ブラウザを使用して、Web UIにログインします。
ノート: ログインが失敗した場合、SSHトンネルが期限切れになっている可能性があります。この場合、SSHコマンドを再実行して接続を再確立する必要があります。
ナビゲーション・メニューで「組織」をクリックします。プレイブックが作成したExampleエントリに注意してください。
ジョブの実行
組織が作成されたら、スタート・ガイド・チュートリアルの残りのステップをいくつか変更して自動化します。Oracle Linux Automation Engineの利点の1つは、自己文書化です。
-
プレイブックを作成した端末に戻ります。
-
既存のプレイブックに追加の構成を追加します。
cat << EOF | tee -a configure-olam.yaml > /dev/null - name: Add a user awx.awx.user: username: jdoe password: oracle email: jdoe@example.com first_name: John last_name: Doe organization: Example state: present - name: Add an inventory awx.awx.inventory: name: "Demo Inventory" description: "Demo OCI Instances" organization: Example state: present - name: Add a host awx.awx.host: name: localhost description: "Use to run tasks locally" inventory: "Demo Inventory" state: present variables: ansible_connection: local - name: Add a credential awx.awx.credential: name: "Linux Instance" credential_type: Machine organization: Example inputs: username: opc ssh_key_data: "" - name: Add a project awx.awx.project: name: "Hello World" description: "Sample Hello World Project" organization: Example default_environment: "OLAM EE (2.3)" scm_type: "git" scm_update_on_launch: false scm_url: https://github.com/oracle-devrel/linux-virt-labs.git state: present - name: Add a template awx.awx.job_template: name: "Say Hello" job_type: "run" organization: Example inventory: "Demo Inventory" project: "Hello World" playbook: "labs/olam-hello-world.yaml" state: present - name: Launch a job awx.awx.job_launch: job_template: "Say Hello" wait: true register: job - name: Print results from job ansible.builtin.debug: var: job EOF
-
プレイブックを再実行します。
ansible-playbook configure-olam.yaml
プレイブックは、最後のプレイでジョブのステータスが
successful
と表示され、無視できる警告とともに終了します。 -
Web UIでジョブを確認します。
ブラウザを使用して「ジョブ」に移動し、「Say Hello」ジョブをクリックします。出力には、ジョブ中にプレイブックが実行された結果が表示されます。デバッグ・タスクからのようこそメッセージを確認します。
次のステップ
Web UI内の出力によって、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を参照してください。
Manage Oracle Linux Automation Manager Using the AWX Collection
G32876-02
Copyright ©2024, Oracle and/or its affiliates.