mirror of
https://github.com/kubernetes/node-problem-detector.git
synced 2026-08-19 04:06:24 +00:00
Merge pull request #49 from andyxning/add_support_for_running_standalone
add support for running standalone
This commit is contained in:
@@ -19,16 +19,17 @@ package problemclient
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/url"
|
||||
"os"
|
||||
|
||||
"k8s.io/kubernetes/pkg/util/clock"
|
||||
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
"k8s.io/kubernetes/pkg/client/record"
|
||||
"k8s.io/kubernetes/pkg/client/restclient"
|
||||
client "k8s.io/kubernetes/pkg/client/unversioned"
|
||||
"k8s.io/kubernetes/pkg/types"
|
||||
"k8s.io/kubernetes/pkg/util/clock"
|
||||
|
||||
"k8s.io/heapster/common/kubernetes"
|
||||
)
|
||||
|
||||
// Client is the interface of problem client
|
||||
@@ -50,12 +51,17 @@ type nodeProblemClient struct {
|
||||
}
|
||||
|
||||
// NewClientOrDie creates a new problem client, panics if error occurs.
|
||||
func NewClientOrDie() Client {
|
||||
func NewClientOrDie(apiServerOverride string) Client {
|
||||
c := &nodeProblemClient{clock: clock.RealClock{}}
|
||||
cfg, err := restclient.InClusterConfig()
|
||||
|
||||
// we have checked it is a valid URI after command line argument is parsed.:)
|
||||
uri, _ := url.Parse(apiServerOverride)
|
||||
|
||||
cfg, err := kubernetes.GetKubeClientConfig(uri)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
// TODO(random-liu): Set QPS Limit
|
||||
c.client = client.NewOrDie(cfg)
|
||||
// Get node name from environment variable NODE_NAME
|
||||
|
||||
@@ -41,8 +41,8 @@ type problemDetector struct {
|
||||
|
||||
// NewProblemDetector creates the problem detector. Currently we just directly passed in the problem daemons, but
|
||||
// in the future we may want to let the problem daemons register themselves.
|
||||
func NewProblemDetector(monitor kernelmonitor.KernelMonitor) ProblemDetector {
|
||||
client := problemclient.NewClientOrDie()
|
||||
func NewProblemDetector(monitor kernelmonitor.KernelMonitor, apiServerOverride string) ProblemDetector {
|
||||
client := problemclient.NewClientOrDie(apiServerOverride)
|
||||
return &problemDetector{
|
||||
client: client,
|
||||
conditionManager: condition.NewConditionManager(client, clock.RealClock{}),
|
||||
|
||||
Reference in New Issue
Block a user