こんにちはオタク、Ansible AWXについて知っているといいのですが、そうでない場合は、AnsibleAWXはAnsibleプレイブックを管理するためのWebベースのGUIツールです。ソース管理の統合、RBACのロギングなど、Ansibleプレイブックの実行以外にも、AWXには多くの機能があります。
つまり、AnsibleAWXはRedHATAnsibleTowerの上流プロジェクトと見なされていると言えます。 AWXバージョン18.x以降では、インストールのフォーカスがdockerからKubernetesに移動します。そのため、この記事では、KubernetesMinikubeへのAnsibleAWXのインストールを段階的に説明します。
MinikubeはすでにLinuxシステムにインストールされていると思います。そうでない場合は、以下のURLを使用してください:
- Ubuntu 20.04 LTS/21.04にMinikubeをインストールする方法
注: 十分なリソース(少なくとも4つのvCPUと8 GBのRAM)を使用してminikubeクラスターを開始するようにしてください。私の場合、次のリソースとオプションを使用してminikubeを開始しました。
$ minikube start --addons =ingress --cpus =4 --cni =flannel --install-addons =true --kubernetes-version =stable --memory =8g
Minikubeクラスターのインストールを確認する
次のコマンドを実行して、minikubeのインストールとクラスターのステータスを確認します。
$ minikube status $ kubectl cluster-info $kubectlgetノード
上記のコマンドの出力は次のようになります。
上記のパーフェクトは、minikubeがインストールされ、正常に起動されたことを確認します。 AWXのインストール手順に移りましょう。
ステップ1)AWXオペレーターをインストールする
AWXオペレーターをインストールするには、次のkubectlコマンドを実行します。
$ kubectl apply -f https://raw.githubusercontent.com/ansible/awx-operator/0.12.0/deploy/awx-operator.yaml
出力
以下のコマンドを実行して、AWXオペレーターのポッドが起動しているかどうかを確認します。開始されていない場合は、時間がかかるため、数分待ちます。
[email protected]:〜$ kubectl getpodsNAMEREADYステータス再起動AGEawx-operator-79bc95f78-pb7tz1/1eステップ2)AWXインスタンスのyamlファイルを作成する
次の内容でansible-awx.ymlファイルを作成します
$ vi ansible-awx.yml --- apiVersion:awx.ansible.com/v1beta1kind:AWXmetadata:name:ansible-awxspec:service_type:nodeport ingress_type:none hostname:ansible-awx.example.comファイルを保存して終了します。
ステップ3)AnsibleAWXインスタンスをデプロイする
それでは、以下のコマンドを実行して、クラスターにAWXインスタンスをデプロイしましょう。
[メール保護]:〜$ kubectl apply -f ansible-awx.ymlawx.awx.ansible.com/ansible-awxcreated [メール保護]:〜$上記では、「ansible-awx」という名前のデプロイメントが作成され、このデプロイメントには2つのポッドとサービスが含まれます。
数分後、Ansible AWXがデプロイされます。インストールログを監視する場合は、以下のコマンドを使用してください。
$ kubectl logs -f deploy / awx-operator以下のコマンドを実行して、AWXポッドのステータスを確認します。
[メールで保護]:〜$ kubectl get pods -l "app.kubernetes.io/managed-by=awx-operator" NAME READY STATUS / 4 m aw 4 RESTARTS AGEansible-awx-5ddfccf664 postgres-0 1/1実行中08分24秒[メール保護]:〜$次のコマンドを実行して、サービスステータスを表示します
[メールで保護]:〜$ kubectl get svc -l"app.kubernetes.io/managed-by=awx-operator"NAMEタイプクラスター-IPクラスター-IPなし>5432/ TCP 8m31sansible-awx-service NodePort 10.97.206.89<なし>80:32483 / TCP 7m55s [メール保護]:〜$「ansible-awx-service」のノードポートをメモしてください。後でポート転送に使用します。
ステップ4)トンネリングを介してAWXポータルにアクセスする
minikubeクラスターの外部でAWXポータルにアクセスするには、トンネリングを構成して実行する必要があります
[email protected]:〜$ nohup minikube tunnel&[3] 35709 [email protected]:〜$ [email protected]:〜$ kubectl get svc ansible-awx-serviceNAME TYPE CLUSTER-IP EXTERNAL )AGEansible-awx-service NodePort 10.97.206.8980:32483 / TCP 90m [メール保護]:〜$ リクエストがノードポート「32483」のminikubeIPで送信される場合、awxポッドのポート80にリダイレクトされるようにポート転送を設定します。
[メール保護]:〜$ kubectl port-forward svc / ansible-awx-service --address 0.0.0.0 32483:80&> / dev / null&[4] 46686 [メール保護]:〜$次に、minikubeのIPアドレスとノードポート32483を使用して、WebブラウザからAWXポータルにアクセスしてみます
http://
:
クレデンシャルを取得するには、ターミナルに戻り、コマンドの下で実行します。
[メール保護]:〜$ kubectl get secret ansible-awx-admin-password -o jsonpath="{。data.password}"| base64 --decodePWrwGWBFCmpd1b47DJffCtK5SqYGzxXF [メール保護]:〜$ユーザー名を「admin」として使用し、パスワードを上記のコマンドの出力として使用します。資格情報を入力すると、次のダッシュボードが表示されます
上記は、AnsibleAWXがKubernetesminikubeに正常にインストールされていることを示しています。これでこの記事は終わりです。お役に立てば幸いです。ご不明な点がございましたら、下のコメントセクションにご記入ください。
また読む :AWXGUIを使用してAnsiblePlaybookを実行およびスケジュールする方法
Linux