Installing KEDA

前提条件

KEDA 是一个帮助 Kubernetes 根据实际事件自动扩缩应用的工具。通过 KEDA,您可以根据工作负载的变化(例如队列中的消息数量或传入请求数)自动调整容器的规模。

  1. 从 Alauda Cloud 下载 KEDA 安装包。
  2. 使用上架软件包机制上传安装包。
INFO

上架软件包: 进入 管理员 > Marketplace > 上传软件包 页面。 点击右侧的 帮助文档 获取如何将 operator 发布到集群的说明。更多详情请参考 CLI

通过命令行安装

安装 KEDA Operator

如果不存在,则创建 KEDA operator 的命名空间:

kubectl apply -f - <<EOF
apiVersion: v1
kind: Namespace
metadata:
  name: "keda"
EOF

运行以下命令在目标集群中安装 KEDA Operator:

kubectl apply -f - <<EOF
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  annotations:
    cpaas.io/target-namespaces: ""
  labels:
    catalog: platform
  name: keda
  namespace: keda
spec:
  channel: stable
  installPlanApproval: Automatic
  name: keda
  source: custom
  sourceNamespace: cpaas-system
  startingCSV: keda.v2.17.2
EOF

配置参数:

参数推荐配置
metadata.namekeda:Subscription 名称设置为 keda
metadata.namespacekeda:Subscription 命名空间设置为 keda
spec.channelstable:默认 Channel 设置为 stable
spec.installPlanApprovalAutomatic升级操作将自动执行。
spec.namekeda:operator 软件包名称,必须为 keda
spec.sourcecustom:keda operator 的 catalog 来源,必须为 custom
spec.sourceNamespacecpaas-system:catalog 来源的命名空间,必须为 cpaas-system
spec.startingCSVkeda.v2.17.2:keda operator 的起始 CSV 名称。

创建 KedaController 实例

在命名空间 keda 中创建名为 keda 的 KedaController 资源:

kubectl apply -f - <<EOF
apiVersion: keda.sh/v1alpha1
kind: KedaController
metadata:
  name: keda
  namespace: keda
spec:
  admissionWebhooks:
    logEncoder: console
    logLevel: info
  metricsServer:
    logLevel: "0"
  operator:
    logEncoder: console
    logLevel: info
  serviceAccount: null
  watchNamespace: ""
EOF

通过 Web 控制台安装

安装 KEDA Operator

  1. 登录后,进入 管理员 页面。
  2. 点击 Marketplace > OperatorHub
  3. 找到 KEDA operator,点击 安装,进入 安装 页面。

配置参数:

参数推荐配置
Channelstable:默认 Channel 设置为 stable
Version请选择最新版本。
Installation ModeCluster:单个 Operator 在集群所有命名空间共享,用于实例创建和管理,降低资源消耗。
Installation LocationRecommended:如果不存在会自动创建。
Upgrade Strategy请选择 Auto
  • 升级操作将自动执行。
  1. 安装 页面,选择默认配置,点击 安装,完成 KEDA Operator 的安装。

创建 KedaController 实例

  1. 点击 Marketplace > OperatorHub

  2. 找到已安装的 KEDA operator,进入 所有实例

  3. 点击 创建实例 按钮,在资源区域点击 KedaController 卡片。

  4. 在实例参数配置页面,除非有特殊需求,否则可使用默认配置。

  5. 点击 创建

验证

实例创建成功后,等待约 20 分钟,然后通过以下命令检查 KEDA 组件是否已运行:

kubectl get pods -n keda

其他场景

集成 ACP 日志采集器

  • 确保目标集群已安装 ACP 日志采集器插件。参考 ACP 日志采集器插件安装
  • 安装 ACP 日志采集器插件 时,开启 平台 日志开关。
  • 使用以下命令为 keda 命名空间添加标签:
    kubectl label namespace keda cpaas.io/product=Container-Platform --overwrite

卸载 KEDA Operator

删除 KedaController 实例

kubectl delete kedacontroller keda -n keda

通过 CLI 卸载 KEDA Operator

kubectl delete subscription keda -n keda

通过 Web 控制台卸载 KEDA Operator

进入 Marketplace > OperatorHub,选择已安装的 KEDA operator,点击 卸载