This repository has been archived by the owner on Sep 30, 2020. It is now read-only.
[v0.16.x] Fix etcd certificates when using private zones #1893
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes
The AWS Cloud Controller does not support private zones, so if you use it with etcd >=v2.4..5 then you will run into issues with cluster initialization, because of a feature introduced the does a reverse dns look up to ensure the IP making requests matches a host on the certificate SANs.
Worse, even if you add all reverse zones so that this does work with your private zone, the aws controller does not name nodes after your private zone, and they instead come up using .compute.internal nodeNames. This causes problem elsewhere in the kube-aws stack where we try to update nodes using hostname, but in this scenario hostname != nodename. (*.myprivate.zone vs *...compute.internal).
This is a hack that allowed us to move forward, but a better implementation is needed & should be revisited.