modelmesh-serving: Dataflow¶
Controller Watches¶
Kubernetes resources this controller monitors for changes. Each watch triggers reconciliation when the watched resource is created, updated, or deleted.
Reconciliation Flow¶
How the controller interacts with the Kubernetes API during reconciliation.
sequenceDiagram
%% Static dataflow for modelmesh-serving
participant KubernetesAPI as Kubernetes API
participant controller_manager as controller-manager
participant modelmesh_controller as modelmesh-controller
KubernetesAPI->>+controller_manager: Watch Namespace (reconcile)
KubernetesAPI->>+controller_manager: Watch Deployment (reconcile)
KubernetesAPI->>+controller_manager: Watch Predictor (reconcile)
KubernetesAPI->>+controller_manager: Watch ServingRuntime (reconcile)
controller_manager->>KubernetesAPI: Create/Update Service
controller_manager->>KubernetesAPI: Create/Update Deployment
KubernetesAPI-->>+controller_manager: Watch ConfigMap (informer)
KubernetesAPI-->>+controller_manager: Watch ConfigMap (informer)
KubernetesAPI-->>+controller_manager: Watch ConfigMap (informer)
KubernetesAPI-->>+controller_manager: Watch Namespace (informer)
KubernetesAPI-->>+controller_manager: Watch Secret (informer)
KubernetesAPI-->>+controller_manager: Watch ServiceMonitor (informer)
KubernetesAPI-->>+controller_manager: Watch ServiceMonitor (informer)
KubernetesAPI-->>+controller_manager: Watch ClusterServingRuntime (informer)
KubernetesAPI-->>+controller_manager: Watch Predictor (informer)
KubernetesAPI-->>+controller_manager: Watch InferenceService (informer)
KubernetesAPI-->>+controller_manager: Watch InferenceService (informer)
Note over controller_manager: Exposed Services
Note right of controller_manager: modelmesh-controller:8080/TCP []
Note right of controller_manager: modelmesh-webhook-server-service:9443/TCP []
Note over KubernetesAPI: Defined CRDs
Note right of KubernetesAPI: ClusterServingRuntime (serving.kserve.io/v1alpha1)
Note right of KubernetesAPI: Predictor (serving.kserve.io/v1alpha1)
Note right of KubernetesAPI: ServingRuntime (serving.kserve.io/v1alpha1)
Note right of KubernetesAPI: InferenceService (serving.kserve.io/v1beta1)
Webhooks¶
| Name | Type | Path | Failure Policy | Service | Source |
|---|---|---|---|---|---|
| servingruntime.modelmesh-webhook-server.default | validating | /validate-serving-modelmesh-io-v1alpha1-servingruntime | Fail | /modelmesh-webhook-server-service | config/webhook/manifests.yaml |
HTTP Endpoints¶
| Method | Path | Source |
|---|---|---|
| * | /debug/ | main.go:339 |
Configuration¶
ConfigMaps and Helm values that control this component's runtime behavior.