Documentation
¶
Overview ¶
Copyright 2021 IBM Corporation
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2021 IBM Corporation ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2021 IBM Corporation ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2021 IBM Corporation ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2021 IBM Corporation ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2021 IBM Corporation ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2021 IBM Corporation ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2021 IBM Corporation ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2021 IBM Corporation ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2021 IBM Corporation ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2021 IBM Corporation ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2021 IBM Corporation ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- Constants
- Variables
- func GetPredictorTypeLabel(p *api.Predictor) string
- func GetServingRuntimeLabelSet(rt *kserveapi.ServingRuntimeSpec, restProxyEnabled bool, rtName string) sets.String
- func GetServingRuntimeLabelSets(rt *kserveapi.ServingRuntimeSpec, restProxyEnabled bool, rtName string) (mtLabels sets.String, pvLabels sets.String, rtLabel string)
- func ValidateEndpoint(s string) (string, error)
- type ClusterConfig
- type Deployment
- type Endpoint
- type TCPEndpoint
- type UnixEndpoint
Constants ¶
const ( ModelMeshContainerName = "mm" RESTProxyContainerName = "rest-proxy" GrpcPortEnvVar = "INTERNAL_GRPC_PORT" ServeGrpcPortEnvVar = "INTERNAL_SERVING_GRPC_PORT" GrpcUdsPathEnvVar = "INTERNAL_GRPC_SOCKET_PATH" ServeGrpcUdsPathEnvVar = "INTERNAL_SERVING_GRPC_SOCKET_PATH" EtcdSecretKey = "etcd_connection" EtcdVolume = "etcd-config" ModelsDirVolume = "models-dir" SocketVolume = "domain-socket" ConfigStorageMount = "storage-config" //The name of the puller container PullerContainerName = "puller" //The env variable puller uses to configure it's own listen port PullerEnvListenPort = "PORT" //The env variable puller uses to configure the target model serving port PullerEnvModelServerEndpoint = "MODEL_SERVER_ENDPOINT" //The env variable puller uses to configure the models dir PullerEnvModelDir = "ROOT_MODEL_DIR" //The env variable puller uses to configure the config dir (secrets) PullerEnvStorageConfigDir = "STORAGE_CONFIG_DIR" //The puller default port number PullerPortNumber = 8086 //The puller model mount path PullerModelPath = "/models" //The puller model config path PullerConfigPath = "/storage-config" InternalConfigMapName = "tc-config" )
const ( MMTypeConstraintsKey = "type_constraints" MMDataPlaneConfigKey = "dataplane_api_config" )
const ( ModelsDir string = "/models" ModelDirScale float64 = 1.5 )
const ( TLSSecretCertKey = "tls.crt" TLSSecretKeyKey = "tls.key" TLSClientCertKey = "ca.crt" )
const ModelMeshEtcdPrefix = "mm"
const ModelTypeLabelThatNoRuntimeSupports = "_no_runtime"
Variables ¶
var StorageSecretName string
var (
Union = kserveutils.Union
)
Functions ¶
func GetPredictorTypeLabel ¶ added in v0.9.0
func GetServingRuntimeLabelSet ¶ added in v0.9.0
func GetServingRuntimeLabelSets ¶ added in v0.9.0
func ValidateEndpoint ¶
Types ¶
type ClusterConfig ¶
type ClusterConfig struct {
SRSpecs map[string]*kserveapi.ServingRuntimeSpec
Scheme *runtime.Scheme
}
A ClusterConfig represents the configuration shared across a logical model mesh cluster
type Deployment ¶
type Deployment struct {
ServiceName string
ServicePort uint16
Name string
Namespace string
Owner mf.Owner
SRSpec *kserveapi.ServingRuntimeSpec
DefaultVModelOwner string
Log logr.Logger
Metrics bool
PrometheusPort uint16
PrometheusScheme string
ModelMeshImage string
ModelMeshResources *corev1.ResourceRequirements
RESTProxyEnabled bool
RESTProxyImage string
RESTProxyResources *corev1.ResourceRequirements
RESTProxyPort uint16
// internal fields used when templating
ModelMeshLimitCPU string
ModelMeshRequestsCPU string
ModelMeshLimitMemory string
ModelMeshRequestsMemory string
ModelMeshAdditionalEnvVars []corev1.EnvVar
// end internal fields
PullerImage string
PullerImageCommand []string
PullerResources *corev1.ResourceRequirements
Replicas uint16
Port uint16
TLSSecretName string
TLSClientAuth string
EtcdSecretName string
ServiceAccountName string
GrpcMaxMessageSize int
AnnotationConfigMap *corev1.ConfigMap
AnnotationsMap map[string]string
LabelsMap map[string]string
ImagePullSecrets []corev1.LocalObjectReference
EnableAccessLogging bool
Client client.Client
}
Models a deployment