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

Reconcile a CAPC cluster to a CKS cluster #310

Closed
rohityadavcloud opened this issue Sep 4, 2023 · 6 comments · Fixed by #350
Closed

Reconcile a CAPC cluster to a CKS cluster #310

rohityadavcloud opened this issue Sep 4, 2023 · 6 comments · Fixed by #350
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. release:must-have
Milestone

Comments

@rohityadavcloud
Copy link
Member

rohityadavcloud commented Sep 4, 2023

/kind feature

Describe the solution you'd like

CAPC reconciles various resources in CloudStack, we want to see CAPC leverage and reconcile notion of a CAPC k8s cluster to a CKS (unmanaged) cluster.

The CKS cluster resource in CloudStack captures notion of a k8s cluster in CloudStack, and recently a feature improvement made it possible to have notion of unmanaged k8s cluster with apache/cloudstack#7515 with documentation at apache/cloudstack-documentation#315 and API support via go-sdk change apache/cloudstack-go#59. A PR proposed #250 which couldn't satisfy review from other stakeholders. With this issue, alternative options and approaches can be discussed or the previous PR reimagined.

As a CAPC user I would want the following:

  • Ability to see my CAPC cluster show up as unmanaged CKS cluster in CloudStack (API and UI)
  • Be able to see usage, of my CAPC cluster via CKS cluster (cpu, memory etc.)
  • As MachineSets are added/removed, the related instances can be added removed in CKS 'unmanaged' cluster
  • In large environment, esp a typical CI/CD use-cases, if as a user I lose/forget my CAPC admin cluster I should be able to manually delete the CAPC cluster resources (namely, VMs and networks)
  • I should be able to do this as a user account type (note: a CloudStack role has a list of allowed/disallowed APIs, however, an account type control ability of an account type to do certain things such as acquire public IP of choice in a given shared/isolated/vpc network etc. needed typically for CAPC cluster)
  • Prefer not to use another tool, than CAPC for reconciliation of a CAPC cluster to a CloudStack Kubernetes Service (CKS) cluster

Brief design doc: (to be expanded by @vishesh92)

@k8s-ci-robot k8s-ci-robot added the kind/feature Categorizes issue or PR as related to a new feature. label Sep 4, 2023
@rohityadavcloud rohityadavcloud changed the title Reconsile CAPC cluster as a CKS cluster Reconcile a CAPC cluster to a CKS cluster Sep 4, 2023
@chrisdoherty4
Copy link
Member

chrisdoherty4 commented Sep 7, 2023

Lots of relevant conversation has taken place on #250.

@rohityadavcloud rohityadavcloud added this to the v0.5.0 milestone Sep 20, 2023
@rohityadavcloud rohityadavcloud modified the milestones: v0.5.0, v0.4.9 Oct 9, 2023
@g-gaston
Copy link
Contributor

g-gaston commented Nov 1, 2023

Moving to v0.5.0 since this is a new feature (and requires some more discussion if I recall correctly) and we are only prioritizing vital bugfixes for v0.4.9

@g-gaston g-gaston modified the milestones: v0.4.9, v0.5.0 Nov 1, 2023
@rohityadavcloud rohityadavcloud self-assigned this Jan 3, 2024
@rohityadavcloud
Copy link
Member Author

@weizhouapache @vishesh92 and I want to revisit this for v0.5.0, by making the integration/reconciliation disabled by default that we may revisit to enable by default in future. Users who want this feature will have to enable it; the related feature is already made into ACS 4.19 now (under RC1/testing/voting now): apache/cloudstack#7515 and apache/cloudstack-documentation#315

We've gathered a lot of support in the CloudStack community esp. during last year's meet-ups and CloudStack Collaboration conference, where users want to use the CKS feature with CAPC as high-level API/UI abstraction for their Kubernetes clusters; having CAPC clusters show us as unmanaged CKS cluster serves a lot of their requirements, with path of having CAPC cluster being orchestrated via CloudStack opening up in future.

@g-gaston
Copy link
Contributor

g-gaston commented Jan 3, 2024

@weizhouapache @vishesh92 and I want to revisit this for v0.5.0, by making the integration/reconciliation disabled by default that we may revisit to enable by default in future. Users who want this feature will have to enable it; the related feature is already made into ACS 4.19 now (under RC1/testing/voting now): apache/cloudstack#7515 and apache/cloudstack-documentation#315

We've gathered a lot of support in the CloudStack community esp. during last year's meet-ups and CloudStack Collaboration conference, where users want to use the CKS feature with CAPC as high-level API/UI abstraction for their Kubernetes clusters; having CAPC clusters show us as unmanaged CKS cluster serves a lot of their requirements, with path of having CAPC cluster being orchestrated via CloudStack opening up in future.

That sounds good to me! Thanks y'all for doing all the user research!

To facilitate future reviews, could y'all add this info (opt-in feature) to the issue description?

I would also love to discuss first the high level implementation first (here in the issue is totally fine although if y'all want to write a one pager design doc that's great too), just to avoid churn during PR reviews.

@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jun 20, 2024
@g-gaston
Copy link
Contributor

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jun 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. release:must-have
Projects
None yet
6 participants