apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
spec:
gateways:
openshiftRoute:
enabled: false
自动路由创建,也称为 Istio OpenShift 路由 (IOR),是一个已弃用的功能,默认情况下,对于使用 Red Hat OpenShift 服务网格 2.5 和更高版本创建的任何 ServiceMeshControlPlane
资源,该功能都是禁用的。从 IOR 迁移到显式管理的路由提供了一种更灵活的方式来管理和配置入口网关。当显式创建路由资源时,可以将其与其他网关和应用程序资源一起管理,作为 GitOps 管理模型的一部分。
此过程说明如何在 Red Hat OpenShift 服务网格中禁用 Istio OpenShift 路由 (IOR),以及如何继续使用和管理最初使用 IOR 创建的路由。此过程还提供了一个示例,说明如何显式创建指向现有网关 Service
对象的新路由。
在迁移到显式管理的路由之前,请将 Istio OpenShift 路由 (IOR) 管理的现有路由配置导出到文件。保存这些文件,以便将来无需 IOR 即可重新创建路由配置。
修改ServiceMeshControlPlane
资源以禁用IOR
apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
spec:
gateways:
openshiftRoute:
enabled: false
您可以继续使用以前使用IOR创建的旧路由,也可以创建明确指向入口网关Service
对象的路由。以下示例说明了如何创建明确指向入口网关Service
对象的路由
kind: Route
apiVersion: route.openshift.io/v1
metadata:
name: example-gateway
namespace: istio-system (1)
spec:
host: www.example.com
to:
kind: Service
name: istio-ingressgateway (2)
weight: 100
port:
targetPort: http2
wildcardPolicy: None
1 | 在与入口网关Service 对象相同的命名空间中指定新路由。 |
2 | 使用作为目标的入口网关Service 对象的名称。 |