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

Add periodic check for metric client health #2355

Merged
merged 2 commits into from
Sep 12, 2017

Conversation

floreks
Copy link
Member

@floreks floreks commented Sep 12, 2017

Resolves #2306 and resolves #2251.

Added new flag metric-client-check-period that defines how often health check against configured metric client will be run. By default it is set to 30 seconds.

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Sep 12, 2017
@codecov
Copy link

codecov bot commented Sep 12, 2017

Codecov Report

Merging #2355 into master will decrease coverage by 0.06%.
The diff coverage is 0%.

Impacted file tree graph

@@            Coverage Diff            @@
##           master   #2355      +/-   ##
=========================================
- Coverage   58.97%   58.9%   -0.07%     
=========================================
  Files         594     594              
  Lines       12757   12767      +10     
=========================================
- Hits         7523    7520       -3     
- Misses       5041    5055      +14     
+ Partials      193     192       -1
Impacted Files Coverage Δ
.../backend/integration/metric/heapster/restclient.go 0% <ø> (ø) ⬆️
src/app/backend/resource/dataselect/dataselect.go 22.58% <ø> (ø) ⬆️
src/app/backend/integration/metric/manager.go 56.36% <0%> (-25.22%) ⬇️
src/app/backend/sync/secret.go 69.23% <0%> (-2.57%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4b29ee1...db6fa79. Read the comment docs.

@maciaszczykm maciaszczykm merged commit 1ec4eac into kubernetes:master Sep 12, 2017
@cheld
Copy link
Contributor

cheld commented Sep 13, 2017

@floreks BTW: there was request from core to replace flags with config map

@floreks
Copy link
Member Author

floreks commented Sep 14, 2017

We can not replace them as Dashboard has to work also outside of the cluster. We could only add support for ConfigMap.

@cheld
Copy link
Contributor

cheld commented Sep 20, 2017

@floreks

The main complain about params is that:

  • services must be restarted on change
  • not versioned
  • not managed by kubernetes

I guess it could be as a configuration file outside of kubernetes and a config map inside. If you interessted I might be able to dig out some pointers (issues)

@cheld
Copy link
Contributor

cheld commented Sep 20, 2017

@floreks Another important reason was that add-on-manager cannot hanlde params properly - just config maps

@floreks floreks deleted the improve-heapster branch September 20, 2017 07:30
@floreks
Copy link
Member Author

floreks commented Sep 20, 2017

Updating params stored in ConfigMap and updating Dashboard is basically the same (requires similar steps).

With ConfigMap:

  1. Update ConfigMap YAML/Use kubectl edit/Use edit within Dashboard
  2. Restart Dashboard to pick up new config

Updating Dashboard:

  1. Update Dashboard YAML/Use kubectl edit/Use edit within Dashboard
  2. Restart Dashboard/Use kubectl apply to reconfigure Dashboard (this will automatically restart it)

Using kubectl apply actually supports simple versioning because there is option to see last used configuration.

To support this k8s "native" way we'd need to completely redesign the way we read and handle params. Currently they are read only once during Dashboard start and can not be updated without restarting Dashboard. IMO that's ok since they are not changed often. Once you set it and start Dashboard it will run without changes for a long time.

PS. Personally I have never seen any complaints about how we handle params support in Dashboard.

@cheld
Copy link
Contributor

cheld commented Sep 20, 2017

@floreks
The discussion was in core directed at core components like master, controller, etc...

Eventually, we might want t consider and align us with core concepts. But, I agree currently not so relavant for Dashboard.

BTW: I assume it would be possible to avoid the restart with some effort using config map or config file

@Trackhe
Copy link

Trackhe commented Jan 10, 2020

@floreks my dashboard rc1 does not show display metrics. Kubernetes runs on Raspberry pi 4 arm with metrix arm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improve heapster integration Add option to enable/disable heapster integration from dashboard
5 participants