Skip to content

Add external mysql option for pipeline and metadata#906

Merged
k8s-ci-robot merged 1 commit into
kubeflow:masterfrom
Jeffwan:aws_managed_mysql_s3
Feb 17, 2020
Merged

Add external mysql option for pipeline and metadata#906
k8s-ci-robot merged 1 commit into
kubeflow:masterfrom
Jeffwan:aws_managed_mysql_s3

Conversation

@Jeffwan

@Jeffwan Jeffwan commented Feb 12, 2020

Copy link
Copy Markdown
Member

Which issue is resolved by this Pull Request:
Resolves #905

Description of your changes:
Add two overlays to allow user to use external mysql servers.

Checklist:

  • Unit tests have been rebuilt:
    1. cd manifests/tests
    2. make generate-changed-only
    3. make test

This change is Reviewable

@Jeffwan

Jeffwan commented Feb 13, 2020

Copy link
Copy Markdown
Member Author
INFO|2020-02-12T20:36:07|/src/kubeflow/testing/py/kubeflow/testing/argo_client.py|31| Workflow kubeflow-manifests-presubmit-kfctl-go-iap-906-18ef263-7328-2a54 in namespace kubeflow-test-infra; phase=Failed

Seems it's unrelated and this PR only add new overlays.

@Jeffwan

Jeffwan commented Feb 13, 2020

Copy link
Copy Markdown
Member Author

/test kubeflow-manifests-presubmit

@Jeffwan Jeffwan force-pushed the aws_managed_mysql_s3 branch from 18ef263 to eb2b1b9 Compare February 14, 2020 00:56
@@ -0,0 +1,3 @@
mysqlHost=
mysqlUser=

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Temporarily put username and password to configmap. These will be used to replace placeholder in pipeline configmap. The challenge is the value from secret is encoded string and I can not find way to decode it easily.
secretGenerator can not use StringData and upstream issue is tracked here. kubernetes-sigs/kustomize#1444

@Jeffwan Jeffwan force-pushed the aws_managed_mysql_s3 branch from eb2b1b9 to dc2c00c Compare February 14, 2020 01:09
@k8s-ci-robot k8s-ci-robot requested a review from jlewi February 14, 2020 23:22
@Jeffwan

Jeffwan commented Feb 14, 2020

Copy link
Copy Markdown
Member Author

@jlewi

jlewi commented Feb 15, 2020

Copy link
Copy Markdown
Contributor

/assign @zhenghuiwang

@zhenghuiwang

Copy link
Copy Markdown
Contributor

/lgtm

The metadata part looks good. Do you plan to make it the default overlay for aws?

@zhenghuiwang

Copy link
Copy Markdown
Contributor

/approve

@Jeffwan

Jeffwan commented Feb 17, 2020

Copy link
Copy Markdown
Member Author

@zhenghuiwang
No, this is an option for users want to use cloud managed SQL service.

@k8s-ci-robot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: zhenghuiwang

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

k8s-ci-robot added a commit that referenced this pull request Mar 4, 2020
…961)

* Create overlay allowing the Load Balancer to be created with HTTPS with it handling no auth. Additionally making the scheme (internet facing/internal) configurable and adding external-dns annotation for clusters with it installed. Cleaned up some duplicated annotations as well (#653)

* Upgrade aws component version (#890)

* Upgrade aws components versions for v1.0

* Update tests for aws components

* Add policy profile controller plugin need (#917)

* Add external mysql option for pipeline and metadata (#906)

* Add OWNERS file under test folder (#947)

* Fixing loadBalancerScheme issue in ingress annotation (#952)

* Fix AWS OIDC settings (#953)
@xaniasd

xaniasd commented Mar 12, 2020

Copy link
Copy Markdown
Contributor

@Jeffwan thanks for this PR. How could I customize the values in secrets.env?

@Jeffwan

Jeffwan commented Mar 13, 2020

Copy link
Copy Markdown
Member Author

@xaniasd Customize the values in secrets.env? Do you mean how to apply overlays? You can do like this for metadata and pipeline. Make sure you fill secrets.env and params.env

image

@Jeffwan Jeffwan deleted the aws_managed_mysql_s3 branch March 13, 2020 05:29
@xaniasd

xaniasd commented Mar 13, 2020

Copy link
Copy Markdown
Contributor

@Jeffwan no my question was about filling in secrets.env. I can customize parameters in params.env with the parameters map like so:

- kustomizeConfig:
    overlays:
    - application
    parameters:
    - name: MY_HOST
      value: db

As far as I can see in kfctl code, this is not possible for secrets.env files (maybe for good reason too). So how can I change the password?

@Jeffwan

Jeffwan commented Mar 13, 2020

Copy link
Copy Markdown
Member Author

@xaniasd Hi, https://github.com/kubeflow/kfctl/blob/master/pkg/apis/apps/kfdef/v1/application_types.go doesn't have field to set secrets. Currently, only few application use secrets and I think it could be a feature request. You can kfctl build and manually update secrets.env at this moment.

I was trying to integrate to kfctl and expose config to users in manifest file, meet the same problem. That's definitely something we can improve.

@thesuperzapper

Copy link
Copy Markdown
Member

@Jeffwan do you have plans to add support for external DB's in the katib-controller manifests?

See here:
https://github.com/kubeflow/manifests/blob/v1.0.2/katib/katib-controller/base/katib-mysql-deployment.yaml

@Jeffwan

Jeffwan commented May 6, 2020

Copy link
Copy Markdown
Member Author

@thesuperzapper

There's some ongoing discussion there. Katib maintainers has some concerns on the base manifests since there's standalone users. But I think that's the trend, we should have similar pattern there. I will check it later.

for the RDS documentation, please check this website after this PR merged

kubeflow/website#1934

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.

Support external mysql database for metadata and pipeline

7 participants