5.6.2.5. Operator の実行
Operator SDK CLI を使用して Operator をビルドし、実行する方法は 3 つあります。
- クラスター外で Go プログラムとしてローカルに実行します。
- クラスター上のデプロイメントとして実行します。
- Operator をバンドルし、Operator Lifecycle Manager (OLM) を使用してクラスター上にデプロイします。
5.6.2.5.1. クラスター外でローカルに実行する。 リンクのコピーリンクがクリップボードにコピーされました!
Operator プロジェクトをクラスター外の Go プログラムとして実行できます。これは、デプロイメントとテストを迅速化するという開発目的において便利です。
手順
以下のコマンドを実行して Operator をコンパイルします。
$ mvn clean install出力例
[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 11.193 s [INFO] Finished at: 2021-05-26T12:16:54-04:00 [INFO] ------------------------------------------------------------------------以下のコマンドを実行して CRD をデフォルトの namespace にインストールします。
$ oc apply -f target/kubernetes/memcacheds.cache.example.com-v1.yml出力例
customresourcedefinition.apiextensions.k8s.io/memcacheds.cache.example.com created以下の例のように
rbac.yamlという名前のファイルを作成します。apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: memcached-operator-admin subjects: - kind: ServiceAccount name: memcached-quarkus-operator-operator namespace: <operator_namespace> roleRef: kind: ClusterRole name: cluster-admin apiGroup: ""以下のコマンドを実行して、
rbac.yamlファイルを適用してcluster-admin権限をmemcached-quarkus-operator-operatorに付与します。$ oc apply -f rbac.yaml以下のコマンドを入力して Operator を実行します。
$ java -jar target/quarkus-app/quarkus-run.jar注記javaコマンドは Operator を実行し、プロセスが終了するまで実行の状態を継続します。残りのコマンドを完了するには、別のターミナルが必要になります。以下のコマンドを使用して
memcached-sample.yamlファイルを適用します。$ kubectl apply -f memcached-sample.yaml出力例
memcached.cache.example.com/memcached-sample created
検証
以下のコマンドを実行して、Pod が起動していることを確認します。
$ oc get all出力例
NAME READY STATUS RESTARTS AGE pod/memcached-sample-6c765df685-mfqnz 1/1 Running 0 18s