Existing AWS VPC

The requirements for launching into an existing VPC are pretty limited. Are there any plans to expand upon launching a Charmed K8S stack into existing VPCs that do not conform to these requirements:

ERROR The given vpc-id does not meet one or more of the following minimum

Juju requirements:

1. VPC should be in "available" state and contain one or more subnets.

2. An Internet Gateway (IGW) should be attached to the VPC.

3. The main route table of the VPC should have both a default route

to the attached IGW and a local route matching the VPC CIDR block.

4. At least one of the VPC subnets should have MapPublicIPOnLaunch

attribute enabled (i.e. at least one subnet needs to be 'public').

5. All subnets should be implicitly associated to the VPC main route

table, rather than explicitly to per-subnet route tables.

A default VPC already satisfies all of the requirements above. If you

still want to use the VPC, try running 'juju bootstrap' again with:

--config vpc-id=vpc-0001--config vpc-id-force=true

to force Juju to bypass the requirements check (NOT recommended unless

you understand the implications: most importantly, not being able to

access the Juju controller, likely causing bootstrap to fail, or trying

to deploy exposed workloads on instances started in private or isolated

subnets).

All of our subnets are independently associated with route tables and not the main route table. There is no reason for us to associate all route tables with the main route table since the egress for internet and other networks varies depending on the subnet. For instance a private subnet will egress the NAT Gateway, public subnet the igw, and infra/db subnets have a default route for our firewall. Having all subnets in main route table makes no sense for most setups.

If you follow the instructions and add the force command you can get the controller up and running but all subnets get added to the “alpha” space and you can not change this. There are no juju commands to remove subnets from spaces that I can see.

1 Like