Skip to content

Commit

Permalink
Renamed KFService to InferenceService (kserve#421)
Browse files Browse the repository at this point in the history
  • Loading branch information
Ellis Bigelow authored and k8s-ci-robot committed Oct 8, 2019
1 parent 35bc382 commit 4240cdc
Show file tree
Hide file tree
Showing 138 changed files with 1,674 additions and 1,664 deletions.
10 changes: 5 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -33,18 +33,18 @@ deploy-dev: manifests

undeploy:
kustomize build config/default | kubectl delete -f -
kubectl delete validatingwebhookconfigurations.admissionregistration.k8s.io kfservice.serving.kubeflow.org
kubectl delete mutatingwebhookconfigurations.admissionregistration.k8s.io kfservice.serving.kubeflow.org
kubectl delete validatingwebhookconfigurations.admissionregistration.k8s.io inferenceservice.serving.kubeflow.org
kubectl delete mutatingwebhookconfigurations.admissionregistration.k8s.io inferenceservice.serving.kubeflow.org

undeploy-dev:
kustomize build config/overlays/development | kubectl delete -f -
kubectl delete validatingwebhookconfigurations.admissionregistration.k8s.io kfservice.serving.kubeflow.org
kubectl delete mutatingwebhookconfigurations.admissionregistration.k8s.io kfservice.serving.kubeflow.org
kubectl delete validatingwebhookconfigurations.admissionregistration.k8s.io inferenceservice.serving.kubeflow.org
kubectl delete mutatingwebhookconfigurations.admissionregistration.k8s.io inferenceservice.serving.kubeflow.org

# Generate manifests e.g. CRD, RBAC etc.
manifests:
go run vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go crd --output-dir=config/default/crds
kustomize build config/default/crds -o config/default/crds/serving_v1alpha2_kfservice.yaml
kustomize build config/default/crds -o config/default/crds/serving_v1alpha2_inferenceservice.yaml
go run vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go rbac --output-dir=config/default/rbac

# Run go fmt against code
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ kubectl apply -f ./install/$TAG/kfserving.yaml
```
pip install kfserving
```
* Follow the [example here](docs/samples/client/kfserving_sdk_sample.ipynb) to use the KFServing SDK to create, patch, and delete a KFService instance.
* Follow the [example here](docs/samples/client/kfserving_sdk_sample.ipynb) to use the KFServing SDK to create, patch, and delete a InferenceService instance.

### Contribute
* [Developer Guide](/docs/DEVELOPER_GUIDE.md).
4 changes: 2 additions & 2 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Objective: "Simplify user experience with handling credentials for storage backe
# Future
## Unscheduled Work
* Multi-Model Serving.
* Multiple KFServices share resources in the backend.
* Multiple InferenceServices share resources in the backend.
* GPU Sharing.
* Flexible Inference Graphs [MLGraph CRD](https://github.com/SeldonIO/mlgraph).
* Model Experimentation.
Expand All @@ -67,7 +67,7 @@ Objective: "Simplify user experience with handling credentials for storage backe

# Historical
## Q2 2019
### v0.1: KFService Minimum Viable Product (ETA: June 30, 2019)
### v0.1: InferenceService Minimum Viable Product (ETA: June 30, 2019)
Objective: "Simplify the user experience and provide a low barrier to entry by minimizing the amount of YAML necessary to deploy a trained model."
* High Level Interfaces
* Deploy a Tensorflow model without specifying a Tensorflow Serving Technology.
Expand Down
2 changes: 1 addition & 1 deletion cmd/spec-gen/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import (
"k8s.io/kube-openapi/pkg/common"
)

// Generate OpenAPI spec definitions for KFService Resource
// Generate OpenAPI spec definitions for InferenceService Resource
func main() {
if len(os.Args) <= 1 {
klog.Fatal("Supply a version")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: kfservice-config
name: inferenceservice-config
namespace: kfserving-system
data:
predictors: |-
Expand Down
2 changes: 1 addition & 1 deletion config/default/crds/crd_status_condition_patch.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: kfservices.serving.kubeflow.org
name: inferenceservices.serving.kubeflow.org
spec:
validation:
openAPIV3Schema:
Expand Down
2 changes: 1 addition & 1 deletion config/default/crds/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
# YAML string, with resources separated by document
# markers ("---").
resources:
- serving_v1alpha2_kfservice.yaml
- serving_v1alpha2_inferenceservice.yaml

patches:
# Knative uses VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic difference,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ metadata:
creationTimestamp: null
labels:
controller-tools.k8s.io: "1.0"
name: kfservices.serving.kubeflow.org
name: inferenceservices.serving.kubeflow.org
spec:
additionalPrinterColumns:
- JSONPath: .status.url
Expand All @@ -24,10 +24,10 @@ spec:
type: date
group: serving.kubeflow.org
names:
kind: KFService
plural: kfservices
kind: InferenceService
plural: inferenceservices
shortNames:
- kfservice
- inferenceservice
scope: Namespaced
validation:
openAPIV3Schema:
Expand Down Expand Up @@ -247,11 +247,11 @@ spec:
type: object
canaryTrafficPercent:
description: CanaryTrafficPercent defines the percentage of traffic
going to canary KFService endpoints
going to canary InferenceService endpoints
format: int64
type: integer
default:
description: Default defines default KFService endpoints +required
description: Default defines default InferenceService endpoints +required
properties:
explainer:
description: Explainer defines the model explanation service spec
Expand Down
4 changes: 2 additions & 2 deletions config/default/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ namespace: kfserving-system
# YAML string, with resources separated by document
# markers ("---").
resources:
- crds/serving_v1alpha2_kfservice.yaml
- configmap/kfservice.yaml
- crds/serving_v1alpha2_inferenceservice.yaml
- configmap/inferenceservice.yaml
- rbac/rbac_role.yaml
- rbac/rbac_role_binding.yaml
- manager/manager.yaml
Expand Down
4 changes: 2 additions & 2 deletions config/default/rbac/rbac_role.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ rules:
- apiGroups:
- serving.kubeflow.org
resources:
- kfservices
- inferenceservices
verbs:
- get
- list
Expand All @@ -59,7 +59,7 @@ rules:
- apiGroups:
- serving.kubeflow.org
resources:
- kfservices/status
- inferenceservices/status
verbs:
- get
- update
Expand Down
6 changes: 3 additions & 3 deletions docs/DEVELOPER_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,11 +164,11 @@ kubectl apply -f docs/samples/tensorflow/tensorflow.yaml
You should see model serving deployment running under default or your specified namespace.

```console
$ kubectl get kfservices -n default
$ kubectl get inferenceservices -n default
NAME READY URL DEFAULT TRAFFIC CANARY TRAFFIC AGE
flowers-sample True flowers-sample.default.example.com 100 1h

$ kubectl get pods -n default -l serving.kubeflow.org/kfservice=flowers-sample
$ kubectl get pods -n default -l serving.kubeflow.org/inferenceservice=flowers-sample
NAME READY STATUS RESTARTS AGE
flowers-sample-default-htz8r-deployment-8fd979f9b-w2qbv 3/3 Running 0 10s
```
Expand Down Expand Up @@ -283,4 +283,4 @@ It`s a red herring. To resolve it, please ensure you have logged into dockerhub
2019-09-28 01:52:23.345692: E tensorflow_serving/sources/storage_path/file_system_storage_path_source.cc:362] FileSystemStoragePathSource encountered a filesystem access error: Could not find base path /mnt/models for servable flowers-sample
```

Please make sure not to deploy the kfservice in the `kfserving-system` or other namespaces where namespace has `control-plane` as a label. The `storage-initializer` init container does not get injected for deployments in those namespaces since they do not go through the mutating webhook.
Please make sure not to deploy the inferenceservice in the `kfserving-system` or other namespaces where namespace has `control-plane` as a label. The `storage-initializer` init container does not get injected for deployments in those namespaces since they do not go through the mutating webhook.
6 changes: 3 additions & 3 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ KFServing architecture consists of two main specifications, around control plane
* Defines the specification of the `kfserving` resource.

# Architecture Overview
The KFService Data Plane architecture consists of a static graph of components which implement a limited set of features. Advanced features such as Ensembling, A/B testing, and Multi-Arm-Bandits should be built at a layer above KFServices. The diagram reflects the overall architecture for a viable offering, but at this point in time may not accurately reflect the current set of features available in the graph, but the overall mechanism holds:
The InferenceService Data Plane architecture consists of a static graph of components which implement a limited set of features. Advanced features such as Ensembling, A/B testing, and Multi-Arm-Bandits should be built at a layer above InferenceServices. The diagram reflects the overall architecture for a viable offering, but at this point in time may not accurately reflect the current set of features available in the graph, but the overall mechanism holds:

- The User defines the components they wish to use in a KFService.
- The User defines the components they wish to use in a InferenceService.
- The only required component is a Predictor.
- Additional components may be specified to attach addtional behavior.
- Each component is specified at the ModelSpec layer, allowing for canarying.
- The KFService will support one of several Data Plane interfaces.
- The InferenceService will support one of several Data Plane interfaces.
- For example: tensorflow/HTTP, tensorflow/GRPC, seldon/HTTP, seldon/GRPC
- Data Plane interfaces may be specified with annotations and defaults to tensorflow/HTTP
- Not all components will be compatible with every data plane interface.
Expand Down
42 changes: 21 additions & 21 deletions docs/apis/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@
</p>
Resource Types:
<ul><li>
<a href="#serving.kubeflow.org/v1alpha2.KFService">KFService</a>
<a href="#serving.kubeflow.org/v1alpha2.InferenceService">InferenceService</a>
</li></ul>
<h3 id="serving.kubeflow.org/v1alpha2.KFService">KFService
<h3 id="serving.kubeflow.org/v1alpha2.InferenceService">InferenceService
</h3>
<p>
<p>KFService is the Schema for the services API</p>
<p>InferenceService is the Schema for the services API</p>
</p>
<table>
<thead>
Expand All @@ -40,7 +40,7 @@ serving.kubeflow.org/v1alpha2
<code>kind</code></br>
string
</td>
<td><code>KFService</code></td>
<td><code>InferenceService</code></td>
</tr>
<tr>
<td>
Expand All @@ -60,8 +60,8 @@ Refer to the Kubernetes API documentation for the fields of the
<td>
<code>spec</code></br>
<em>
<a href="#serving.kubeflow.org/v1alpha2.KFServiceSpec">
KFServiceSpec
<a href="#serving.kubeflow.org/v1alpha2.InferenceServiceSpec">
InferenceServiceSpec
</a>
</em>
</td>
Expand All @@ -79,7 +79,7 @@ EndpointSpec
</em>
</td>
<td>
<p>Default defines default KFService endpoints</p>
<p>Default defines default InferenceService endpoints</p>
</td>
</tr>
<tr>
Expand All @@ -105,7 +105,7 @@ int
</td>
<td>
<em>(Optional)</em>
<p>CanaryTrafficPercent defines the percentage of traffic going to canary KFService endpoints</p>
<p>CanaryTrafficPercent defines the percentage of traffic going to canary InferenceService endpoints</p>
</td>
</tr>
</table>
Expand All @@ -115,8 +115,8 @@ int
<td>
<code>status</code></br>
<em>
<a href="#serving.kubeflow.org/v1alpha2.KFServiceStatus">
KFServiceStatus
<a href="#serving.kubeflow.org/v1alpha2.InferenceServiceStatus">
InferenceServiceStatus
</a>
</em>
</td>
Expand Down Expand Up @@ -253,7 +253,7 @@ Kubernetes core/v1.Container
<a href="#serving.kubeflow.org/v1alpha2.TransformerSpec">TransformerSpec</a>)
</p>
<p>
<p>DeploymentSpec defines the configuration for a given KFService service component</p>
<p>DeploymentSpec defines the configuration for a given InferenceService service component</p>
</p>
<table>
<thead>
Expand Down Expand Up @@ -305,7 +305,7 @@ int
</h3>
<p>
(<em>Appears on:</em>
<a href="#serving.kubeflow.org/v1alpha2.KFServiceSpec">KFServiceSpec</a>)
<a href="#serving.kubeflow.org/v1alpha2.InferenceServiceSpec">InferenceServiceSpec</a>)
</p>
<p>
</p>
Expand Down Expand Up @@ -597,14 +597,14 @@ PredictorConfig
</tr>
</tbody>
</table>
<h3 id="serving.kubeflow.org/v1alpha2.KFServiceSpec">KFServiceSpec
<h3 id="serving.kubeflow.org/v1alpha2.InferenceServiceSpec">InferenceServiceSpec
</h3>
<p>
(<em>Appears on:</em>
<a href="#serving.kubeflow.org/v1alpha2.KFService">KFService</a>)
<a href="#serving.kubeflow.org/v1alpha2.InferenceService">InferenceService</a>)
</p>
<p>
<p>KFServiceSpec defines the desired state of KFService</p>
<p>InferenceServiceSpec defines the desired state of InferenceService</p>
</p>
<table>
<thead>
Expand All @@ -624,7 +624,7 @@ EndpointSpec
</em>
</td>
<td>
<p>Default defines default KFService endpoints</p>
<p>Default defines default InferenceService endpoints</p>
</td>
</tr>
<tr>
Expand All @@ -650,19 +650,19 @@ int
</td>
<td>
<em>(Optional)</em>
<p>CanaryTrafficPercent defines the percentage of traffic going to canary KFService endpoints</p>
<p>CanaryTrafficPercent defines the percentage of traffic going to canary InferenceService endpoints</p>
</td>
</tr>
</tbody>
</table>
<h3 id="serving.kubeflow.org/v1alpha2.KFServiceStatus">KFServiceStatus
<h3 id="serving.kubeflow.org/v1alpha2.InferenceServiceStatus">InferenceServiceStatus
</h3>
<p>
(<em>Appears on:</em>
<a href="#serving.kubeflow.org/v1alpha2.KFService">KFService</a>)
<a href="#serving.kubeflow.org/v1alpha2.InferenceService">InferenceService</a>)
</p>
<p>
<p>KFServiceStatus defines the observed state of KFService</p>
<p>InferenceServiceStatus defines the observed state of InferenceService</p>
</p>
<table>
<thead>
Expand Down Expand Up @@ -1017,7 +1017,7 @@ Kubernetes core/v1.ResourceRequirements
</h3>
<p>
(<em>Appears on:</em>
<a href="#serving.kubeflow.org/v1alpha2.KFServiceStatus">KFServiceStatus</a>)
<a href="#serving.kubeflow.org/v1alpha2.InferenceServiceStatus">InferenceServiceStatus</a>)
</p>
<p>
<p>StatusConfigurationSpec describes the state of the configuration receiving traffic.</p>
Expand Down
Loading

0 comments on commit 4240cdc

Please sign in to comment.