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

Use Heapster as an in-built monitoring solution for Kubernetes in GCE. #2208

Merged
merged 3 commits into from
Nov 7, 2014
Merged

Conversation

vishh
Copy link
Contributor

@vishh vishh commented Nov 6, 2014

Users will have an option to enable it when they setup their cluster (kube-up).

cc @thockin @vmarmol @rjnagal


Heapster enables monitoring of Kubernetes Clusters using [cAdvisor](https://github.com/google/cadvisor). It currently works only on GCE.

#####Run Heapster in a Kubernetes cluster with an Influxdb backend and [Grafana](http://grafana.org/docs/features/influxdb)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmmm I'm torn. I don't think we should include these instructions here (they are in the heapster repo and we can point people there). Maybe just have the ones for how to access heapster? Here we should probably put the instructions of how to make kube-up enable heapster.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought users can choose to try it outside of kube-up too. I can just place a pointer to the heapster repo. Does that sound reasonable?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds perfect

@vmarmol
Copy link
Contributor

vmarmol commented Nov 6, 2014

LGTM

"containers": [{
"name": "influxdb",
"image": "kubernetes/heapster_influxdb",
"ports": [{"containerPort": 8083, "hostPort": 8083},
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this really need hostPort?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The backend DB (InfluxDB) has its UI available at this port.

@dchen1107
Copy link
Member

Are we sure we want to enable this by default? This means even e2e test will start Heapster service, which might potentially slow down the core service / cluster for testing. How about having a flag to enable / disable this?

"apiVersion": "v1beta1",
"port": 8085,
"containerPort": 8086,
"selector": { "name": "influxdb" }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems overly generic.

"provider": "kubernetes-default",
"component": "influxdb"

?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added the fields you mentioned. My Kube-fu is limited as of now.

Users will have an option to enable it when they setup their cluster (kube-up).
…sable it

for tests.
Updated heapster readme.
@vishh
Copy link
Contributor Author

vishh commented Nov 7, 2014

@lavalamp: PTAL. I tested and it works! It takes more than 10 minutes for the dashboard to be online. But I assume docker pull slowness is being handled separately.
@thockin: Ping.

@vishh
Copy link
Contributor Author

vishh commented Nov 7, 2014

@dchen1107: As per your suggestion, I have added a config option for monitoring and disabled it for tests.

@lavalamp
Copy link
Member

lavalamp commented Nov 7, 2014

LGTM.

@vishh any thoughts about making an e2e test for this?

lavalamp added a commit that referenced this pull request Nov 7, 2014
Use Heapster as an in-built monitoring solution for Kubernetes in GCE.
@lavalamp lavalamp merged commit ec246ad into kubernetes:master Nov 7, 2014
@lavalamp
Copy link
Member

lavalamp commented Nov 7, 2014

Somehow I think this broke our e2e test?

The user name and password to use is located in ~/.kubernetes_auth.

Kubelet is successfully installed on e2e-test-jenkins-minion-1
Kubelet is successfully installed on e2e-test-jenkins-minion-2
Cluster validation succeeded
Error: The resource 'projects/google.com:brendan/global/firewalls/monitoring-heapster' was not found
+------+---------+
| name | network |
+------+---------+
INFO: Waiting for insert of firewall monitoring-heapster. Sleeping for 3s.
INFO: Waiting for insert of firewall monitoring-heapster. Sleeping for 3s.

Table of resources:

+---------------------+---------+
| name                | network |
+---------------------+---------+
| monitoring-heapster | default |
+---------------------+---------+

Table of operations:

+---------------------------------------------------------+--------+-------------------------------+----------------+
| name                                                    | status | insert-time                   | operation-type |
+---------------------------------------------------------+--------+-------------------------------+----------------+
| operation-1415394081083-5074b1d6b8e78-ca7381a8-0f712326 | DONE   | 2014-11-07T13:01:21.236-08:00 | insert         |
+---------------------------------------------------------+--------+-------------------------------+----------------+
/var/lib/jenkins/jobs/kubernetes/workspace/cluster/../cluster/gce/util.sh: line 589: kubectl.sh: command not found
Failed to Setup Monitoring
INFO: Waiting for delete of firewall monitoring-heapster. Sleeping for 3s.
INFO: Waiting for delete of firewall monitoring-heapster. Sleeping for 3s.

@vishh
Copy link
Contributor Author

vishh commented Nov 7, 2014

Posted #2240 to fix that.

On Fri, Nov 7, 2014 at 1:26 PM, Daniel Smith notifications@github.com
wrote:

Somehow I think this broke our e2e test?

The user name and password to use is located in ~/.kubernetes_auth.

Kubelet is successfully installed on e2e-test-jenkins-minion-1
Kubelet is successfully installed on e2e-test-jenkins-minion-2
Cluster validation succeeded
Error: The resource 'projects/google.com:brendan/global/firewalls/monitoring-heapster' was not found
+------+---------+
| name | network |
+------+---------+
INFO: Waiting for insert of firewall monitoring-heapster. Sleeping for 3s.
INFO: Waiting for insert of firewall monitoring-heapster. Sleeping for 3s.

Table of resources:

+---------------------+---------+
| name | network |
+---------------------+---------+
| monitoring-heapster | default |
+---------------------+---------+

Table of operations:

+---------------------------------------------------------+--------+-------------------------------+----------------+
| name | status | insert-time | operation-type |
+---------------------------------------------------------+--------+-------------------------------+----------------+
| operation-1415394081083-5074b1d6b8e78-ca7381a8-0f712326 | DONE | 2014-11-07T13:01:21.236-08:00 | insert |
+---------------------------------------------------------+--------+-------------------------------+----------------+
/var/lib/jenkins/jobs/kubernetes/workspace/cluster/../cluster/gce/util.sh: line 589: kubectl.sh: command not found
Failed to Setup Monitoring
INFO: Waiting for delete of firewall monitoring-heapster. Sleeping for 3s.
INFO: Waiting for delete of firewall monitoring-heapster. Sleeping for 3s.


Reply to this email directly or view it on GitHub
#2208 (comment)
.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants