-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
store ClusterConfig #642
Comments
The challenge with this is how to track whether user has interfered with cluster config outside of eksctl.
This way we should be able to avoid having to compile configuration objects from a running cluster, essentially by tracking all changes we make with a proof that we can verify when needed. |
Sharing quick thoughts:
|
@mumoshu thanks for sharing this!
I didn't know, personally, I wasn't sure if it could be our best authoritative store, I think it could of use as a destination to store a record of cluster configuration for consumption by other things that integrate with SSM, as it seems like a kind of tool that corporate IT compliance may have good uses for.
Yes, I think that should be the case, but let's discuss once we have a more concrete implementation ready.
I'd use either of those, but I'm hearing from some of the users that introducing yet another AWS service could be a challenge. |
Yep, that makes sense! From an another perspective, I started seeing various multi-cluster deployment tool, not only federation v2 but also shipper and so on, that relies on a "control-plane Kubernetes cluster". eksctl controller deployed onto the control-plane EKS cluster, storing cluster configs as configmaps, seems to fit naturally to the overall picture of an organization that manages multiple eksctl clusters. I'd suggest DynamoDB or S3 if we REALLY need stores other than ConfigMaps. But it would be the best for me if we don't need to add them for the first implementation. |
Yes, so the idea is to finish up #19, then implement #20, and after that we can focus on alignment with Cluster API. Shipper is an interesting example, but there others like kubermatic/machine-controller, Gardener and, of course, Giant Swarm. |
This would also potentially allow us to implement monitoring alters for divergence. |
I'm removing this from the milestone, as MVP is not a simple as I hoped for. We should also create a design document for this actually. |
related to #2255 |
Apparently the reason that And yet the information does exist -- you can get it with the AWS SDK for EKS, for example with function DescribeNodegroup. So... if the SDK can do it, why can't |
@JoshuaFox cross-replying here, as I said in #2255 eksctl can definitely retrieve all or most of the configuration used to create the cluster, but this has not been implemented yet. If there are specific things that you are missing in the output of any of the |
Hey @errordeveloper we are looking at perhaps bringing this into scope again, can you tell us anything about complications/complexity you found when you looked into it? Hopefully you can save us covering the same ground 😄 |
I think we should only do this if we can't recreate the config from the existing resources, as that's the reason why |
kops has the ability of discovering resources that belong to it, but it's not quite trivial and version dependent. For deletion purposes CloudFormation is actually very handy, as you only need to delete a stack and don't need to know what are the resources that a certain version of eksctl created and how those were labeled etc. (At least that's the theory). The reason for storing the config was that it would make it possible to re-generate the CloudFormation template for updates, and if there is a drift, it could be detected also. I did share some more extensive notes on this before... I'll ping you on slack. |
pasting in highlights from the above mentioned slack conversation for context:
|
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days. |
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days. |
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days. |
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days. |
This issue was closed because it has been stalled for 5 days with no activity. |
With another API version bump (
v1alpha5
) we should take the opportunity and start storing cluster config inside the cluster. We will probably need a design proposal for this that will outline the intended uses, limitations, ...etc.It's also been suggested that SMPS (#583) maybe a good option, but we should probably start with a ConfigMap.
Currently we have a few use-cases:
eksctl get -o=yaml
eksctl apply
We might still need to create something that lets us compile ClusterConfig based on CloudFormation stacks, but caching ClusterConfig inside the cluster would still be a good idea anyway.
The text was updated successfully, but these errors were encountered: