3 Operator Lifecycle Managerの使用
重要:
このドキュメントで説明されているソフトウェアは、Extended SupportまたはSustaining Supportにあります。 詳細は、「Oracleオープン・ソース・サポート・ポリシー」を参照してください。
このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお勧めします。
この項では、Operator Lifecycle Managerを使用できることを確認するための基本的なテストについて説明します。
オペレータ登録の一覧表示
コントロール・プレーン・ノードでkubectlコマンドを使用して、使用可能なオペレータ・レジストリを表示できます:
kubectl get catalogsource --namespace operator-lifecycle-manager出力は次のようになります:
NAME DISPLAY TYPE PUBLISHER AGE
operatorhubio-catalog Community Operators grpc OperatorHub.io 3m35sOperatorHubレジストリが出力に表示されます。 これはデフォルトのオペレータ・レジストリです。
オペレータのインストール
インストール可能なすべてのオペレータを表示するには、コントロール・プレーン・ノードでkubectlコマンドを使用します:
kubectl get packagemanifestOperatorHubで使用可能なオペレータのリストが表示されます。 これらはすべて、Operator Lifecycle Managerによってインストールできます。 次の例は、OperatorHubからプルされるオペレータを作成する方法を示しています。
オペレータを作成するには:
-
webブラウザで、OperatorHubに移動し、インストールするオペレータの名前を検索します。 OperatorHubは次の場所にあります:
この例では、次の場所にある
cert-managerオペレータを使用します:https://operatorhub.io/operator/cert-manager
「Install」をクリックします。
オペレータをデプロイする
kubectl createコマンドを示すダイアログが表示されます。 たとえば:kubectl create -f https://operatorhub.io/install/cert-manager.yamlオペレータ・マニフェストYAMLファイルを含むこのコマンドのURLをコピーします。
-
コントロール・プレーン・ノードで、OperatorHubから
cert-managerオペレータ・マニフェストYAMLファイルをダウンロードします:curl --remote-name https://operatorhub.io/install/cert-manager.yaml -
必要に応じて、このマニフェストYAMLファイルを編集します。
重要:
オペレータが
Subscriptionセクションに次の行を含む場合:sourceNamespace: olmこれを次のように変更します:
sourceNamespace: operator-lifecycle-managerOperator Lifecycle Managerは、アップストリーム・ネームスペースとは異なる
operator-lifecycle-managerネームスペースで実行されます。ファイルを編集して、
sourceNamespaceをoperator-lifecycle-managerに変更します。apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: my-cert-manager namespace: operators spec: channel: stable name: cert-manager source: operatorhubio-catalog sourceNamespace: operator-lifecycle-manager -
kubectl applyコマンドを使用して、cert-managerオペレータをデプロイします。kubectl apply -f cert-manager.yaml出力は次のようになります:
subscription.operators.coreos.com/my-cert-manager createdオペレータは、オペレータ・マニフェスト・ファイルに設定されたネームスペースにデプロイされます。この例では、
operatorsです。 -
オペレータ
ClusterServiceVersion情報は、次を使用して表示できます:kubectl get csv --namespace operators出力は次のようになります:
NAME DISPLAY VERSION REPLACES PHASE cert-manager.v1.12.2 cert-manager 1.12.2 cert-manager.v1.11.4 Succeeded -
オペレータのデプロイメントは、次を使用して確認できます:
kubectl get deployments --namespace operators出力は次のようになります:
NAME READY UP-TO-DATE AVAILABLE AGE cert-manager 1/1 1 1 6m cert-manager-cainjector 1/1 1 1 6m cert-manager-webhook 1/1 1 1 6m
オペレータの削除
オペレータを削除してアンインストールするには、SubscriptionおよびClusterServiceVersionリソースを削除する必要があります。
このドキュメントの例にはSubscriptionリソースは含まれていませんが、削除するオペレータにSubscriptionリソースが含まれている場合は、次を使用して削除します:
kubectl delete subscription subscription-name --namespace namespaceまた、次を使用してKubernetes ClusterServiceVersionリソースを削除する必要があります:
kubectl delete csv csv-name --namespace namespace cert-managerオペレータのClusterServiceVersionを削除するには、コントロール・プレーン・ノードで次を実行します:
kubectl delete csv --namespace operators cert-manager.v1.12.2 出力は次のようになります:
clusterserviceversion.operators.coreos.com "cert-manager.v1.12.2" deleted