-
Notifications
You must be signed in to change notification settings - Fork 41.8k
Use KubeletPort reported in NodeStatus instead of cluster-wide master config #12919
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
Conversation
|
GCE e2e build/test failed for commit dc13a043f66d5a880cf23e415861b61bf569c56d. |
|
GCE e2e build/test failed for commit 9ec22afab43f3fc712419f132e7c35e5f1685d68. |
pkg/api/types.go
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What still uses the read-only port? When I created it (for heapster), @vishh told me that heapster would move to use the secured port and that we could quickly deprecated the RO port. I know that monit was using it as well -- does supervisord need it or can it make an https connection?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(If it wasn't clear, I'd really hate for this to become part of the stable v1 API so that we can't remove it)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is the var named Porty instead of Port?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see the ReadOnlyPort used anywhere else in this CL (only the KubeletPort). Nor do I see the CadvisorProxy port used. Why are they being added to the node info?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Porty is a typo. The idea behind this change is to make Node object everything's that needed to interact with 'things' (currently Kubelet/CAdvisor, I may add KubeProxy there as well) running on the Node. Adding RO and CAdvisor was pretty straightforward, so I did this. KubeProxy is a bit more tricky, so I left it for later. Those informations are generally for external consumption.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Opened #12968
|
Fixes #9325 |
3c18a20 to
0e2be56
Compare
|
GCE e2e build/test failed for commit 3c18a206668edccfab43f10caf09de72c65c6a1c. |
|
port-forward failure seems related. |
|
GCE e2e build/test failed for commit 0e2be56aebf5b0291b6b256c128575581450f724. |
|
GCE e2e build/test failed for commit 559c4bbf018e7922ba71db854bd8fbb9241ccf24. |
|
GCE e2e build/test failed for commit fe2d46add69aaa80d09bb0af3625032bfdf16042. |
|
GCE e2e build/test failed for commit f7b04a9a9c1da7b284927518371b96176256ceea. |
api/swagger-spec/v1.json
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is stale.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, but this PR is built on top of #12655, so you needn't worry about the first commit.
|
I run an upgrade test:
|
985a6bd to
059ca2d
Compare
|
GCE e2e test build/test passed for commit f3feff51384e573c03e07a5aa5b5ab35a5d11ba1. |
|
GCE e2e test build/test passed for commit 26b2f40331f480f8880b3bae146852e6a36e2061. |
|
GCE e2e test build/test passed for commit 90fb7ed433efa78aab45102d363aaecbe27cb3e1. |
|
GCE e2e test build/test passed for commit 4e0dea91bbea692e5f7b37c410e122e2b34462db. |
|
GCE e2e test build/test passed for commit 60404a5. |
|
OK, looks like you got rid of the imports I didn't like, so LGTM |
|
Continuous integration appears to have missed, closing and re-opening to trigger it |
|
GCE e2e test build/test passed for commit 60404a5. |
|
@k8s-bot test this [submit-queue is verifying that this PR is safe to merge] |
|
GCE e2e build/test failed for commit 60404a5. |
|
Jenkins failure is flake: @k8s-bot test this please |
|
GCE e2e test build/test passed for commit 60404a5. |
|
@k8s-bot test this [submit-queue is verifying that this PR is safe to merge] |
|
GCE e2e test build/test passed for commit 60404a5. |
|
Automatic merge from submit-queue |
Auto commit by PR queue bot
|
I suspect this may have broken the build: I'm going to revert it. |
|
Verified that this broke the build. PR has been reverted.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry for commenting late, only saw this PR when it merged... I think the ConnectionInfoGetter interface that is already responsible for returning the kubelet port should be updated to provide this info...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The problem is that we actually need to read data from etcd to get the Port for a given Kubelet, as it's no longer 'static' (in a sense that each Kubelet may be able to choose it's own port to run on), while we have a single 'KubeletClient' in master. We'll need to remove Port from it eventually, but it needs to stay there for backward compatibility.
Fixes to #12912. Depends on #12655, currently includes #12913
cc @dchen1107 @yujuhong @wojtek-t @fgrzadkowski @bgrant0607 @davidopp