-
Notifications
You must be signed in to change notification settings - Fork 1.1k
feat: KFP multi user mode PR2 - secure KFP with istio mTLS and authz #1368
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
k8s-ci-robot
merged 61 commits into
kubeflow:master
from
Bobgy:kfp_multi_user_with_istio
Jul 10, 2020
Merged
Changes from all commits
Commits
Show all changes
61 commits
Select commit
Hold shift + click to select a range
1c43da3
Add argo to stacks/generic
Bobgy 9e9c725
Pull pipelines manifest from upstream
Bobgy 3fa9d21
Updated kfp
Bobgy 50f2ff5
Minio v3 manifests
Bobgy b2cc166
Rename minio configmap
Bobgy f33ea93
Add generic minio install
Bobgy 6151fe9
Generate new test data
Bobgy d396143
Mysql kustomize v3 manifest - generic install
Bobgy 2544716
Add mysql gcp pd install
Bobgy 0a259a1
Generate test data
Bobgy b364e06
Pipelines kustomize v3 manifests
Bobgy 2f59319
Add kfp ui virtual service
Bobgy 569c640
Add metadata deployment to stacks/generic
Bobgy a3e5c3a
Use common cluster domain
Bobgy cfda2d9
Deploy metadata writer
Bobgy 0a4770b
Add kfp cache server
Bobgy 7907d06
Update test data
Bobgy 400aa0b
Merge remote-tracking branch 'upstream/master' into v3_kfp
Bobgy d4b33b6
Enable KFP multi user mode without istio security
Bobgy 5530b2a
Fix persistence agent watch namespace
Bobgy 97424f1
Fix namespace env for some deployments
Bobgy 805d6da
Fix cluster roles and bindings
Bobgy 7c32e6f
fix rename
Bobgy 7bddf40
Fix pipelines ui role
Bobgy 88cc01b
Updated kfp to rc2
Bobgy 5f92c94
simplify pipeline v3 manifest using updated kfp rc2 manifest
Bobgy 59b8ff9
Fix pipeline-install-config
Bobgy 72e598d
remove redundant configmap
Bobgy 66658b9
update tests
Bobgy 7358da0
Merge branch 'v3_kfp' into kfp_multi_user_without_istio
Bobgy 1eb4d56
updated to kfp 1.0.0-rc.3
Bobgy 9bc841b
Adapt to kfp 1.0rc3 refactoring
Bobgy e73382b
update test snapshots
Bobgy b7c6795
Merge branch 'kfp_rc3' into kfp_multi_user_without_istio
Bobgy 03a63d8
fix pull kfp script to detect empty dir
Bobgy 0df67aa
fix example ref
Bobgy 28452a3
update snapshot
Bobgy 4faf673
fix gcp pd manifest
Bobgy 2b35d9e
Update stacks ref
Bobgy 6df2abc
revert alice example to gcp stack
Bobgy 0230d0c
update snapshot
Bobgy 5b3d882
fix profile controller iam binding
Bobgy 2c5f8d0
Merge remote-tracking branch 'upstream/master' into kfp_multi_user_wi…
Bobgy 30552d1
Update kfp profile controller can be configured to different images and
Bobgy 604e8b2
Merge remote-tracking branch 'upstream/master' into kfp_multi_user_wi…
Bobgy c71bf14
add missing viewer controller cluster roles
Bobgy 4f2f96c
Use python3 for sync.py
Bobgy 78b3eea
Revert gcp stack back to use non multi user kfp
Bobgy 09cdd13
revert unintended changes
Bobgy e0baea1
revert upstream changes
Bobgy 3f6d7d8
Secure kfp multi user mode with istio authorization
Bobgy b4e2ba5
patch minio to disable istio sidecar injection
Bobgy c3cbc60
Merge remote-tracking branch 'upstream/master' into kfp_multi_user_wi…
Bobgy 54d9ade
fix cache server istio authz
Bobgy ed2f9d0
enable istio sidecar for profiles deploy
Bobgy d3938b8
enable istio sidecar for centraldashboard
Bobgy b00c0e1
Do not protect profile controller with istio
Bobgy ac238af
Allow admission webhook traffic to cache-server
Bobgy 65584c7
revert gcp stack back to pipeline generic
Bobgy c7401c1
Reuse minio generic install as base for gcp-pd and ibm
Bobgy 90a0c81
update snapshot
Bobgy File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
120 changes: 120 additions & 0 deletions
120
pipeline/installs/multi-user/istio-authorization-config.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,120 @@ | ||
| apiVersion: "rbac.istio.io/v1alpha1" | ||
| kind: ServiceRole | ||
| metadata: | ||
| name: ml-pipeline-ui | ||
| namespace: kubeflow | ||
| spec: | ||
| rules: | ||
| - services: | ||
| - ml-pipeline-ui.kubeflow.svc.cluster.local | ||
| --- | ||
| apiVersion: "rbac.istio.io/v1alpha1" | ||
| kind: ServiceRole | ||
| metadata: | ||
| name: ml-pipeline-services | ||
| namespace: kubeflow | ||
| spec: | ||
| rules: | ||
| - services: | ||
| - ml-pipeline.kubeflow.svc.cluster.local | ||
| - ml-pipeline-ui.kubeflow.svc.cluster.local | ||
| - ml-pipeline-visualizationserver.kubeflow.svc.cluster.local | ||
| - mysql.kubeflow.svc.cluster.local | ||
| --- | ||
| apiVersion: "rbac.istio.io/v1alpha1" | ||
| kind: ServiceRoleBinding | ||
| metadata: | ||
| name: bind-gateway-ml-pipeline-ui | ||
| namespace: kubeflow | ||
| spec: | ||
| subjects: | ||
| - properties: | ||
| source.namespace: istio-system # gateway | ||
| roleRef: | ||
| kind: ServiceRole | ||
| name: ml-pipeline-ui | ||
| --- | ||
| apiVersion: "rbac.istio.io/v1alpha1" | ||
| kind: ServiceRoleBinding | ||
| metadata: | ||
| name: bind-ml-pipeline-internal | ||
| namespace: kubeflow | ||
| spec: | ||
| subjects: | ||
| - properties: | ||
| source.principal: cluster.local/ns/kubeflow/sa/ml-pipeline | ||
| - properties: | ||
| source.principal: cluster.local/ns/kubeflow/sa/ml-pipeline-ui | ||
| - properties: | ||
| source.principal: cluster.local/ns/kubeflow/sa/ml-pipeline-persistenceagent | ||
| - properties: | ||
| source.principal: cluster.local/ns/kubeflow/sa/ml-pipeline-scheduledworkflow | ||
| - properties: | ||
| source.principal: cluster.local/ns/kubeflow/sa/ml-pipeline-viewer-crd-service-account | ||
| - properties: | ||
| source.principal: cluster.local/ns/kubeflow/sa/kubeflow-pipelines-cache | ||
| roleRef: | ||
| kind: ServiceRole | ||
| name: ml-pipeline-services | ||
| --- | ||
| apiVersion: "networking.istio.io/v1alpha3" | ||
| kind: DestinationRule | ||
| metadata: | ||
| name: ml-pipeline-ui | ||
| spec: | ||
| host: ml-pipeline-ui.kubeflow.svc.cluster.local | ||
| trafficPolicy: | ||
| tls: | ||
| mode: ISTIO_MUTUAL | ||
| --- | ||
| apiVersion: "networking.istio.io/v1alpha3" | ||
| kind: DestinationRule | ||
| metadata: | ||
| name: ml-pipeline | ||
| spec: | ||
| host: ml-pipeline.kubeflow.svc.cluster.local | ||
| trafficPolicy: | ||
| tls: | ||
| mode: ISTIO_MUTUAL | ||
| --- | ||
| apiVersion: "networking.istio.io/v1alpha3" | ||
| kind: DestinationRule | ||
| metadata: | ||
| name: ml-pipeline-visualizationserver | ||
| spec: | ||
| host: ml-pipeline-visualizationserver.kubeflow.svc.cluster.local | ||
| trafficPolicy: | ||
| tls: | ||
| mode: ISTIO_MUTUAL | ||
| --- | ||
| apiVersion: "networking.istio.io/v1alpha3" | ||
| kind: DestinationRule | ||
| metadata: | ||
| name: ml-pipeline-mysql | ||
| spec: | ||
| host: mysql.kubeflow.svc.cluster.local | ||
| trafficPolicy: | ||
| tls: | ||
| mode: ISTIO_MUTUAL | ||
| --- | ||
| apiVersion: "rbac.istio.io/v1alpha1" | ||
| kind: ServiceRole | ||
| metadata: | ||
| name: cache-server | ||
| namespace: kubeflow | ||
| spec: | ||
| rules: | ||
| - services: | ||
| - cache-server.kubeflow.svc.cluster.local | ||
| --- | ||
| apiVersion: "rbac.istio.io/v1alpha1" | ||
| kind: ServiceRoleBinding | ||
| metadata: | ||
| name: bind-cache-server-admission-webhook | ||
| namespace: kubeflow | ||
| spec: | ||
| subjects: | ||
| - user: "*" | ||
| roleRef: | ||
| kind: ServiceRole | ||
| name: cache-server | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
3 changes: 1 addition & 2 deletions
3
pipeline/installs/multi-user/pipelines-profile-controller/params.env
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,2 @@ | ||
| KFP_VERSION=1.0.0-rc.3 | ||
| # TODO: make visualization server work with sidecar | ||
| DISABLE_ISTIO_SIDECAR=true | ||
| DISABLE_ISTIO_SIDECAR=false |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| apiVersion: apps/v1 | ||
| kind: Deployment | ||
| metadata: | ||
| name: minio | ||
| spec: | ||
| template: | ||
| metadata: | ||
| annotations: | ||
| sidecar.istio.io/inject: "false" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note service role is deprecated for istio, but they still work in istio 1.4.x.
I'd prefer leaving this here for a while and migrate when all platforms upgrade to later istio versions.