-
Notifications
You must be signed in to change notification settings - Fork 40k
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
Do not break CoreOS when deprecating kubernetes-ro #9075
Comments
My preferred solution is #9076. |
Under this solution, we would update the docs for hazelcast, elasticsearch, etc, to show how to create a service account for the pods, and tweak the code in the clients to look for the token in the right place. |
@erictune I'm ok with current I'm open to any of the proposed solutions but favor #9076 as well, as it feels more secure than just leaving a read-only port accessible. |
Pods get a default service account, so you don't have to do anything special to get that. You do have to either start using the auth info from the service account (preferred solution), or if you have a legacy container that you can't modify, run kubectl in a side-car container and use its proxy feature to get a local proxy of apiserver that doesn't need auth for your legacy application. #8155 adds support for this, and I'll soon have an example of how easy it is. |
@brendandburns said the same exact thing, but this is what happens when I try to run
That secret does not exist. I am not using |
what does the following show?
Service accounts and token are provisioned using controllers running in the |
Do I need to replicate the steps from https://github.com/GoogleCloudPlatform/kubernetes/blob/master/hack/local-up-cluster.sh#L149 down, namely:
And it's done? |
yes, that would enable service account creation, token generation, and token automounting |
@liggitt you are the man. Going to make a PR for the new version of the It probably won't make sense to you, but it works.
|
I will also need to update the CoreOS docs. |
@kelseyhightower @pires Please take a look at this ASAP. I don't really want to go to 1.0 with CoreOS support broken. |
@thockin I am updating it as we speak. |
@thockin @erictune @AntonioMeireles I have questions. Moved questions below to a #9178
|
no objections on my part. |
Status on this? |
I believe I will have the PR ready later today. |
Due to increased workload, I have to postpone this to next week. |
cc @yifan-gu |
Are there still actions items open on this? |
Yes, just need to implement a way in the |
See also #10264 in progress to include the root CA. You'll likely want to provide a CA for inclusion as well |
I am not aware of this root CA and tbh I've had enough breaking changes in the last couple weeks. It's amazing to see Kubernetes getting there, but troublesome to keep up in the CoreOS world. As for me, my
If this works @liggitt @thockin I'm happy to push the PR tomorrow morning (GMT). Otherwise, and mostly due to the lack of energy to do it, I can't deliver anytime soon. |
There are basically three levels of security talking to the API:
Enabling service account tokens is still worthwhile even if the CA part doesn't happen yet |
@liggitt yes, service-accounts are mandatory. I will push the PR tomorrow. Thanks for clarifying. |
Status on this? I want to get it off the books... |
Added instrumentation and configuration for service account tokens. Fixes kubernetes#9075
Excellent! Is this issue resolved now? |
@thockin the PR was up for a week but it got lost in the pipe. 0.19.3 with service-account support is done for CoreOS (tested on Vagrant, AWS and GCE). |
I will wait for v1 to come out before updating again. I want to add root CA and whatever may be needed then. |
CoreOS does not have an equivalent to "kube-addons.sh", and so there are not system secrets created when the cluster is created. So, when some of our CoreOS users run things like the Hazelcast example, or the elasticsearch example, they currently rely on kubernetes-ro to reach the apiserver. When kuberenetes-ro support is removed (#8155), these examples will still work on GCE, because they can use the kubeconfig in their associated secret. But, on CoreOS, it seems they will break.
Possible fix alternatives:
Option 1 is nice because it allows us to defer fixing the problem until after 1.0 freeze.
The text was updated successfully, but these errors were encountered: