Skip to content

Make standalone installation kustomizable.#1103

Merged
k8s-ci-robot merged 5 commits into
kserve:masterfrom
jazzsir:config-for-standalone
Oct 9, 2020
Merged

Make standalone installation kustomizable.#1103
k8s-ci-robot merged 5 commits into
kserve:masterfrom
jazzsir:config-for-standalone

Conversation

@jazzsir

@jazzsir jazzsir commented Sep 27, 2020

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:
To allow KFServing standalone to install in kubeflow namespace, I made standalone installation kustomizable, and updated README.md

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #976

Special notes for your reviewer:
This is my second attempt to merge PR, because of confliction issue at #1019

  1. Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Release note:


@kubeflow-bot

Copy link
Copy Markdown

This change is Reviewable

@k8s-ci-robot

Copy link
Copy Markdown
Contributor

Hi @jazzsir. Thanks for your PR.

I'm waiting for a kubeflow member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@yuzisun

yuzisun commented Sep 27, 2020

Copy link
Copy Markdown
Member

/ok-to-test

Comment thread README.md Outdated

If you want to deploy the KFServing controller in `kubeflow` namespace.

1. Set the namespace field to `kubeflow` in overlays/env/kustomization.yaml and [ingressGateway](https://github.com/kubeflow/kfserving/blob/master/config/configmap/inferenceservice.yaml#L94) to `kubeflow-gateway.kubeflow` in [config/configmap/inferenceservice.yaml](https://github.com/kubeflow/kfserving/blob/master/config/configmap/inferenceservice.yaml).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we kustomize the gateway config also?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure!

Comment thread config/overlays/env/kustomization.yaml Outdated
@@ -0,0 +1,28 @@
apiVersion: kustomize.config.k8s.io/v1beta1

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this file gets merged to config/default/kustomization.yaml? not sure if we want this overlay, we can create an overlay for kubeflow though.

@jazzsir jazzsir Sep 28, 2020

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see, merged.

@jazzsir jazzsir requested a review from yuzisun September 28, 2020 22:37
Comment thread README.md Outdated
kubectl apply -f ./install/$TAG/kfserving.yaml --validate=false
```

If you want to deploy the KFServing controller in `kubeflow` namespace.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd prefer creating a kubeflow overlay here https://github.com/kubeflow/kfserving/tree/master/config/overlays with the namespace and ingress gateway kustomization and then generate the additional release manifest in here https://github.com/kubeflow/kfserving/blob/master/hack/generate-install.sh

kustomize build config/kubeflow | sed s/:latest/:$TAG/ > $INSTALL_DIR/kubeflow_kfserving.yaml

@jazzsir jazzsir Sep 29, 2020

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I got it, I added kubeflow overlays and updated README.

@jazzsir jazzsir requested a review from yuzisun September 29, 2020 06:59
- kind: ServiceAccount
name: default
namespace: system
namespace: kfserving-system

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here needs to be parameterized ?

@jazzsir jazzsir Oct 3, 2020

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAIK, It is not used because HA is disabled, I just updated it for later.
Is there any reason why it shouldn't be changed?

Comment thread README.md Outdated
KFServing can also be installed standalone in `kubeflow` namespace.
```
TAG=v0.4.0
kubectl kustomize ./config/overlays/kubeflow | sed s/:latest/:$TAG/ | kubectl apply -f -

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we generate and materialize the kubeflow kfserving manifest yaml and check into the install directory as we change the kustomize config all the time ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would you be more specific, please? I would like to know what do you want to do.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jazzsir we changed kfserving manifests quite a bit after 0.4.0 in master, so it is very likely no longer working with 0.4.0 release if we run the above command and generate from master. So I'd prefer add the above command to the install script and we can use that to generate the kubeflow manifest yaml for KFServing when we release 0.5.0.

INSTALL_DIR=./install/$TAG
INSTALL_KUBEFLOW_PATH=$INSTALL_DIR/kfserving_kubflow.yaml
kustomize build config/overlays/kubeflow | sed s/:latest/:$TAG/ > $INSTALL_KUBEFLOW_PATH

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@yuzisun That's right, so I also applied it to the install script (hack/generate-install.sh)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not see it in generate-install.sh? also here can be removed as it won't work for 0.4.0

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jazzsir actually this will not work as the v0.4.0 branch does not have the changes you made in master :(

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let’s remove this instruction, we are releasing 0.5 soon anyway so we can generate the kubeflow manifest at that time. Otherwise this PR lgtm can be merged.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't come up with that, removed.

@jazzsir jazzsir requested a review from yuzisun October 5, 2020 13:22
1. allow KFServing standalone to install in kubeflow namespace.
2. update README.md
Merge this overlay with config/default
Use kustomize embedded in kubectl to support env
Before deploying standalone installation, checking out TAG is
needed to avoid working in master branch.
@yuzisun

yuzisun commented Oct 9, 2020

Copy link
Copy Markdown
Member

Thanks @jazzsir ! This is really useful! I am excited to see this going out in the upcoming release!

/lgtm
/approve

@k8s-ci-robot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: yuzisun

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add kustomize overlay for kubeflow

4 participants