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

Deploying clusters into existing environment #247

Closed
skolyszewski opened this issue Nov 24, 2021 · 3 comments
Closed

Deploying clusters into existing environment #247

skolyszewski opened this issue Nov 24, 2021 · 3 comments

Comments

@skolyszewski
Copy link

Hi! First of all, thanks for working on this cool project!

We have couple of questions/things to discuss. First is strictly related to the subject, and the other one is more of a generic one:

  1. How do we deploy a cluster into existing environment/network?
    From what I see, the design here is to spin up every piece necessary to have a functional cluster, and then maybe just peer networks in case it's necessary. How would it look like, if we already had a network, and just wanted some parts of what tf-kbst modules provide? We've found this response. This means, that we either have to drift away from what kubestack essentially provides (tf modules) and maintain our own piece, or have our use case accepted as a common one, which could be then included as another way of deployment (alongside cluster and cluster-local). What's the acceptance criteria for a common use case?

  2. Do you have any roadmap/vision, of some sort, for the project? We're interested in keeping using it, however, we seem to be fighting obstacles more often than necessary, which led us to reviewing the options.

Best,
Grzegorz & and the CRE team @ CS

@pst
Copy link
Member

pst commented Nov 25, 2021

Kubestack aims to be a batteries included framework. To integrate with existing infrastructure in other VPCs, you can use peering. I believe having required resources like VPCs built-in makes the preview, validate, promote workflow more resilient.

If you're facing problems, I encourage you to create Github issues so that they can be addressed. Better even, I invite you to contribute fixes.

@kratkyzobak
Copy link

kratkyzobak commented Dec 7, 2021

We have similar issues.

We could use default ones and then connect them to our infrastructure as meintoned by @pst. But to be able to this, we would need modules to provide more outputs.

We're currently targeting to Azure. For example, we would like to apply some NSG rules to created subnet, so, we need to create either NSG via kubectack and expose it's ID in output, or better - expose subnet in output to be able to link NSG. Don't know which approach is better.

Would PRs aiming to expose more terraform resources via output have chance to be approved? We're currently focused only on Azure and so we don't know which resources would be reasonable to expose from module for another clouds, so we can probably provide PRs for Azure only as we don't know other clouds.

@pst
Copy link
Member

pst commented Dec 8, 2021

The way I go about this is using data sources. You can see a quite elaborate example of this in the AWS node pool module. It uses various data sources to get information like the cluster's VPC etc, to then integrate with the VPC or extend it.

https://github.com/kbst/terraform-kubestack/blob/master/aws/cluster/node-pool/data_sources.tf

@pst pst closed this as completed Jan 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants