3.3. カスタムメトリクスオートスケーラーのインストール
OpenShift Container Platform Web コンソールを使用して Custom Metrics Autoscaler Operator をインストールすることができます。
インストールにより、以下の 5 つの CRD が作成されます。
-
ClusterTriggerAuthentication
-
KedaController
-
ScaledJob
-
ScaledObject
-
TriggerAuthentication
3.3.1. カスタムメトリクスオートスケーラーのインストール
次の手順を使用して、Custom Metrics Autoscaler Operator をインストールできます。
前提条件
- これまでにインストールしたテクノロジープレビューバージョンの Cluster Metrics Autoscaler Operator を削除する。
コミュニティーベースの KEDA バージョンをすべて削除する。
次のコマンドを実行して、KEDA 1.x カスタムリソース定義を削除する。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete crd scaledobjects.keda.k8s.io
$ oc delete crd scaledobjects.keda.k8s.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete crd triggerauthentications.keda.k8s.io
$ oc delete crd triggerauthentications.keda.k8s.io
オプション: Custom Metrics Autoscaler Operator を外部 Kafka クラスターや外部 Prometheus サービスなどのクラスター外のサービスに接続する必要がある場合は、必要なサービス CA 証明書を config map に配置します。config map は、Operator がインストールされているのと同じ namespace に存在する必要があります。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create configmap -n openshift-keda thanos-cert --from-file=ca-cert.pem
$ oc create configmap -n openshift-keda thanos-cert --from-file=ca-cert.pem
手順
-
OpenShift Container Platform Web コンソールで、Operators
OperatorHub をクリックします。 - 使用可能な Operator のリストから Custom Metrics Autoscaler を選択し、Install をクリックします。
- Install Operator ページで、Installation Mode に All namespaces on the cluster (default) オプションが選択されていることを確認します。これにより、Operator がすべての namespace にインストールされます。
- Installed Namespace に openshift-keda namespace が選択されていることを確認します。クラスターに存在しない場合、OpenShift Container Platform は namespace を作成します。
- Install をクリックします。
Custom Metrics Autoscaler Operator コンポーネントをリスト表示して、インストールを確認します。
-
Workloads
Pods に移動します。 -
ドロップダウンメニューから
openshift-keda
プロジェクトを選択し、custom-metrics-autoscaler-operator-*
Pod が実行されていることを確認します。 -
Workloads
Deployments に移動して、 custom-metrics-autoscaler-operator
デプロイメントが実行されていることを確認します。
-
Workloads
オプション: 次のコマンドを使用して、OpenShift CLI でインストールを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get all -n openshift-keda
$ oc get all -n openshift-keda
以下のような出力が表示されます。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME READY STATUS RESTARTS AGE pod/custom-metrics-autoscaler-operator-5fd8d9ffd8-xt4xp 1/1 Running 0 18m NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/custom-metrics-autoscaler-operator 1/1 1 1 18m NAME DESIRED CURRENT READY AGE replicaset.apps/custom-metrics-autoscaler-operator-5fd8d9ffd8 1 1 1 18m
NAME READY STATUS RESTARTS AGE pod/custom-metrics-autoscaler-operator-5fd8d9ffd8-xt4xp 1/1 Running 0 18m NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/custom-metrics-autoscaler-operator 1/1 1 1 18m NAME DESIRED CURRENT READY AGE replicaset.apps/custom-metrics-autoscaler-operator-5fd8d9ffd8 1 1 1 18m
必要な CRD を作成する
KedaController
カスタムリソースをインストールします。-
OpenShift Container Platform Web コンソールで、Operators
Installed Operators をクリックします。 - Custom Metrics Autoscaler をクリックします。
- Operator Details ページで、KedaController タブをクリックします。
KedaController タブで、Create KedaController をクリックしてファイルを編集します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kind: KedaController apiVersion: keda.sh/v1alpha1 metadata: name: keda namespace: openshift-keda spec: watchNamespace: '' operator: logLevel: info logEncoder: console caConfigMaps: - thanos-cert - kafka-cert metricsServer: logLevel: '0' auditConfig: logFormat: "json" logOutputVolumeClaim: "persistentVolumeClaimName" policy: rules: - level: Metadata omitStages: ["RequestReceived"] omitManagedFields: false lifetime: maxAge: "2" maxBackup: "1" maxSize: "50" serviceAccount: {}
kind: KedaController apiVersion: keda.sh/v1alpha1 metadata: name: keda namespace: openshift-keda spec: watchNamespace: ''
1 operator: logLevel: info
2 logEncoder: console
3 caConfigMaps:
4 - thanos-cert - kafka-cert metricsServer: logLevel: '0'
5 auditConfig:
6 logFormat: "json" logOutputVolumeClaim: "persistentVolumeClaimName" policy: rules: - level: Metadata omitStages: ["RequestReceived"] omitManagedFields: false lifetime: maxAge: "2" maxBackup: "1" maxSize: "50" serviceAccount: {}
- 1
- Custom Metrics Autoscaler Operator がアプリケーションをスケーリングする単一の namespace を指定します。空白のままにするか、または空にして、すべての namespace でアプリケーションをスケーリングします。このフィールドは、namespace があるか、空である必要があります。デフォルト値は空です。
- 2
- Custom Metrics Autoscaler Operator ログメッセージの詳細レベルを指定します。許可される値は
debug
、info
、error
です。デフォルトはinfo
です。 - 3
- Custom Metrics Autoscaler Operator ログメッセージのログ形式を指定します。許可される値は
console
またはjson
です。デフォルトはコンソール
です。 - 4
- オプション: CA 証明書を持つ 1 つ以上の config map を指定します。Custom Metrics Autoscaler Operator はこれを使用して、TLS 対応のメトリクスソースに安全に接続できます。
- 5
- Custom Metrics Autoscaler Metrics Server のログレベルを指定します。使用可能な値は、
info
の場合は0
、debug
の場合は4
です。デフォルトは0
です。 - 6
- Custom Metrics Autoscaler Operator の監査ログをアクティブにして、使用する監査ポリシーを指定します (「監査ログの設定」セクションを参照)。
- Create をクリックして KEDA コントローラーを作成します。
-
OpenShift Container Platform Web コンソールで、Operators