Commit Graph

55 Commits

Author SHA1 Message Date
Matthias Radestock
4dae7edc9c synthesise k8s service network from service IPs
This prevents cluttering host.LocalNetworks with lots of /32
addresses. These were unsightly and rather distracting in the UI. They
also bloated the report and slowed down server-side rendering.

Fixes #2748.
2017-08-01 12:17:50 +01:00
Alfonso Acosta
3e4b3cbbf5 Add pod restart count to details pane 2017-07-27 13:15:53 +00:00
Mike Lang
481258d8fc kubernetes probe: Collect info on cronjobs and statefulsets
Most of the time you only care about cronjobs, not the jobs that make them up,
so we only collect full cronjob data. We associate pods of jobs with the parent cronjob
2017-07-18 11:35:50 -07:00
Bryan Boreham
3e9eb83d12 Use Kubernetes node name to filter pods if possible 2017-07-13 16:24:17 +00:00
Matthias Radestock
f0ae2bd98c refactor: use inline StringSet constructor 2017-07-04 06:29:19 +01:00
Alfonso Acosta
6c03540b1f Merge pull request #2659 from weaveworks/use-new-k8s-go-client
Use new k8s go client
2017-07-03 23:23:41 +02:00
Alfonso Acosta
8bbbf25809 Migrate probe to new new kubernetes go-client
This namely involved importing new libraries and using the new Clientset.

Changes worth mentioning:

* The new kubernetes library doesn't provide StoreToLister wrappers, so now I am going the casting directly.
* Deleting the pods and getting their logs is done in a cleaner way (using the
  Clientset instead of the lower-level RESTclient).
2017-07-03 20:20:27 +00:00
Matthias Radestock
9dc50b5202 refactor: hide "empty set" constants
They are an implementation detail.
2017-07-03 01:26:22 +01:00
Mike Lang
889972c48a Display node type on k8s controller nodes
Since there are multiple types in the same topology, displaying the type is important.
We do this in multiple places:

* Add node type to minor label

* Add node type as metadata and include in metadata template.
  Even though this will always be the same for every node of that topology, this was
  the easiest way to add it so it displays in the table view.
  Note we can't control ordering of columns in table view, it's always alphabetical.
2017-06-27 10:19:04 -07:00
Alfonso Acosta
43c5ed2aaf Merge pull request #2554 from weaveworks/never-localhost
Use 127.0.0.1 instead of localhost, more
2017-06-19 22:40:37 +02:00
Matthias Radestock
d0b40ee4b9 correct type for "Observed Gen."
It's a number. This enables numeric sorting of Observed Gen in the
table mode of the Deployment and Replicaset views.
2017-06-08 04:27:10 +01:00
Bryan Boreham
1898b67e1f Use 127.0.0.1 instead of localhost in case that name resolves to something else 2017-06-05 10:31:27 +00:00
Mike Lang
c0751cd4e2 probe/kubernetes: Propagate errors in getting label selectors 2017-05-19 15:06:53 -07:00
Mike Lang
d4a5360d4c k8s probe: Collect info on daemonsets for new DaemonSet topology 2017-05-19 15:06:51 -07:00
Alfonso Acosta
c1fa5bb665 Fix kubelet failure fallback and make port configurable 2017-03-07 13:29:02 +00:00
Alfonso Acosta
87f1c0f0f5 Merge pull request #2132 from weaveworks/2049-get-local-pods-from-kubelet
Obtain local pods from kubelet
2017-01-19 12:57:54 +01:00
Alfonso Acosta
c6f7bdc78e Obtain local pods from kubelet 2017-01-16 18:50:03 +00:00
Filip Barl
e475a09ee6 Rendering sortable generic tables in the UI
Rendering generic table columns

Made Type a required attribute for TableTemplate

