Skip to content
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

Introduce image Container Registry use #23

Closed
4 of 6 tasks
tarilabs opened this issue Feb 27, 2024 · 9 comments · Fixed by #41
Closed
4 of 6 tasks

Introduce image Container Registry use #23

tarilabs opened this issue Feb 27, 2024 · 9 comments · Fixed by #41
Assignees
Labels
good first issue Good for newcomers

Comments

@tarilabs
Copy link
Member

tarilabs commented Feb 27, 2024

Ref KF community meeting 2024-02-27

We note the KF community feedback suggesting to make use of GitHub Container Registry (part of "GitHub Packages") for publishing Container Images using GitHub Actions. Eventually, GH CR images can be synced to DockerHub https://hub.docker.com/u/kubeflow by raising request to KF community.

This issue tracks steps required to enable Container Image production and publication, similarly to what was available in ODH+Quay.

Acceptance criteria:

Stretch goals:

  • modify Docker file, makefile, etc to account for cross-platform build (see comment for examples)
  • ask KF community leads to enable sync from GH CR to DockerHub for model-registry
@tarilabs tarilabs added the good first issue Good for newcomers label Feb 27, 2024
@thesuperzapper
Copy link
Member

@tarilabs since we are starting out fresh, can you please ensure you cross-compile for ARM64 in addition to AMD64?

Depending on how many container images you plan to have, you may or may not need something as complex as what we do for Kubeflow Notebooks. But either way, here are some links you might find useful that show using QEMU emulation and Docker BuildX:

@tarilabs
Copy link
Member Author

@thesuperzapper that's a very good point Mathew thanks especially for sharing examples of cross-platforms container image build!

While we have an extensive Integration Test suite, e2e testing on arm will be limited atm due to the MLMD image unavailability (for arm). That accounted for, we can start early (as you pointed out) to account for cross-platform build so we can be prepared when all components are available on arm imho.

@thesuperzapper
Copy link
Member

@tarilabs well... I have a Christmas present for you regarding ARM64 support in the MLMD image.

I made a PR upstream to introduce ARM64 support, and also made a fork and published an ARM image (built under GHA emulation) for my own project (deployKF) until it gets merged upstream.

For more information, please see:

This is all assuming you are talking about ghcr.io/deploykf/ci/ml_metadata_store_serve image needing ARM64 support, and not some other part of ml-metadata (which may actually already support it).

@tarilabs
Copy link
Member Author

@thesuperzapper I well recall your Xmas present :) we kind-of crossed path because on other hand I've been trying to look into the Python side of the library, ie: https://pypi.org/project/ml-metadata

For more information:

@rimolive
Copy link
Member

Although I'd like to see ARM64 support for all components, I prefer to treat it as a P2 since this component is currently in alpha for Kubeflow 1.9. We still have open issues for 1.9 that need some attention, so unless we can handle everything for 1.9 we can prioritize ARM64 support for future releases.

@tarilabs
Copy link
Member Author

dockerhub token should be setup for this repo, as:

DOCKERHUB_USERNAME
DOCKERHUB_TOKEN

tarilabs added a commit to tarilabs/model-registry that referenced this issue Mar 18, 2024
* build(deps): bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (kubeflow#27)

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.4 to 1.9.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](stretchr/testify@v1.8.4...v1.9.0)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add first draft of model registry kserve custom storage initializer (kubeflow#25)

* Add first draft of model registry custom storage initializer

Signed-off-by: Andrea Lamparelli <[email protected]>

* Add documentation and get started guide

Signed-off-by: Andrea Lamparelli <[email protected]>

---------

Signed-off-by: Andrea Lamparelli <[email protected]>

* fix: ensure consistency ns(omitted) for istio manifests (kubeflow#31)

* fix: ensure consistency ns(omitted) for istio manifests

Signed-off-by: Matteo Mortari <[email protected]>

* add default ns to kustomization for consistency

with manifests/kustomize/overlays/{db} kustomizations

Signed-off-by: Matteo Mortari <[email protected]>

---------

Signed-off-by: Matteo Mortari <[email protected]>

* fix CVE-2024-21626 (kubeflow#34)

see also: https://security.snyk.io/vuln/SNYK-GOLANG-GITHUBCOMCONTAINERDCONTAINERD-6219724

Signed-off-by: Matteo Mortari <[email protected]>

---------

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Andrea Lamparelli <[email protected]>
Signed-off-by: Matteo Mortari <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrea Lamparelli <[email protected]>
Co-authored-by: Matteo Mortari <[email protected]>
@tarilabs tarilabs changed the title Introduce GitHub Container Registry use Introduce image Container Registry use Mar 18, 2024
@tarilabs tarilabs self-assigned this Mar 18, 2024
@tarilabs tarilabs reopened this Mar 18, 2024
@rchincha
Copy link

Hi All, not sure if folks here are aware of the work going on over at Open Containers Initiative (OCI) wrt standardizing registry interfaces and general-purpose "artifacts".

https://github.com/opencontainers/distribution-spec

Apart from specific registry implementations, maybe also include a "OCI conformant registry"

@tarilabs
Copy link
Member Author

@rchincha thank you for reaching out, I invite you to comment the above on the Model Registry proposal for Kubeflow, here: kubeflow/community#682

There is recurrent community call for Kubeflow: https://www.kubeflow.org/docs/about/community/#kubeflow-community-call and I strongly encourage you to engage at that level to spread best awareness of your initiative.

There is also bi-weekly call for Model Registry, as you can find in the above linked calendar.

Hope this helps! :)

@tarilabs
Copy link
Member Author

tarilabs commented Apr 4, 2024

demonstrated by: https://hub.docker.com/layers/kubeflow/model-registry/main-dc872c1/images/sha256-24e934a1ab01d07862fb5c8b98154281ea2c981cbc257dbd9b0b469661dab093?context=explore
and up the tree

was done with:

as demonstrated above, is re-enabled.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants