5.4.3.3.2. Ansible ベース Operator のクラスター上でのテスト

Ansible ロジックを Ansible ベース Operator 内でローカルに実行することに慣れたら、OpenShift Container Platform などの Kubernetes クラスターの Pod 内で Operator をテストすることができます。Pod のクラスターでの実行は、実稼働環境で優先される方法です。

手順

  1. test1-operator イメージをビルドし、これをレジストリーにプッシュします。

    $ operator-sdk build quay.io/example/test1-operator:v0.0.1
    $ podman push quay.io/example/test1-operator:v0.0.1
  2. Deployment マニフェストは deploy/operator.yaml ファイルに生成されます。このファイルのデプロイメントイメージはプレースホルダーの REPLACE_IMAGE から以前にビルドされたイメージに変更される必要があります。これを実行するには、以下のコマンドを実行します。

    $ sed -i 's|REPLACE_IMAGE|quay.io/example/test1-operator:v0.0.1|g' deploy/operator.yaml

    macOS でこれらの手順を実行している場合には、代わりに以下のコマンドを実行します。

    $ sed -i "" 's|REPLACE_IMAGE|quay.io/example/test1-operator:v0.0.1|g' deploy/operator.yaml
  3. test1-operator をデプロイします。

    $ oc create -f deploy/crds/test1_v1alpha1_test1_crd.yaml 1
    1
    CRD が存在しない場合にのみ必要です。
    $ oc create -f deploy/service_account.yaml
    $ oc create -f deploy/role.yaml
    $ oc create -f deploy/role_binding.yaml
    $ oc create -f deploy/operator.yaml
  4. test1-operator が稼働していることを確認します。

    $ oc get deployment

    出力例

    NAME                     DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
    test1-operator       1         1         1            1           1m

  5. test1-operator の Ansible ログを表示できるようになります。

    $ oc logs deployment/test1-operator