Made generic table sortable on the UI
2017-01-16 12:22:10 +01:00
Jonathan Lange
e8085b01b6 Use 'common' library 2016-12-07 11:22:38 +00:00
Filip Barl
d15e884cb1 Table-mode: sort ips numerically (#2007)
Fix #1746 - sort IPs numerically in the table mode
2016-11-22 11:05:59 +01:00
Jordan Pellizzari
26a1d20f0d Added formatted date strings to table and detail metadata values 2016-10-24 09:22:59 -07:00
Alfonso Acosta
8a7812eab9 Only consider pod parents living in the same namespace 2016-08-25 16:05:01 +00:00
Krzesimir Nowak
41193b428e Make control handlers registry an object and extend its functionality
It is not a singleton anymore. Instead it is an object with a registry
backend. The default registry backend is provided, which is equivalent
to what used to be before. Custom backend can be provided for testing
purposes.

The registry also supports batch operations to remove and add handlers
as an atomic step.
2016-08-12 17:03:42 +02:00
Alfonso Acosta
166bdf13f3 Remove redundant kubernetes ID 2016-08-10 16:01:28 +00:00
Alfonso Acosta
b64686ffc3 Identify kubernetes pause containers more broadly 2016-08-08 14:16:07 +00:00
Paul Bellamy
85aee27ef6 If k8s objects only have one container, show that container's metrics on them (#1473) 2016-06-04 08:03:51 +01:00
Alfonso Acosta
1e63d7a23d Add local networks for each k8s service (#1490) 2016-05-12 17:05:22 +01:00
Paul Bellamy
291c9afe58 Add scale up/down controls on deployments, replica sets, and replication controllers (#1451) 2016-05-10 12:43:52 +02:00
Paul Bellamy
541699d193 Review Feedback 2016-05-09 09:19:11 +01:00
Paul Bellamy
16a5c738d9 Deployment and ReplicaSet views for k8s 2016-05-09 09:03:57 +01:00
Paul Bellamy
0178babb0e Index services by UID, and refactor out common k8s metadata handling 2016-05-09 09:03:56 +01:00
Alfonso Acosta
f34fc2a4df Merge pull request #1410 from weaveworks/1408-dnat-shortlived-connections
Correctly attribute DNAT-ed short-lived connections
2016-05-05 19:37:35 +01:00
Tom Wilkie
55069609e1 Show Pod IP and # container in the children table in details panel. 2016-05-05 13:33:49 +01:00
Tom Wilkie
91339aeae0 Detect pause containers correctly 2016-05-04 17:17:42 +01:00
Tom Wilkie
1c5f0ac041 Don't attribute conntracked connections to k8s pause containers. 2016-05-03 12:04:08 +01:00
Tom Wilkie
8395c3ca4b Index Pods by UID and join with containers based on this. 2016-05-03 11:51:51 +01:00
Paul Bellamy
a81b116672 Merge pull request #1409 from weaveworks/1396-pod-ip
Show Pod IP in details panel.
2016-04-29 14:49:39 +01:00
Tom Wilkie
e917dd61a8 Show Pod IP in details panel. 2016-04-29 13:34:31 +01:00
Tom Wilkie
cb52acbc46 Add pod delete control
- Push shortcut reports when pods are created/deleted
- Buffer upto 2 reports instead of dropping them
2016-04-28 14:48:05 +01:00
Paul Bellamy
d559a6c160 Show the k8s load balancer IP if it is set 2016-04-25 14:45:53 +01:00
Tom Wilkie
8b06f6c0d8 Add rank field to controls. 2016-04-21 18:05:48 +01:00
Tom Wilkie
99204e1ff7 Add k8s pod log control (#1298)
* Remove individually vendored k8s.io/kubernetes/pkg/<foo>

* Vendor the whole of vendor/k8s.io/kubernetes/pkg

* Add k8s pod log control

* Tag pods with host id and include them in the host topology as children.

* adding a basic test for kubernetes.Reporter.GetLogs
2016-04-21 13:48:50 +01:00
Tom Wilkie
9eda27822c Show k8s labels and container env vars in the details panel. (#1342)
* Show k8s labels and container env vars in the details panel.

* Add show more bar to the env vars and labels

* React key was in the wrong place; empty tables render section labels.
2016-04-20 08:18:03 +01:00
Paul Bellamy
1edeb8d190 Removing report.Node.WithID (#1315)
* removing usage of report.Node.WithID

* report.Topology.AddNode can use the node's ID field
2016-04-19 16:48:03 +01:00
Tom Wilkie
baee925db3 Show k8s service IP in details panel (#1330)
* Show k8s service IP in details panel

* Review feedback
2016-04-19 13:18:46 +01:00
Tom Wilkie
3fcd74f8d1 Show k8s pod status 2016-04-13 11:56:26 +01:00
Paul Bellamy
7632e0b3c5 Adding support for plugins, with basic example of iowait, and ebpf
Squash of:
* Include plugins in the report
* show plugin list in the UI
* moving metric and metadata templates into the probe reports
* update js for prime -> priority
* added retry to plugin handshake
* added iowait plugin
* review feedback
* plugin documentation
2016-04-12 17:22:14 +01:00
Alfonso Acosta
7f384032fd Review feedback 2016-02-18 16:00:41 +00:00
Alfonso Acosta
bf3ecd7f03 k8s: Add container Ids to container report 2016-02-18 14:52:10 +00:00
Paul Bellamy
ef4e5bdc47 Compile k8s selectors once (not for each pod) 2016-02-04 11:49:04 +00:00