5.2. 配置 KServe 的自动安装
如果您还没有在 OpenShift 集群上创建 ServiceMeshControlPlane 或 KNativeServing 资源,您可以将 Red Hat OpenShift AI Operator 配置为安装 KServe 并配置其依赖项。
您可以在 高级 或标准 部署模式中配置 KServe。如需更多信息,请参阅关于 KServe 部署模式。如果为 高级 部署模式配置 KServe,您可以设置数据科学项目,以 高级 和标准 部署模式提供模型。但是,如果您只 为标准 部署模式配置 KServe,则只能使用 标准 部署模式。
如果您在集群中创建了 ServiceMeshControlPlane 或 KNativeServing 资源,Red Hat OpenShift AI Operator 无法安装 KServe 并配置其依赖项,且安装不会继续。在这种情况下,您必须按照手动安装说明来安装 KServe。
先决条件
- 具有集群管理员特权。
- 您的集群有一个有 4 个 CPU 和 16 GB 内存的节点。
- 您已下载并安装 OpenShift 命令行界面 (CLI)。如需更多信息 ,请参阅安装 OpenShift CLI。
(高级部署模式): 您已安装了 Red Hat OpenShift Service Mesh Operator 和依赖的 Operator。
注意要启用 KServe 的自动安装,请只 为 Red Hat OpenShift Service Mesh 安装所需的 Operator。不要执行任何其他配置或创建
ServiceMeshControlPlane资源。(高级部署模式): 已安装了 Red Hat OpenShift Serverless Operator。
注意要启用 KServe 的自动安装,请只 安装 Red Hat OpenShift Serverless Operator。不要执行任何其他配置或创建
KNativeServing资源。-
已安装 Red Hat OpenShift AI Operator 并创建了
DataScienceCluster对象。 -
(高级部署模式):要将 Authorino 添加为授权提供程序,以便您可以为部署的模型启用令牌身份验证,已安装了
Red Hat - AuthorinoOperator。请参阅 安装 Authorino Operator。
流程
- 以集群管理员身份登录 OpenShift Web 控制台。
-
在 Web 控制台中,点 Operators
Installed Operators,然后点 Red Hat OpenShift AI Operator。 按照如下所示安装 OpenShift Service Mesh:
- 点 DSC 初始化选项卡。
- 点 default-dsci 对象。
- 点 YAML 标签。
(高级部署模式):在
spec部分中,验证serviceMesh组件的managementState字段的值是否已设置为Managed,如下所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow (标准部署模式):在
spec部分中,验证serviceMesh组件的managementState字段的值是否已设置为Removed,如下所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意不要更改为
serviceMesh组件指定的istio-system命名空间。不支持其他命名空间值。点击 Save。
根据添加到
DSCInitialization对象的配置,Red Hat OpenShift AI Operator 安装 OpenShift Service Mesh。
(仅标准部署模式):安装 KServe,如下所示:
-
在 Web 控制台中,点 Operators
Installed Operators,然后点 Red Hat OpenShift AI Operator。 - 点 Data Science Cluster 选项卡。
- 单击 default-dsc DSC 对象。
- 点 YAML 标签。
在
spec.components部分中,配置kserve组件,如下所示。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 点击 Save。
上述配置在标准部署模式下安装 KServe,它基于 KServe RawDeployment 功能。在这个配置中,观察以下详情:
-
在 Web 控制台中,点 Operators
(高级部署模式):安装 KServe 和 OpenShift Serverless,如下所示:
-
在 Web 控制台中,点 Operators
Installed Operators,然后点 Red Hat OpenShift AI Operator。 - 点 Data Science Cluster 选项卡。
- 单击 default-dsc DSC 对象。
- 点 YAML 标签。
在
spec.components部分中,配置kserve组件,如下所示。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 点击 Save。
上述配置为 OpenShift Serverless 创建一个入口网关,以接收来自 OpenShift Service Mesh 的流量。在此配置中,可以使用标准模式和高级模式。
- 1
- 显示的配置使用配置 KServe 后选择的默认部署模式。在使用 KServe 创建和部署模型时,您可以设置默认值。要使用标准模式作为默认模式,请将
defaultDeploymentMode设置为RawDeployment。要使用 advanced 模式作为默认值,请将defaultDeploymentMode设置为Serverless。 - 2
- 显示的配置使用
标头配置来允许集群对工作负载副本执行正常的负载均衡。对于客户端上的环境 inference 请求负载均衡,请将RawDeploymentServiceConfig设置为无头的。 - 3
- 显示的配置使用为 OpenShift 配置的默认入口证书来保护进入 OpenShift 集群的流量,并将证书存储在
secretName字段中指定的knative-serving-certsecret 中。secretName字段只能在安装时设置。secretName字段的默认值为knative-serving-cert。必须手动对证书 secret 进行后续更改。如果您在安装过程中没有使用默认的secretName值,请在istio-system命名空间中创建一个名为knative-serving-cert的新 secret,然后重启istiod-datascience-smcp-<suffix>pod。 - 4
- 您可以通过更新
type字段的值来指定以下证书类型:-
provided -
selfSigned OpenshiftDefaultIngress要使用自签名证书或提供您自己的证书,请更新
secretName字段的值以指定您的 secret 名称,并将type字段的值更改为SelfSigned或Provided。注意如果提供自己的证书,证书必须指定 OpenShift 集群的入口控制器使用的域名。您可以运行以下命令来检查这个值:
$ oc get ingresses.config.openshift.io cluster -o jsonpath='{.spec.domain}'-
对于
kserve和serving组件,您必须将managementState字段的值设置为Managed。将kserve.managementState设置为Managed触发器自动安装 KServe。将service.managementState设置为Managed会触发 OpenShift Serverless 自动安装。但是,如果kserve.managementState没有设置为Managed,则 不会触发 OpenShift Serverless 安装。
-
-
在 Web 控制台中,点 Operators
验证
验证 KServe 安装,如下所示:
-
在 Web 控制台中,点击 Workloads
Pods。 - 从项目列表中,选择 redhat-ods-applications。这是安装 OpenShift AI 组件的项目,包括 KServe。
确认项目包含 KServe 控制器管理器正在运行的 pod,如下例所示:
NAME READY STATUS RESTARTS AGE kserve-controller-manager-7fbb7bccd4-t4c5g 1/1 Running 0 22h odh-model-controller-6c4759cc9b-cftmk 1/1 Running 0 129m odh-model-controller-6c4759cc9b-ngj8b 1/1 Running 0 129m odh-model-controller-6c4759cc9b-vnhq5 1/1 Running 0 129m
NAME READY STATUS RESTARTS AGE kserve-controller-manager-7fbb7bccd4-t4c5g 1/1 Running 0 22h odh-model-controller-6c4759cc9b-cftmk 1/1 Running 0 129m odh-model-controller-6c4759cc9b-ngj8b 1/1 Running 0 129m odh-model-controller-6c4759cc9b-vnhq5 1/1 Running 0 129mCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
在 Web 控制台中,点击 Workloads
(仅限高级部署模式):验证 OpenShift Service Mesh 安装,如下所示:
-
在 Web 控制台中,点击 Workloads
Pods。 - 在项目列表中选择 istio-system。这是安装 OpenShift Service Mesh 的项目。
确认存在用于服务网格 control plane、入口网关和出口网关的 pod。这些 pod 具有以下示例中显示的命名模式:
NAME READY STATUS RESTARTS AGE istio-egressgateway-7c46668687-fzsqj 1/1 Running 0 22h istio-ingressgateway-77f94d8f85-fhsp9 1/1 Running 0 22h istiod-data-science-smcp-cc8cfd9b8-2rkg4 1/1 Running 0 22h
NAME READY STATUS RESTARTS AGE istio-egressgateway-7c46668687-fzsqj 1/1 Running 0 22h istio-ingressgateway-77f94d8f85-fhsp9 1/1 Running 0 22h istiod-data-science-smcp-cc8cfd9b8-2rkg4 1/1 Running 0 22hCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
在 Web 控制台中,点击 Workloads
(仅限高级部署模式):验证 OpenShift Serverless 安装,如下所示:
-
在 Web 控制台中,点击 Workloads
Pods。 - 从项目列表中,选择 knative-serving。这是安装 OpenShift Serverless 的项目。
确认
knative-serving项目中有许多正在运行的 Pod,包括 activator、autoscaler、controller 和域映射 Pod,以及用于 Knative Istio 控制器(控制 OpenShift Serverless 和 OpenShift Service Mesh 集成)的 Pod。显示了一个示例。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
在 Web 控制台中,点击 Workloads