mirror of
https://github.com/weaveworks/scope.git
synced 2026-07-16 03:49:52 +00:00
Remove deployment and daemonset views, change combined to controllers and remove bare pods and replica sets
Since we still need to map through replica sets to find matching deployments, we simply filter them out as a post-step.
This commit is contained in:
@@ -29,9 +29,7 @@ const (
|
||||
containersByImageID = "containers-by-image"
|
||||
podsID = "pods"
|
||||
replicaSetsID = "replica-sets"
|
||||
deploymentsID = "deployments"
|
||||
daemonsetsID = "daemonsets"
|
||||
kubeCombinedID = "kube-combined"
|
||||
kubeControllersID = "kube-controllers"
|
||||
servicesID = "services"
|
||||
hostsID = "hosts"
|
||||
weaveID = "weave"
|
||||
@@ -121,7 +119,7 @@ func updateKubeFilters(rpt report.Report, topologies []APITopologyDesc) []APITop
|
||||
sort.Strings(ns)
|
||||
topologies = append([]APITopologyDesc{}, topologies...) // Make a copy so we can make changes safely
|
||||
for i, t := range topologies {
|
||||
if t.id == containersID || t.id == podsID || t.id == servicesID || t.id == deploymentsID || t.id == replicaSetsID || t.id == daemonsetsID || t.id == kubeCombinedID {
|
||||
if t.id == containersID || t.id == podsID || t.id == servicesID || t.id == replicaSetsID || t.id == kubeControllersID {
|
||||
topologies[i] = mergeTopologyFilters(t, []APITopologyOptionGroup{
|
||||
namespaceFilters(ns, "All Namespaces"),
|
||||
})
|
||||
@@ -197,7 +195,7 @@ func MakeRegistry() *Registry {
|
||||
},
|
||||
}
|
||||
|
||||
k8sCombinedTypeFilter := APITopologyOptionGroup{
|
||||
k8sControllersTypeFilter := APITopologyOptionGroup{
|
||||
ID: "grouptype",
|
||||
Default: "",
|
||||
SelectType: "union",
|
||||
@@ -205,8 +203,6 @@ func MakeRegistry() *Registry {
|
||||
Options: []APITopologyOption{
|
||||
{Value: report.Deployment, Label: "Deployments", filter: render.IsTopology(report.Deployment), filterPseudo: false},
|
||||
{Value: report.DaemonSet, Label: "Daemonsets", filter: render.IsTopology(report.DaemonSet), filterPseudo: false},
|
||||
{Value: report.ReplicaSet, Label: "Replica sets", filter: render.IsTopology(report.ReplicaSet), filterPseudo: false},
|
||||
{Value: report.Pod, Label: "Pods", filter: render.IsTopology(report.Pod), filterPseudo: false},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -267,27 +263,11 @@ func MakeRegistry() *Registry {
|
||||
HideIfEmpty: true,
|
||||
},
|
||||
APITopologyDesc{
|
||||
id: deploymentsID,
|
||||
id: kubeControllersID,
|
||||
parent: podsID,
|
||||
renderer: render.DeploymentRenderer,
|
||||
Name: "deployments",
|
||||
Options: []APITopologyOptionGroup{unmanagedFilter},
|
||||
HideIfEmpty: true,
|
||||
},
|
||||
APITopologyDesc{
|
||||
id: daemonsetsID,
|
||||
parent: podsID,
|
||||
renderer: render.DaemonSetRenderer,
|
||||
Name: "daemonsets",
|
||||
Options: []APITopologyOptionGroup{unmanagedFilter},
|
||||
HideIfEmpty: true,
|
||||
},
|
||||
APITopologyDesc{
|
||||
id: kubeCombinedID,
|
||||
parent: podsID,
|
||||
renderer: render.KubeCombinedRenderer,
|
||||
Name: "combined",
|
||||
Options: []APITopologyOptionGroup{unmanagedFilter, k8sCombinedTypeFilter},
|
||||
renderer: render.KubeControllerRenderer,
|
||||
Name: "controllers",
|
||||
Options: []APITopologyOptionGroup{unmanagedFilter, k8sControllersTypeFilter},
|
||||
HideIfEmpty: true,
|
||||
},
|
||||
APITopologyDesc{
|
||||
|
||||
@@ -90,8 +90,8 @@ var primaryAPITopology = map[string]string{
|
||||
report.ContainerImage: "containers-by-image",
|
||||
report.Pod: "pods",
|
||||
report.ReplicaSet: "replica-sets",
|
||||
report.Deployment: "deployments",
|
||||
report.DaemonSet: "daemonsets",
|
||||
report.Deployment: "kube-controllers",
|
||||
report.DaemonSet: "kube-controllers",
|
||||
report.Service: "services",
|
||||
report.ECSTask: "ecs-tasks",
|
||||
report.ECSService: "ecs-services",
|
||||
@@ -260,7 +260,6 @@ func podNodeSummary(base NodeSummary, n report.Node) (NodeSummary, bool) {
|
||||
var podGroupNodeTypeName = map[string]string{
|
||||
report.Deployment: "Deployment",
|
||||
report.DaemonSet: "Daemon Set",
|
||||
report.ReplicaSet: "Replica Set",
|
||||
}
|
||||
|
||||
func podGroupNodeSummary(base NodeSummary, n report.Node) (NodeSummary, bool) {
|
||||
|
||||
@@ -78,21 +78,6 @@ var PodServiceRenderer = ConditionalRenderer(renderKubernetesTopologies,
|
||||
),
|
||||
)
|
||||
|
||||
// DeploymentRenderer is a Renderer which produces a renderable kubernetes deployments
|
||||
// graph by merging the pods graph and the deployments topology.
|
||||
var DeploymentRenderer = ConditionalRenderer(renderKubernetesTopologies,
|
||||
MakeMap(
|
||||
PropagateSingleMetrics(report.ReplicaSet),
|
||||
MakeReduce(
|
||||
MakeMap(
|
||||
Map2Parent([]string{report.Deployment}, NoParentsDrop, "", mapPodCounts),
|
||||
ReplicaSetRenderer,
|
||||
),
|
||||
SelectDeployment,
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
// ReplicaSetRenderer is a Renderer which produces a renderable kubernetes replica sets
|
||||
// graph by merging the pods graph and the replica sets topology.
|
||||
var ReplicaSetRenderer = ConditionalRenderer(renderKubernetesTopologies,
|
||||
@@ -108,41 +93,29 @@ var ReplicaSetRenderer = ConditionalRenderer(renderKubernetesTopologies,
|
||||
),
|
||||
)
|
||||
|
||||
// DaemonSetRenderer is a Renderer which produces a renderable kubernetes daemonsets
|
||||
// graph by merging the pods graph and the daemonsets topology.
|
||||
var DaemonSetRenderer = ConditionalRenderer(renderKubernetesTopologies,
|
||||
MakeMap(
|
||||
PropagateSingleMetrics(report.Pod),
|
||||
MakeReduce(
|
||||
MakeMap(
|
||||
Map2Parent([]string{report.DaemonSet}, NoParentsDrop, "", nil),
|
||||
PodRenderer,
|
||||
),
|
||||
SelectDaemonSet,
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
// KubeCombinedRenderer is a Renderer which combines the 'top abstraction' of all pods.
|
||||
// We first map pods to all possible things they can map to, then we map again to
|
||||
// deployments since some things (replica sets) can map to those (the rest are passed through
|
||||
// unchanged).
|
||||
// KubeControllerRenderer is a Renderer which combines all the 'controller' topologies.
|
||||
// We first map pods to daemonsets and replica sets, then to deployments since replica sets
|
||||
// can map to those (the rest are passed through unchanged).
|
||||
// Pods with no controller are mapped to 'Unmanaged'
|
||||
// We can't simply combine the rendered graphs of the high level objects as they would never
|
||||
// have connections to each other.
|
||||
var KubeCombinedRenderer = ConditionalRenderer(renderKubernetesTopologies,
|
||||
var KubeControllerRenderer = ConditionalRenderer(renderKubernetesTopologies,
|
||||
MakeReduce(
|
||||
MakeMap(
|
||||
Map2Parent([]string{report.Deployment}, NoParentsKeep, "", mapPodCounts),
|
||||
MakeReduce(
|
||||
MakeMap(
|
||||
Map2Parent([]string{
|
||||
report.ReplicaSet,
|
||||
report.DaemonSet,
|
||||
}, NoParentsKeep, "", nil),
|
||||
PodRenderer,
|
||||
MakeFilter(
|
||||
Complement(IsTopology(report.ReplicaSet)),
|
||||
MakeMap(
|
||||
Map2Parent([]string{report.Deployment}, NoParentsKeep, "", mapPodCounts),
|
||||
MakeReduce(
|
||||
MakeMap(
|
||||
Map2Parent([]string{
|
||||
report.ReplicaSet,
|
||||
report.DaemonSet,
|
||||
}, NoParentsPseudo, UnmanagedID, nil),
|
||||
PodRenderer,
|
||||
),
|
||||
SelectReplicaSet,
|
||||
SelectDaemonSet,
|
||||
),
|
||||
SelectReplicaSet,
|
||||
SelectDaemonSet,
|
||||
),
|
||||
),
|
||||
SelectDeployment,
|
||||
|
||||
Reference in New Issue
Block a user