3.3. カスタムメトリクスオートスケーラーのインストール
Custom Metrics Autoscaler Operator は、OpenShift Dedicated Web コンソールを使用してインストールできます。
インストールにより、以下の 5 つの CRD が作成されます。
-
ClusterTriggerAuthentication
-
KedaController
-
ScaledJob
-
ScaledObject
-
TriggerAuthentication
3.3.1. カスタムメトリクスオートスケーラーのインストール
次の手順を使用して、Custom Metrics Autoscaler Operator をインストールできます。
前提条件
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。OpenShift Dedicated クラスターが Red Hat によって所有されるクラウドアカウント (非 CCS) 内にある場合は、
cluster-admin
権限を要求する必要があります。- これまでにインストールしたテクノロジープレビューバージョンの Cluster Metrics Autoscaler Operator を削除する。
コミュニティーベースの KEDA バージョンをすべて削除する。
次のコマンドを実行して、KEDA 1.x カスタムリソース定義を削除する。
$ oc delete crd scaledobjects.keda.k8s.io
$ oc delete crd triggerauthentications.keda.k8s.io
-
keda
namespace が存在することを確認します。存在しない場合は、keda
namespace を手動で作成する必要があります。 オプション: Custom Metrics Autoscaler Operator を外部 Kafka クラスターや外部 Prometheus サービスなどのクラスター外のサービスに接続する必要がある場合は、必要なサービス CA 証明書を config map に配置します。config map は、Operator がインストールされているのと同じ namespace に存在する必要があります。以下に例を示します。
$ oc create configmap -n openshift-keda thanos-cert --from-file=ca-cert.pem
手順
-
OpenShift Dedicated Web コンソールで、Operators
OperatorHub をクリックします。 - 使用可能な Operator のリストから Custom Metrics Autoscaler を選択し、Install をクリックします。
- Install Operator ページで、Installation Mode に A specific namespace on the cluster オプションが選択されていることを確認します。
- Installed Namespace で、Select a namespace をクリックします。
Select Project をクリックします。
-
keda
namespace が存在する場合は、リストから keda を選択します。 keda
namespace が存在しない場合は、以下を実行します。- Create Project を選択して、Create Project ウィンドウを開きます。
-
Name フィールドに
keda
と入力します。 -
Display Name フィールドに、
keda
などのわかりやすい名前を入力します。 - オプション: Display Name フィールドに、namespace の説明を追加します。
- Create をクリックします。
-
- Install をクリックします。
Custom Metrics Autoscaler Operator コンポーネントをリスト表示して、インストールを確認します。
-
Workloads
Pods に移動します。 -
ドロップダウンメニューから
keda
プロジェクトを選択し、custom-metrics-autoscaler-operator-*
Pod が実行されていることを確認します。 -
Workloads
Deployments に移動して、 custom-metrics-autoscaler-operator
デプロイメントが実行されていることを確認します。
-
Workloads
オプション: 次のコマンドを使用して、OpenShift CLI でインストールを確認します。
$ oc get all -n keda
以下のような出力が表示されます。
出力例
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 Dedicated Web コンソールで、Operators
Installed Operators をクリックします。 - Custom Metrics Autoscaler をクリックします。
- Operator Details ページで、KedaController タブをクリックします。
KedaController タブで、Create KedaController をクリックしてファイルを編集します。
kind: KedaController apiVersion: keda.sh/v1alpha1 metadata: name: keda namespace: 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 Dedicated Web コンソールで、Operators