bottlerocket-os / bottlerocket-os/bottlerocket

Zero Config EKS Launches

Open
#2,510 1 comment 1 reaction 0 assignees View on GitHub
area/kubernetes status/icebox type/enhancement
Dominant language
Rust
Stars
9.7k
Forks
586
Avg merge
1d 11h
Merged PRs (30d)
11

Description

Currently, we need to provide the EKS cluster's `api-server` and `cluster-certificate` in Bottlerocket's `settings.kubernetes` or else a Bottlerocket instance will not know how to join the EKS cluster.

However, this information is discoverable. In https://github.com/bottlerocket-os/bottlerocket/pull/1547 we gave `pluto` the ability to call the EKS API to get the cluster's DNS setting.

https://github.com/bottlerocket-os/bottlerocket/blob/5e931725bd00311edcb7cddd9a97ea3f30f1a4bc/sources/api/pluto/src/main.rs#L312..L322

Why not also get it's `api-server` and `cluster-certificate` settings?

*Challenge*

With the current design, multiple calls to pluto would be required, we should consider a design that can set multiple settings with a single call to pluto.

*Extensions of the idea:*

For extra-credit we could even get its `settings.kubernetes.cluster-name` from the instance tags (for example if it was launched from an EKS console or launch template), though this might not be desirable.

Another possible extension would be to start in standalone mode when the `cluster-name` cannot be determined from tags. This would give users a quickl/easy way to launch and try Bottlerocket without any config or cluster.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.