Comments (10)
@gyliu513 Yes, I agree with @christopherhein. CAPN is still in the early stage, it can be hard to support multiple distros before the codebase becomes stable. But feel free to try out the OpenShift with CAPN and we would like to discuss any issues you run into.
from cluster-api-provider-nested.
@gyliu513 There isn't anyone looking at this, this issue COULD conflict with #44 if we end up in a KCP route it would be harder for you to implement this, that being said if you wanted to experiment with this idea you could like @Fei-Guo has said in that other issue use the NestedAPIServer
, NestedControllerManager
, NestedEtcd` to templatize and mount your manifests in the container where it expects them. https://github.com/kubernetes-sigs/cluster-api-provider-nested/blob/main/controlplane/nested/controllers/consts.go#L23-L27
Basically, the flow would be copy the files in - https://github.com/kubernetes-sigs/cluster-api-provider-nested/tree/main/controlplane/nested/component-templates change the statefulset specs to deploy whatever distro you'd like to use, and then you'd mount those new go templatized manifests into your image and it should work. The area this breaks down is the higher-level objects that that distro need to be deployed that aren't apiserver, controller manager or etcd, which you'd have try using the ClusterResourceSet
which we have an issue about testing #41
from cluster-api-provider-nested.
/kind support
from cluster-api-provider-nested.
Awesome, thanks @christopherhein for the detailed explanation. So how about enabling those parameters as dynamic https://github.com/kubernetes-sigs/cluster-api-provider-nested/blob/main/controlplane/nested/controllers/consts.go#L23-L27 , so that we the customer can decide which k8s distribution they want to use?
defaultEtcdStatefulSetURL = "/nested-etcd/{k8s distribution}/nested-etcd-statefulset-template.yaml"
defaultEtcdServiceURL = "/nested-etcd/{k8s distribution}/nested-etcd-service-template.yaml"
defaultKASStatefulSetURL = "/nested-apiserver/{k8s distribution}/nested-apiserver-statefulset-template.yaml"
defaultKASServiceURL = "/nested-apiserver/{k8s distribution}/nested-apiserver-service-template.yaml"
defaultKCMStatefulSetURL = "/nested-controllermanager/{k8s distribution}/nested-controllermanager-statefulset-template.yaml"
from cluster-api-provider-nested.
IMO maintaining multiple distributions is out of the scope for what CAPN should support. We should be enabling you to overwrite and implement your own but not providing those from CAPN. This will lead to unnecessary churn and releases of this codebase to vendor those spec.
@Fei-Guo @charleszheng44 wdyt?
from cluster-api-provider-nested.
@christopherhein +1, let me fork this repo and maintain by ourselves first, and we can check how to enable the upstream support in future.
from cluster-api-provider-nested.
Close it for now, we can re-visit this issue if any new requirement. Thanks @christopherhein and @charleszheng44 !
from cluster-api-provider-nested.
Thank you, glad we're all on the same page. Also 🙏 if you fork and make changes that aren't distro-specific we'd love to the help and will gladly accept patches!
from cluster-api-provider-nested.
Sure thing, thanks @christopherhein
from cluster-api-provider-nested.
@wangjsty ^^
from cluster-api-provider-nested.
Related Issues (20)
- ✨ Projected ServiceAccount Support HOT 24
- 🐛 Add ReadHeaderTimeout values HOT 1
- Resource already exists and the UID is different should not requeue HOT 10
- update (virtual cluster) validation webhook registration to support admission.../v1 HOT 9
- Support exposing single annotations/labels via env downward API
- Pod Checker occasionally deletes vPods unexpectedly HOT 2
- Consider extending conversations package to work with vNodes HOT 7
- 🐛 Pod Mutator has order requirements HOT 1
- Pod DWS support container Commands&Args update HOT 1
- ✨PersistentVolumeClaim support UWS status update HOT 4
- [VirtualCluster] Error creating: failed to list services from cluster xxxxx cache: service is not ready HOT 6
- ✨ Enhancement for virtual cluster DNS HOT 1
- 🐛[VC] Failed to do port-forward for a pod in virtual cluster HOT 1
- ❓ [VC] Why pod with nodeName is not supported for now? HOT 6
- Unable to init Cluster with the nested provider HOT 5
- Add Dedicated Node Support and Customized Scheduler in VirtualCluster using Customized Syncers HOT 6
- CAPI v1.5.0-beta.0 has been released and is ready for testing HOT 4
- CAPN doesn't seem to work outside of a kind scenario HOT 4
- CAPI v1.6.0-beta.0 has been released and is ready for testing HOT 4
- Cluster API Provider Nested is out of support HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cluster-api-provider-nested.