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

shim lifecycle operator #25

Open
5 of 10 tasks
0xE282B0 opened this issue Aug 22, 2023 · 3 comments
Open
5 of 10 tasks

shim lifecycle operator #25

0xE282B0 opened this issue Aug 22, 2023 · 3 comments
Assignees
Labels
shim-lifecycle-operator Issues and bugs related to shim-lifecycle-operator

Comments

@0xE282B0
Copy link
Member

0xE282B0 commented Aug 22, 2023

Based on the proposal by @devigned: https://hackmd.io/@devigned/SJJPWsAj2

Objective:
Test whether the [proposed CRD] (https://hackmd.io/@devigned/SJJPWsAj2#Shim-CRD) is appropriate for the planned lifecycle operations:

  • Install
  • Upgrade/Downgrade
  • Remove

Suggested requirements:

  • Keep operator installation as simple as possible
  • Single shim installation without operator should be possible
  • The CRD is a cluster-wide resource.
  • The installer is not responsible for downloading the binaries.
    • may be downloaded from another init container and mounted via emptyDir
    • It should still be possible to build an installer image with the shims to install baked in.
  • If no nodeSelector is given in the CRD, all nodes will be provisioned.
    • The default behavior changes from the kwasm.sh/kwasm-node=true annotation to kwasmOperator.autoProvision="true".

UPDATE, 01. September. '23:
This becomes the tracking issue for the lifecycle management feature.

Tasks:

  • Initialize branch https://github.com/KWasm/kwasm-operator/tree/kwasm-lifecycle-manager with operator SDK
  • Create custom resource "shim" to deploy containerd shims
  • Schedule shim deployment on nodes via Kubernetes Job
  • Schedule shim deployment on nodes adhering according to spec.nodeSelector
  • Automatically create RuntimeClass for each shim
  • Uninstall shim on nodes when CR is deleted
  • Handle node label changes (e.g. uninstall shim on node if label is removed; install it if a label is added)
  • Create operator images for distribution
  • Create node-installer images for distribution
  • Implement rolling update strategy
@OliverMKing
Copy link

@0xE282B0 is this being actively worked on? I'm interested in picking up some of the work.

@0xE282B0
Copy link
Member Author

0xE282B0 commented Dec 8, 2023

@OliverMKing, Yes, kind of. At least it is at the top of my ToDo list 😅
We have a channel in the CNCF Slack: https://cloud-native.slack.com/archives/C05P2KNK7RV
Let's see if we can break it down and get started.

@voigt voigt added the shim-lifecycle-operator Issues and bugs related to shim-lifecycle-operator label Jan 30, 2024
@voigt voigt assigned voigt and unassigned mschmidt291 Jan 30, 2024
@voigt
Copy link

voigt commented Mar 17, 2024

Development of shim-lifecycle-operator moved over to https://github.com/spinkube/runtime-class-manager.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
shim-lifecycle-operator Issues and bugs related to shim-lifecycle-operator
Projects
None yet
Development

No branches or pull requests

4 participants