3.3. 安装自定义指标自动扩展
您可以使用 OpenShift Dedicated Web 控制台安装自定义 Metrics Autoscaler Operator。
安装会创建以下五个 CRD:
-
ClusterTriggerAuthentication
-
KedaController
-
ScaledJob
-
ScaledObject
-
TriggerAuthentication
3.3.1. 安装自定义指标自动扩展
您可以使用以下步骤安装自定义 Metrics Autoscaler Operator。
先决条件
您可以使用具有
cluster-admin
角色的用户访问集群。如果您的 OpenShift Dedicated 集群位于由红帽所有的云帐户中(非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
命名空间存在。如果没有,则必须安全地创建keda
命名空间。 可选:如果您需要自定义 Metrics Autoscaler Operator 连接到非集群服务,如外部 Kafka 集群或外部 Prometheus 服务,请将任何所需的服务 CA 证书放在配置映射中。配置映射必须存在于安装 Operator 的同一命名空间中。例如:
$ 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
命名空间,请从列表中选择 keda。 如果
keda
命名空间不存在:- 选择 Create Project 以打开 Create Project 窗口。
-
在 Name 字段中输入
keda
。 -
在 Display Name 字段中输入描述性名称,如
keda
。 - 可选:在 Display Name 字段中,为命名空间添加描述。
- 点 Create。
-
如果存在
- 点 Install。
列出自定义 Metrics Autoscaler Operator 组件来验证安装:
-
导航到 Workloads
Pods。 -
从下拉菜单中选择
keda
项目,并验证custom-metrics-autoscaler-operator
autoscaler 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
安装
KedaController
自定义资源,该资源创建所需的 CRD:-
在 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
- 指定自定义 Metrics Autoscaler Operator 应该在其中扩展应用程序的单个命名空间。将它留空,或将其留空,以便在所有命名空间中扩展应用程序。此字段应具有命名空间或为空。默认值为空。
- 2
- 指定自定义 Metrics Autoscaler Operator 日志消息的详细程度。允许的值有
debug
、info
和error
。默认为info
。 - 3
- 指定 Custom Metrics Autoscaler Operator 日志消息的日志记录格式。允许的值是
console
或json
。默认为console
。 - 4
- 可选:使用 CA 证书指定一个或多个配置映射,自定义 Metrics Autoscaler Operator 可以使用它们安全地连接到启用了 TLS 的指标源。
- 5
- 指定自定义 Metrics Autoscaler Metrics 服务器的日志记录级别。允许的值是
0
(用于info
)和4
(用于debug
)。默认值为0
。 - 6
- 激活自定义 Metrics Autoscaler Operator 的审计日志记录,并指定要使用的审计策略,如"配置审计日志记录"部分中所述。
- 点 Create 创建 KEDA 控制器。
-
在 OpenShift Dedicated web 控制台中,点 Operators