コード例 #1
0
ファイル: linker.py プロジェクト: openrca/orca
 def get(cls, graph):
     return cls(graph=graph,
                source_spec=utils.NodeSpec(origin='kubernetes',
                                           kind='service'),
                target_spec=utils.NodeSpec(origin='kubernetes',
                                           kind='endpoints'),
                matcher=matcher.ServiceToEndpointsMatcher())
コード例 #2
0
ファイル: linker.py プロジェクト: openrca/orca
 def get(cls, graph):
     return cls(graph=graph,
                source_spec=utils.NodeSpec(
                    origin='kubernetes', kind='horizontal_pod_autoscaler'),
                target_spec=utils.NodeSpec(origin='kubernetes',
                                           kind='deployment'),
                matcher=matcher.HorizontalPodAutoscalerMatcher())
コード例 #3
0
ファイル: linker.py プロジェクト: openrca/orca
 def get(cls, graph):
     return cls(graph=graph,
                source_spec=utils.NodeSpec(origin='kubernetes',
                                           kind='cluster'),
                target_spec=utils.NodeSpec(origin='kubernetes',
                                           kind='node'),
                matcher=matcher.ClusterToNodeMatcher())
コード例 #4
0
ファイル: linker.py プロジェクト: openrca/orca
 def get(cls, graph):
     return cls(graph=graph,
                source_spec=utils.NodeSpec(origin='kubernetes',
                                           kind='ingress'),
                target_spec=utils.NodeSpec(origin='kubernetes',
                                           kind='service'),
                matcher=matcher.IngressToServiceMatcher())
コード例 #5
0
ファイル: linker.py プロジェクト: openrca/orca
 def get(cls, graph):
     return cls(graph=graph,
                source_spec=utils.NodeSpec(origin='kubernetes',
                                           kind='persistent_volume'),
                target_spec=utils.NodeSpec(origin='kubernetes',
                                           kind='storage_class'),
                matcher=matcher.PersistentVolumeToStorageClassMatcher())
コード例 #6
0
ファイル: linker.py プロジェクト: openrca/orca
 def get(cls, graph):
     return cls(graph=graph,
                source_spec=utils.NodeSpec(origin='kubernetes',
                                           kind='deployment'),
                target_spec=utils.NodeSpec(origin='kubernetes',
                                           kind='replica_set'),
                matcher=matcher.DeploymentToReplicaSetMatcher())
コード例 #7
0
ファイル: __init__.py プロジェクト: grzechukol/orca
    def run(self):
        garbage_collectors = [
            collector.StaleNodeCollector(self._graph,
                                         utils.NodeSpec("elastalert", "alert"),
                                         300),
            collector.StaleNodeCollector(self._graph,
                                         utils.NodeSpec("falco", "alert"),
                                         300),
        ]

        garbage_remover = remover.Remover(self._graph, garbage_collectors)

        gc_interval = CONFIG.topology.gc.interval

        while True:
            start_time = time.time()
            removed_nodes = garbage_remover.run()
            gc_time = time.time() - start_time
            LOG.info("Garbage collected %i nodes (%.2f seconds)",
                     len(removed_nodes), gc_time)
            time.sleep(gc_interval)
コード例 #8
0
ファイル: linker.py プロジェクト: openrca/orca
 def get(cls, graph):
     return cls(
         graph=graph,
         source_spec=utils.NodeSpec(origin='kubernetes', kind='service'),
         target_spec=utils.NodeSpec(origin='istio', kind='destination_rule'),
         matcher=matcher.ServiceToDestinationRuleMatcher())
コード例 #9
0
ファイル: linker.py プロジェクト: openrca/orca
 def get(cls, graph):
     return cls(
         graph=graph,
         source_spec=utils.NodeSpec(origin='kubernetes', kind='service'),
         target_spec=utils.NodeSpec(origin='istio', kind='virtual_service'),
         matcher=matcher.ServiceToVirtualServiceMatcher())
コード例 #10
0
ファイル: linker.py プロジェクト: openrca/orca
 def get(cls, graph):
     return cls(
         graph=graph,
         source_spec=utils.NodeSpec(origin='istio', kind='gateway'),
         target_spec=utils.NodeSpec(origin='istio', kind='virtual_service'),
         matcher=matcher.GatewayToVirtualServiceMatcher())
コード例 #11
0
 def get(cls, graph, origin):
     return cls(graph=graph,
                source_spec=utils.NodeSpec(origin=origin, kind='alert'),
                target_spec=utils.NodeSpec(origin='any', kind='any'),
                matcher=matcher.AlertToSourceMatcher(),
                bidirectional=False)
コード例 #12
0
ファイル: linker.py プロジェクト: openrca/orca
 def get(cls, graph):
     return cls(graph=graph,
                source_spec=utils.NodeSpec(origin='kubernetes',
                                           kind='daemon_set'),
                target_spec=utils.NodeSpec(origin='kubernetes', kind='pod'),
                matcher=matcher.DaemonSetToPodMatcher())
コード例 #13
0
ファイル: linker.py プロジェクト: openrca/orca
 def get(cls, graph):
     return cls(graph=graph,
                source_spec=utils.NodeSpec(origin='kubernetes',
                                           kind='cron_job'),
                target_spec=utils.NodeSpec(origin='kubernetes', kind='job'),
                matcher=matcher.CronJobToJobMatcher())
コード例 #14
0
ファイル: linker.py プロジェクト: openrca/orca
 def get(cls, graph):
     return cls(graph=graph,
                source_spec=utils.NodeSpec(origin='kubernetes', kind='pod'),
                target_spec=utils.NodeSpec(origin='kubernetes',
                                           kind='persistent_volume_claim'),
                matcher=matcher.PodToPersistentVolumeClaimMatcher())
コード例 #15
0
ファイル: linker.py プロジェクト: openrca/orca
 def get(cls, graph):
     return cls(graph=graph,
                source_spec=utils.NodeSpec(origin='kubernetes', kind='pod'),
                target_spec=utils.NodeSpec(origin='kubernetes',
                                           kind='secret'),
                matcher=matcher.PodToSecretMatcher())
コード例 #16
0
ファイル: linker.py プロジェクト: openrca/orca
 def get(cls, graph):
     return cls(graph=graph,
                source_spec=utils.NodeSpec(origin='kubernetes', kind='pod'),
                target_spec=utils.NodeSpec(origin='kubernetes',
                                           kind='config_map'),
                matcher=matcher.PodToConfigMapMatcher())