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

v1beta2 config #1439

Closed
4 tasks done
rosti opened this issue Mar 7, 2019 · 14 comments
Closed
4 tasks done

v1beta2 config #1439

rosti opened this issue Mar 7, 2019 · 14 comments
Assignees
Labels
kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete.
Milestone

Comments

@rosti
Copy link

rosti commented Mar 7, 2019

A proposal issue for the next kubeadm API version (currently proposed as v1beta2).

The actual details are in this doc.

If you are a member of the Kubernetes SIG Cluster Lifecycle Google Group you should already have edit rights for it. Ping me if you have any problems accessing the doc.


track PRs here:


/kind api-change
/assign

@k8s-ci-robot k8s-ci-robot added the kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API label Mar 7, 2019
@neolit123 neolit123 added this to the v1.15 milestone Mar 7, 2019
@yagonobre
Copy link
Member

@neolit123 neolit123 added the priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. label Mar 11, 2019
@fabriziopandini
Copy link
Member

@rosti there are issues asking for allowing kube-apiserver customizations at node level
#1348

@fabriziopandini
Copy link
Member

There is also the Kube Router use case (skip kube-proxy in join/upgrade vs config)

@neolit123
Copy link
Member

DNS local cache, but we didn't talk if we want it in the config yet.

@rosti
Copy link
Author

rosti commented Mar 19, 2019

@fabriziopandini we can make this more generic. We can probably add skipPhases []string to InitConfiguration and JoinConfiguration.
Seems like a nice generic solution to what you are describing here.

@fabriziopandini
Copy link
Member

@rosti skipping phase from config can be an idea but I'm not sure it is the right solution for the problem above.
I think that "with/without kube-proxy" should be treated as a supported cluster variant, like CoreDNS/KubeDNS or internal/external etcd. That implies that the list of action should automatically adapt to this variant (instead of relying on the user picking up the right steps)

@fabriziopandini
Copy link
Member

a request we have time to time: Improve support for Kubernetes on ARM (timeouts)

@neolit123
Copy link
Member

neolit123 commented Mar 20, 2019

a request we have time to time: Improve support for Kubernetes on ARM (timeouts)

there is a workaround by using phases and patching the api-server manifest, but also the idea to make liveness probes configurable was not accepted by Robert and Tim, when we first started seeing the problem happening. ARM is OK in general, but the problem only happens on Raspberry PI. unless someone debugs the actual problems there i don't think we should take action on the config.

@neolit123
Copy link
Member

local etcd volumes were just requested here:
#1455

@fabriziopandini
Copy link
Member

#1468

Etcd, controller-manager and scheduler configuration per node

@neolit123
Copy link
Member

for reference the v1beta1 kep was here: https://github.com/kubernetes/enhancements/blob/master/keps/sig-cluster-lifecycle/0023-kubeadm-config-v1beta1.md

@ghouscht
Copy link

ghouscht commented May 24, 2019

Are there any plans to change the hanling of extraArgs in the ControlPlaneComponent with v1beta2? The current implementation is backed by a map[string]string type and this leads to some problems we're currently facing. For example the api-server allows some arguments multiple times (--service-account-key-file and --tls-sni-cert-key). We can't handle this with the extraArgs type as it is a map which of course does not allow the same key twice and thus overrides previous declarations.

Example:

---
apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
kubernetesVersion: 1.14.2
apiServer:
  extraArgs:
    "tls-sni-cert-key": "/etc/kubernetes/pki/apiserver.crt,/etc/kubernetes/pki/apiserver.key"
    "tls-sni-cert-key": "/etc/kubernetes/pki/mycert.crt,/etc/kubernetes/pki/mykey.key" # overrides the previous declaration

(This is probably also a problem for other control plane components but I haven't checked that.)
Or is there another way to do this which I'm currently not aware of?

@neolit123
Copy link
Member

@ghouscht
unfortunately yes, using map[string]string does introduce this problem. we'd need something like Java's MultiValuedHashMap as a backend here.
kubeadm allows the component extra args from the CLI too, where this problem also minifests.

the workaround for now is to patch the e.g kube-apiserver.yaml manifest and the kubelet will restart it.

@neolit123
Copy link
Member

@rosti i'm closing this as v1beta2 was added successfully.
@ghouscht please file a separate ticket that outlines the problem in #1439 (comment)
if you wish.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete.
Projects
None yet
Development

No branches or pull requests

6 participants