aws / aws/containers-roadmap

EKS Feature Request: Control Plane to Associate Private Hosted Zone for Webhooks

Open
#1,606 12 comments 22 reactions 0 assignees View on GitHub
EKS Proposed
Dominant language
Shell
Stars
5.4k
Forks
334
PR merge metrics
No merged PRs in 30d

Description

### Community Note

* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request
* Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
* If you are interested in working on this issue or have submitted a pull request, please leave a comment

**Tell us about your request**
What do you want us to build?

The request is to allow an option for the control plane to use the cross account function to associate a private hosted zone in order to be able to resolve private hosted domain names.

**Which service(s) is this request for?**
This could be EKS

**Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?**
What outcome are you trying to achieve, ultimately, and why is it hard/impossible to do right now? What is the impact of not having this problem solved? The more details you can provide, the better we'll be able to understand and solve the problem.

While using a MutatingWebhookConfiguration (or ValidatingWebhookConfiguration) that calls an off-cluster endpoint through a domain in a private hosted zone, the call fails as the master nodes cannot reach route53 private hosted zone. By default the Master nodes will reach out to the public resolver only as they are hosted and managed by AWS.

Without this function, off-cluster endpoints for MutatingWebhookConfiguration will need to be resolved through public DNS resolvers.

**Are you currently working around this issue?**
How are you currently solving this problem?

- Avoid domains in private hosted zones
- Use IP address as the endpoint

**Additional context**
Anything else we should know?

_**Error seen:**_

E1110 13:48:30.677965 1 replica_set.go:536] sync "default/web-xxxx.xxxx" failed with Internal error occurred: failed calling webhook "xxx.xxx.xxx": Post https://xxxx.xxxx:xxxx/xxxx/?timeout=10s: context deadline exceeded

_**MutatingWebhookConfiguration clientConfig snippet:**_
```

...
webhooks:
- name: xxx.xxx.xxx
clientConfig:
url: "https://xxxx.xxxx:xxxx/xxxx/"
caBundle: ""
sideEffects: None
rules:

```
**Attachments**
If you think you might have additional information that you'd like to include via an attachment, please do - we'll take a look. (Remember to remove any personally-identifiable information.)

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the MutatingWebhookConfiguration and ValidatingWebhookConfiguration clientConfig behavior described in the issue, along with EKS control-plane access to Route 53 private hosted zones. Done means an off-cluster webhook domain in a private hosted zone can be resolved and reached by the control plane without requiring a public DNS endpoint or IP address.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, kubernetes
Domain
cloud, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.