Install KServe

Prerequisites

Before installing Alauda Build of KServe, you need to ensure the following dependencies are installed:

Required Dependencies

DependencyTypeDescription
Alauda build of Envoy Gateway install_envoy_gateway_operatorOperatorProvides the underlying gateway functionality for AI services
Alauda Build of Envoy AI GatewayCluster PluginProvides AI-specific gateway capabilities
Alauda Build of LeaderWorkerSetCluster PluginProvides leader-worker set functionality for AI workloads
GIE (gateway-api-inference-extension)Built-inBundled with Alauda Build of KServe by default. If GIE is already installed in the cluster, the built-in installation can be disabled via the gie.builtIn parameter during operator configuration.
INFO

Alauda build of Envoy Gateway is natively integrated into ACP 4.2. For environments running earlier versions (including ACP 4.0 and 4.1), please contact Customer Support for compatibility and installation guidance.

Installation Notes

  1. Required Dependencies: All required dependencies must be installed before installing Alauda Build of KServe.
  2. GIE Integration: GIE is bundled and enabled by default. If your environment already has GIE installed separately, set gie.builtIn to false in the operator configuration to disable the built-in installation.

Upload Operator

Download the Alauda Build of KServe Operator installation file (e.g., kserve-operator.ALL.xxxx.tgz).

Use the violet command to publish it to the platform repository:

violet push --platform-address=<platform-access-address> --platform-username=<platform-admin> --platform-password=<platform-admin-password> kserve-operator.ALL.xxxx.tgz

Install Operator

In Administrator view:

  1. Click Marketplace / OperatorHub.

  2. At the top of the console, from the Cluster dropdown list, select the destination cluster where you want to install the KServe Operator.

  3. Search for and select Alauda Build of KServe, then click Install.

    Install Alauda Build of KServe window will pop up.

  4. Leave Channel unchanged.

  5. Check whether the Version matches the Alauda Build of KServe version you want to install.

  6. Leave Installation Location unchanged, it should be kserve-operator by default.

  7. Select Manual for Upgrade Strategy.

  8. Click Install.

Verification

Confirm that the Alauda Build of KServe tile shows one of the following states:

  • Installing: installation is in progress; wait for this to change to Installed.
  • Installed: installation is complete.

Create KServe Instance

After the operator is installed, create a KServe custom resource to deploy the KServe instance.

Switch to YAML view and apply the following configuration, then adjust the callout fields for your environment:

apiVersion: components.aml.dev/v1alpha1
kind: KServe
metadata:
  name: default-kserve
spec:
  namespace: kserve
  values:
    global:
      clusterName: <cluster-name>
      deployFlavor: single-node
      platformAddress: <platform-address>
      preset:
        GIE:
          enabled: true
        envoy_ai_gateway:
          port: 1063
          service: ai-gateway-controller
        envoy_gateway:
          create_instance: true
          deploy_type: ControllerNamespace
          instance_name: aieg
          sa_namespace: envoy-gateway-system
          service_account: envoy-gateway
        kserve_gateway:
          enabled: true
          gateway_class: ""
          name: kserve-ingress-gateway
          namespace: kserve
          port: 80
      registry:
        address: <registry-address>
    kserve:
      controller:
        deploymentMode: Knative
        gateway:
          domain: <inference-domain>
      storage:
        caBundleConfigMapName: aml-global-ca-bundle
  1. spec.namespace — Kubernetes namespace where KServe components are deployed. Default: kserve.
  2. global.clusterName — Cluster name as registered in the platform. Example: business-1.
  3. global.deployFlavorsingle-node for non-HA, ha-cluster for production HA.
  4. global.platformAddress — Alauda Container Platform management endpoint address. Example: https://192.168.131.112.
  5. preset.GIE — Built-in Gateway API Inference Extension for enhanced AI capabilities. See GIE Configuration.
  6. preset.envoy_ai_gateway — AI-specific gateway for intelligent routing and policy enforcement. See Envoy AI Gateway Configuration.
  7. preset.envoy_gateway — Underlying Envoy-based gateway infrastructure. See Envoy Gateway Configuration.
  8. preset.kserve_gateway — Ingress gateway for KServe inference services. See KServe Gateway Configuration.
  9. global.registry.address — The container registry endpoint used by the target cluster (global.clusterName) to pull KServe infrastructure and runtime images. Example: registry.alauda.cn:60070.
  10. kserve.controller.deploymentMode — Set to Knative for serverless features like scale-to-zero, or Standard for native Kubernetes deployments
  11. kserve.controller.gateway.domain — Domain for the ingress gateway to expose inference service endpoints. Use a wildcard domain, e.g., *.example.com.
  12. kserve.storage.caBundleConfigMapName — ConfigMap name containing the CA bundle for storage connections.

Verification

Check the status of the KServe resource:

kubectl get kserve default-kserve -n kserve-operator

The instance is ready when the status shows DEPLOYED: True.

Envoy Gateway Configuration

FieldDescriptionDefault
preset.envoy_gateway.service_accountService account name used by Envoy Gateway.envoy-gateway
preset.envoy_gateway.sa_namespaceNamespace where the Envoy Gateway service account is located.envoy-gateway-system
preset.envoy_gateway.create_instanceCreate an Envoy Gateway instance to manage inference traffic with bundled extensions.true
preset.envoy_gateway.instance_nameName of the Envoy Gateway instance to create.aieg

Envoy AI Gateway Configuration

FieldDescriptionDefault
preset.envoy_ai_gateway.serviceKubernetes service name for Envoy AI Gateway.ai-gateway-controller
preset.envoy_ai_gateway.portPort number used by Envoy AI Gateway.1063

KServe Gateway Configuration

FieldDescriptionDefault
preset.kserve_gateway.enabledDeploy a KServe Gateway instance for InferenceService traffic.true
preset.kserve_gateway.nameName of the KServe Gateway.kserve-ingress-gateway
preset.kserve_gateway.namespaceNamespace where the KServe Gateway is deployed.kserve
preset.kserve_gateway.gateway_classOptional custom GatewayClass name. If empty, derived as {namespace}-{name}.""
preset.kserve_gateway.portPort number used by the KServe Gateway.80

GIE (gateway-api-inference-extension) Configuration

FieldDescriptionDefault
preset.GIE.enabledEnable the bundled Gateway API Inference Extension. Set to false if GIE is already installed separately in the cluster.true

Upgrading Alauda Build of KServe

  1. Upload the new version of the Alauda Build of KServe operator package using the violet tool.
  2. Go to the Administrator -> Marketplace -> OperatorHub page, find Alauda Build of KServe, and click Confirm to apply the new version.

Verification

After upgrading, confirm that the Alauda Build of KServe tile shows Installed and verify the KServe instance status:

kubectl get kserve default-kserve -n kserve-operator