-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
feat(backend): isolate artifacts per namespace/profile/user using only one bucket #7725
base: master
Are you sure you want to change the base?
Changes from 14 commits
c9c3a9e
1218655
fb03d90
8ca1101
e8a7122
e99ab6a
b681570
27c6795
f1ab99b
9f3efc4
8b15871
8e15e56
eff65ea
1c292a9
6bdffd5
cbc549a
5743208
a869701
63ffae9
1b13e66
42a3a1a
f6f3755
1485d6e
4988713
a4906e0
b195034
5674951
82883b5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
FROM docker.io/minio/mc:RELEASE.2019-08-14T20-49-49Z as minio-cli | ||
|
||
FROM python:3.7 | ||
# curl -o mc 'https://dl.min.io/client/mc/release/linux-amd64/archive/mc.RELEASE.2019-08-14T20-49-49Z' | ||
COPY --from=minio-cli /usr/bin/mc /app/mc | ||
RUN pip3 install 'boto3==1.22.*' 'minio==7.1.*' 'kubernetes==23.3.*' | ||
|
||
ENTRYPOINT ["python3" ] |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
# Change resyncPeriodSeconds to 1 hour from insane 20 seconds | ||
# Only sync namespaces with pipelines.kubeflow.org/enabled = "true" | ||
# For some crazy reasons the crd name is often different... | ||
# CRD is network-attachment-definitions while the instance is NetworkAttachmentDefinition | ||
apiVersion: metacontroller.k8s.io/v1alpha1 | ||
kind: CompositeController | ||
metadata: | ||
|
@@ -27,15 +28,24 @@ spec: | |
resource: services | ||
updateStrategy: | ||
method: InPlace | ||
- apiVersion: networking.istio.io/v1alpha3 | ||
resource: destinationrules | ||
- apiVersion: k8s.cni.cncf.io/v1 | ||
resource: network-attachment-definitions | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is this change exclusive to OpenShift cluster? I would suggest creating an overlay to contain this change. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It is for any Kubernetes that uses Multus as CNI https://github.com/k8snetworkplumbingwg/multus-cni This change would also affect the python code. Either we leave it in, since it does no harm or we remove it entirely in the composite controller and python code. One could argue that it belongs in the other kubeflow profile controller, so removing it entirely or using overlays as described below is a valid option. |
||
updateStrategy: | ||
method: InPlace | ||
- apiVersion: security.istio.io/v1beta1 | ||
resource: authorizationpolicies | ||
- apiVersion: v1 | ||
resource: limitranges | ||
updateStrategy: | ||
method: InPlace | ||
- apiVersion: kubeflow.org/v1alpha1 | ||
resource: poddefaults | ||
updateStrategy: | ||
method: InPlace | ||
- apiVersion: networking.k8s.io/v1 | ||
resource: networkpolicies | ||
updateStrategy: | ||
method: InPlace | ||
hooks: | ||
sync: | ||
webhook: | ||
url: http://kubeflow-pipelines-profile-controller/sync | ||
|
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.
My advice is to install these python library and minio cli client during runtime. New image has to pass license review and has to be served under new registry path. I would avoid that if possible.
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.
I could make a runtime check and install them if they are not already there (self-built images), but we need them for the minio configuration. Another option could be to use the minio python client only. Anyway having downloads at runtime makes us dependent on the network and availability of pypi.org and the minio mc download site. I would prefer a static image that always works.
By the way did you read "@zijianjoy The minio mc license was changed quite late minio/mc@1402987 so that should be fine. We are using a way older mc, exactly the same date as your current minio-license-compatible image. The python SDK is still Apache 2.0 https://github.com/minio/minio-py/blob/master/LICENSE.
which minio alternative do you have in mind for the next years? ceph-rook?"
Boto3 is also apache 2.0 https://github.com/boto/boto3/blob/develop/LICENSE together with the kubernetes library https://github.com/kubernetes-client/python/blob/master/LICENSE
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.
If you were to create a new image, then it needs to be integrated into our test and release process. Here're some pointers on top of my head, there could be more.
https://github.com/kubeflow/pipelines/blob/master/.cloudbuild.yaml
https://github.com/kubeflow/pipelines/blob/master/.release.cloudbuild.yaml