mirror of
https://github.com/weaveworks/scope.git
synced 2026-03-02 17:50:39 +00:00
Add report topologies for Stateful Sets, Cron Jobs
This commit is contained in:
@@ -25,6 +25,8 @@ var (
|
||||
report.Pod: kubernetesParentLabel,
|
||||
report.Deployment: kubernetesParentLabel,
|
||||
report.DaemonSet: kubernetesParentLabel,
|
||||
report.StatefulSet: kubernetesParentLabel,
|
||||
report.CronJob: kubernetesParentLabel,
|
||||
report.Service: kubernetesParentLabel,
|
||||
report.ECSTask: latestLookup(awsecs.TaskFamily),
|
||||
report.ECSService: ecsServiceParentLabel,
|
||||
|
||||
@@ -68,6 +68,8 @@ var renderers = map[string]func(NodeSummary, report.Node) (NodeSummary, bool){
|
||||
report.Service: podGroupNodeSummary,
|
||||
report.Deployment: podGroupNodeSummary,
|
||||
report.DaemonSet: podGroupNodeSummary,
|
||||
report.StatefulSet: podGroupNodeSummary,
|
||||
report.CronJob: podGroupNodeSummary,
|
||||
report.ECSTask: ecsTaskNodeSummary,
|
||||
report.ECSService: ecsServiceNodeSummary,
|
||||
report.SwarmService: swarmServiceNodeSummary,
|
||||
@@ -90,6 +92,8 @@ var primaryAPITopology = map[string]string{
|
||||
report.Pod: "pods",
|
||||
report.Deployment: "kube-controllers",
|
||||
report.DaemonSet: "kube-controllers",
|
||||
report.StatefulSet: "kube-controllers",
|
||||
report.CronJob: "kube-controllers",
|
||||
report.Service: "services",
|
||||
report.ECSTask: "ecs-tasks",
|
||||
report.ECSService: "ecs-services",
|
||||
@@ -256,8 +260,10 @@ func podNodeSummary(base NodeSummary, n report.Node) (NodeSummary, bool) {
|
||||
}
|
||||
|
||||
var podGroupNodeTypeName = map[string]string{
|
||||
report.Deployment: "Deployment",
|
||||
report.DaemonSet: "Daemon Set",
|
||||
report.Deployment: "Deployment",
|
||||
report.DaemonSet: "Daemon Set",
|
||||
report.StatefulSet: "Stateful Set",
|
||||
report.CronJob: "Cron Job",
|
||||
}
|
||||
|
||||
func podGroupNodeSummary(base NodeSummary, n report.Node) (NodeSummary, bool) {
|
||||
|
||||
@@ -31,6 +31,8 @@ var (
|
||||
SelectService = TopologySelector(report.Service)
|
||||
SelectDeployment = TopologySelector(report.Deployment)
|
||||
SelectDaemonSet = TopologySelector(report.DaemonSet)
|
||||
SelectStatefulSet = TopologySelector(report.StatefulSet)
|
||||
SelectCronJob = TopologySelector(report.CronJob)
|
||||
SelectECSTask = TopologySelector(report.ECSTask)
|
||||
SelectECSService = TopologySelector(report.ECSService)
|
||||
SelectSwarmService = TopologySelector(report.SwarmService)
|
||||
|
||||
12
report/id.go
12
report/id.go
@@ -131,6 +131,18 @@ var (
|
||||
// ParseDaemonSetNodeID parses a daemon set node ID
|
||||
ParseDaemonSetNodeID = parseSingleComponentID("daemonset")
|
||||
|
||||
// MakeStatefulSetNodeID produces a replica set node ID from its composite parts.
|
||||
MakeStatefulSetNodeID = makeSingleComponentID("statefulset")
|
||||
|
||||
// ParseStatefulSetNodeID parses a daemon set node ID
|
||||
ParseStatefulSetNodeID = parseSingleComponentID("statefulset")
|
||||
|
||||
// MakeCronJobNodeID produces a replica set node ID from its composite parts.
|
||||
MakeCronJobNodeID = makeSingleComponentID("cronjob")
|
||||
|
||||
// ParseCronJobNodeID parses a daemon set node ID
|
||||
ParseCronJobNodeID = parseSingleComponentID("cronjob")
|
||||
|
||||
// MakeECSTaskNodeID produces a replica set node ID from its composite parts.
|
||||
MakeECSTaskNodeID = makeSingleComponentID("ecs_task")
|
||||
|
||||
|
||||
@@ -20,6 +20,8 @@ const (
|
||||
Deployment = "deployment"
|
||||
ReplicaSet = "replica_set"
|
||||
DaemonSet = "daemon_set"
|
||||
StatefulSet = "stateful_set"
|
||||
CronJob = "cron_job"
|
||||
ContainerImage = "container_image"
|
||||
Host = "host"
|
||||
Overlay = "overlay"
|
||||
@@ -83,6 +85,16 @@ type Report struct {
|
||||
// present.
|
||||
DaemonSet Topology
|
||||
|
||||
// StatefulSet nodes represent all Kubernetes Stateful Sets running on hosts running probes.
|
||||
// Metadata includes things like Stateful Set id, name, etc. Edges are not
|
||||
// present.
|
||||
StatefulSet Topology
|
||||
|
||||
// CronJob nodes represent all Kubernetes Cron Jobs running on hosts running probes.
|
||||
// Metadata includes things like Cron Job id, name, etc. Edges are not
|
||||
// present.
|
||||
CronJob Topology
|
||||
|
||||
// ContainerImages nodes represent all Docker containers images on
|
||||
// hosts running probes. Metadata includes things like image id, name etc.
|
||||
// Edges are not present.
|
||||
@@ -177,6 +189,14 @@ func MakeReport() Report {
|
||||
WithShape(Pentagon).
|
||||
WithLabel("daemonset", "daemonsets"),
|
||||
|
||||
StatefulSet: MakeTopology().
|
||||
WithShape(Triangle).
|
||||
WithLabel("stateful set", "stateful sets"),
|
||||
|
||||
CronJob: MakeTopology().
|
||||
WithShape(Triangle).
|
||||
WithLabel("cron job", "cron jobs"),
|
||||
|
||||
Overlay: MakeTopology().
|
||||
WithShape(Circle).
|
||||
WithLabel("peer", "peers"),
|
||||
@@ -212,6 +232,8 @@ func (r *Report) TopologyMap() map[string]*Topology {
|
||||
Deployment: &r.Deployment,
|
||||
ReplicaSet: &r.ReplicaSet,
|
||||
DaemonSet: &r.DaemonSet,
|
||||
StatefulSet: &r.StatefulSet,
|
||||
CronJob: &r.CronJob,
|
||||
Host: &r.Host,
|
||||
Overlay: &r.Overlay,
|
||||
ECSTask: &r.ECSTask,
|
||||
@@ -275,6 +297,8 @@ func (r *Report) WalkPairedTopologies(o *Report, f func(*Topology, *Topology)) {
|
||||
f(&r.Deployment, &o.Deployment)
|
||||
f(&r.ReplicaSet, &o.ReplicaSet)
|
||||
f(&r.DaemonSet, &o.DaemonSet)
|
||||
f(&r.StatefulSet, &o.StatefulSet)
|
||||
f(&r.CronJob, &o.CronJob)
|
||||
f(&r.Host, &o.Host)
|
||||
f(&r.Overlay, &o.Overlay)
|
||||
f(&r.ECSTask, &o.ECSTask)
|
||||
|
||||
Reference in New Issue
Block a user