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

Cleanup external CA mode #1258

Closed
fabriziopandini opened this issue Nov 19, 2018 · 6 comments
Closed

Cleanup external CA mode #1258

fabriziopandini opened this issue Nov 19, 2018 · 6 comments
Assignees
Labels
kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release.
Milestone

Comments

@fabriziopandini
Copy link
Member

While testing v1.13 we discovered a regression in certs phases for sparse CA that was fixed by kubernetes/kubernetes#71232

However, there is room for improving the current implementation as per comment kubernetes/kubernetes#71232 (review), but this requires a little bit of more thinking.

@fabriziopandini fabriziopandini added priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. labels Nov 19, 2018
@fabriziopandini fabriziopandini added this to the v1.14 milestone Nov 19, 2018
@seh
Copy link

seh commented Nov 24, 2018

Also pertinent: #1276.

@fabriziopandini
Copy link
Member Author

@seh
kubernetes/kubernetes#71232 merged, so now at head certificate management should support sparse certificates scenarios. Could you kindly give a feedback if all the cases are addressed?

@seh
Copy link

seh commented Nov 25, 2018

Could you kindly give a feedback if all the cases are addressed?

It's working well for my case, which is probably unusual: I run in "external etcd mode" and the faux "external front proxy mode," in that I create those keys and certificates myself and place them on the master machines; problems there were what motivated #807 and #918, both solved now.

I had been creating all the certificates myself, avoiding the "certs" phase altogether. Now I'm taking advantage of kubeadm init's improvements and allowing it to generate the API server certificates. Doing so allows me to run my master machines in an auto-scaling group, rather than creating each one as a "pet" with an accompanying network interface with a predetermined IP address (and hence a predetermined node name). Since I don't need to know the IP address ahead of time to create the API server certificate myself, I can let my cloud environment create the network interface, query the assigned IPv4 DNS name at boot time, feed that into kubeadm init --node-name, and let kubeadm's "certs" phase use that node name in the API server certificate.

On that note, a diversion: I've noticed that the kubelet now logs a message periodically about overriding the cloud provider-supplied hostname with the hostname specified via the --hostname-override flag. That means that the kubelet would probably get the right hostname (per kubernetes/kubernetes#64659, kubernetes/kubernetes#64661, and kubernetes/website#8873), but kubeadm init needs that overridden hostname first, as it uses a more naïve way to determine a default node name. It seems like a chicken-and-egg problem; once the kubelet is running with a cloud provider, it can figure out the right node name it should use, but before the kubelet runs with a cloud provider, kubeadm init has to choose a node name and then reconfigure the kubelet.

@fabriziopandini
Copy link
Member Author

@seh good to know the certs part is working, so I'm closing the issue
/close

For the kubelet part eventually let's move the discussion to a separated issue, even if at first sight this is more a kubelet/cloud provider issue than a kubeadm issue.

@k8s-ci-robot
Copy link
Contributor

@fabriziopandini: Closing this issue.

In response to this:

@seh good to know the certs part is working, so I'm closing the issue
/close

For the kubelet part eventually let's move the discussion to a separated issue, even if at first sight this is more a kubelet/cloud provider issue than a kubeadm issue.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@spiffxp
Copy link
Member

spiffxp commented Feb 20, 2019

/milestone clear

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release.
Projects
None yet
Development

No branches or pull requests

5 participants