@klausenbusk: Reiterating the mentions to trigger a notification:
@kubernetes/sig-api-machinery-bugs
In response to this:
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.
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
i'd say we fix the comment :)
If not specified, all interfaces will be used (0.0.0.0). (default 0.0.0.0)
Happy to volunteer
@dims Are you saying that's what the comment should be updated to, or that part should be removed?
(This is from me reading through this for the first time, and actually demonstrated by the two cases the OP has posted above)
The --advertise-address
does not, in any case, default to --bind-address
. It also does not default to 0.0.0.0
. In fact, even if you do specify 0.0.0.0
, the code still chooses the default interface. https://github.com/kubernetes/apiserver/blob/master/pkg/server/options/server_run_options.go#L77 -> https://github.com/kubernetes/apimachinery/blob/2f1e02d3e57b8fb5206c5326bcb65217edc63a8e/pkg/util/net/interface.go#L383
I think server_run_options.go
should be updated to set the default even when --advertise-address=""
so that it works like other arguments, like --cloud-provider=""
. (and the reference to inheriting --bind-address
removed, or the code fixed so that it does that as well.) Probably --bind-address=""
should get the same fix.
@colemickens makes sense. thanks for digging in. (my first thought was that if there was a mismatch between the help text and functionality then we could have just fixed up the help text, but your analysis makes more sense!)
@colemickens What should be the default? 0.0.0.0? Or should it retain the current behavior of picking up hosts default interface?
@j0gger: GitHub didn't allow me to assign the following users: j0gger.
Note that only kubernetes members and repo collaborators can be assigned.
In response to this:
/assign
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.
—
/assign
@j0gger I don't know. I don't know if coercing 0.0.0.0
to default interface
was intentional or not. Someone else will have to weigh in.
@smarterclayton @colemickens I'm happy to take this on, but need some direction here. If not you, who can offer some direction here? I am fairly new to Kubernetes.
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale
.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close
.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale
/remove-lifecycle stale
If blank, all interfaces will be used (0.0.0.0 for all IPv4 interfaces and :: for all IPv6 interfaces).
Based on this description, I was expecting --bind-address
to be the way to dual-stack the apiserver.
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale
.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close
.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale
—
Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten
.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close
.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten
Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen
.
Mark the issue as fresh with /remove-lifecycle rotten
.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close
Closed #58686.
@fejta-bot: Closing this issue.
In response to this:
Rotten issues close after 30d of inactivity.
Reopen the issue with/reopen
.
Mark the issue as fresh with/remove-lifecycle rotten
.Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close
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.
—
This issue still exists. If kubeadm is used, there's no way to get a kube-apiserver manifest without an "--advertise-address" argument. If it is set to an empty string in kubeadm.conf via the apiServer/extraArgs, the kube-apiserver maniest will have it set to an empty string also, which will prevent kube-apiserver from starting ...due to the error in the description above.
/reopen
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
@v-ilinski: You can't reopen an issue/PR unless you authored it or you are a collaborator.
In response to this:
This issue still exists. If kubeadm is used, there's no way to get a kube-apiserver manifest without an "--advertise-address" argument. If it is set to an empty string in kubeadm.conf via the apiServer/extraArgs, the kube-apiserver maniest will have it set to an empty string also, which will prevent kube-apiserver from starting ...due to the error in the description above.
/reopen
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.
—
/reopen
Reopened #58686.
@neolit123: Reopened this issue.
In response to this:
/reopen
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.
—
@klausenbusk: This issue is currently awaiting triage.
If a SIG or subproject determines this is a relevant issue, they will accept it by applying the triage/accepted
label and provide further guidance.
The triage/accepted
label can be added by org members by writing /triage accepted
in a comment.
/remove-lifecycle rotten
I suspect the code is treating omitting the argument completely as different than passing it the empty string.
/help
/triage accepted
@fedebongio:
This request has been marked as needing help from a contributor.
Please ensure the request meets the requirements listed here.
If this request no longer meets these requirements, the label can be removed
by commenting with the /remove-help
command.
In response to this:
/help
/triage accepted
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.
—
@v-ilinski I can't seem to reproduce this on my machine with kubeadm
, from a clean install I ran kubeadm init --config config.yaml
my relevant config:
... apiServer: timeoutForControlPlane: 4m0s apiVersion: kubeadm.k8s.io/v1beta2 certificatesDir: /etc/kubernetes/pki clusterName: kubernetes controllerManager: extraArgs: advertiseAddress: "" ... imageRepository: k8s.gcr.io kind: ClusterConfiguration kubernetesVersion: v1.20.1 ...
note I tested this with localAPIEndpoint.advertiseAddress
not set, then again with it set to ""
In either case my kube-apiserver runs successfully.
My setup:
Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.1", GitCommit:"c4d752765b3bbac2237bf87cf0b1c2e307844666", GitTreeState:"clean", BuildDate:"2020-12-18T12:09:25Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.1", GitCommit:"c4d752765b3bbac2237bf87cf0b1c2e307844666", GitTreeState:"clean", BuildDate:"2020-12-18T12:00:47Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}
I could have missed something, can you still reproduce this? If so could you provide the steps?
/assign
@duhruh the extraArgs/advertise-address should be under the apiServer, rather than controllerManager. (note advertise-address instead of advertiseAddress)
... apiServer: timeoutForControlPlane: 4m0s extraArgs: advertise-address: "" ...
Would you be able to share the resulting kube-apiserver.yaml manifest? Mine looks like:
... spec: containers: - command: - kube-apiserver - --advertise-address= ...
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.
This bot triages issues and PRs according to the following rules:
lifecycle/stale
is appliedlifecycle/stale
was applied, lifecycle/rotten
is appliedlifecycle/rotten
was applied, the issue is closedYou can:
/remove-lifecycle stale
/lifecycle rotten
/close
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.
This bot triages issues and PRs according to the following rules:
lifecycle/stale
is appliedlifecycle/stale
was applied, lifecycle/rotten
is appliedlifecycle/rotten
was applied, the issue is closedYou can:
/remove-lifecycle rotten
/close
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle rotten
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.
This bot triages issues and PRs according to the following rules:
lifecycle/stale
is appliedlifecycle/stale
was applied, lifecycle/rotten
is appliedlifecycle/rotten
was applied, the issue is closedYou can:
/reopen
/remove-lifecycle rotten
Please send feedback to sig-contributor-experience at kubernetes/community.
/close
Closed #58686.
@k8s-triage-robot: Closing this issue.
In response to this:
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.
This bot triages issues and PRs according to the following rules:
- After 90d of inactivity,
lifecycle/stale
is applied- After 30d of inactivity since
lifecycle/stale
was applied,lifecycle/rotten
is applied- After 30d of inactivity since
lifecycle/rotten
was applied, the issue is closedYou can:
- Reopen this issue or PR with
/reopen
- Mark this issue or PR as fresh with
/remove-lifecycle rotten
- Offer to help out with Issue Triage
Please send feedback to sig-contributor-experience at kubernetes/community.
/close
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.
—