func NewPodIPMetricsCollector()

in pkg/metrics/collector/pod_ip_metrics.go [161:186]


func NewPodIPMetricsCollector() (Collector, error) {
	config, err := rest.InClusterConfig()
	if err != nil {
		return nil, fmt.Errorf("error creating in-cluster config: %v", err)
	}
	config.ContentType = runtime.ContentTypeProtobuf

	clientset, err := kubernetes.NewForConfig(config)
	if err != nil {
		return nil, fmt.Errorf("error creating clientset: %v", err)
	}

	nodeName := os.Getenv("CURRENT_NODE_NAME")
	if nodeName == "" {
		nodeName, err = os.Hostname()
		if err != nil {
			return nil, fmt.Errorf("error getting hostname: %v", err)
		}
	}

	return &podIPMetricsCollector{
		clientset: clientset,
		nodeName:  nodeName,
		clock:     &realClock{},
	}, nil
}