mirror of
https://github.com/kubernetes-sigs/node-feature-discovery.git
synced 2024-12-14 11:57:51 +00:00
nfd-master: add --kubeconfig flag
Useful with --prune and for development purposes.
This commit is contained in:
parent
4669770020
commit
458dd8dc58
3 changed files with 17 additions and 2 deletions
|
@ -66,6 +66,7 @@ func argsParse(argv []string) (master.Args, error) {
|
|||
%s [--prune] [--no-publish] [--label-whitelist=<pattern>] [--port=<port>]
|
||||
[--ca-file=<path>] [--cert-file=<path>] [--key-file=<path>]
|
||||
[--verify-node-name] [--extra-label-ns=<list>] [--resource-labels=<list>]
|
||||
[--kubeconfig=<path>]
|
||||
%s -h | --help
|
||||
%s --version
|
||||
|
||||
|
@ -74,6 +75,8 @@ func argsParse(argv []string) (master.Args, error) {
|
|||
--version Output version and exit.
|
||||
--prune Prune all NFD related attributes from all nodes
|
||||
of the cluster and exit.
|
||||
--kubeconfig=<path> Kubeconfig to use [Default: ]
|
||||
of the cluster and exit.
|
||||
--port=<port> Port on which to listen for connections.
|
||||
[Default: 8080]
|
||||
--ca-file=<path> Root certificate for verifying connections
|
||||
|
@ -122,6 +125,7 @@ func argsParse(argv []string) (master.Args, error) {
|
|||
args.ExtraLabelNs = strings.Split(arguments["--extra-label-ns"].(string), ",")
|
||||
args.ResourceLabels = strings.Split(arguments["--resource-labels"].(string), ",")
|
||||
args.Prune = arguments["--prune"].(bool)
|
||||
args.Kubeconfig = arguments["--kubeconfig"].(string)
|
||||
|
||||
return args, nil
|
||||
}
|
||||
|
|
|
@ -24,18 +24,28 @@ import (
|
|||
"k8s.io/apimachinery/pkg/types"
|
||||
k8sclient "k8s.io/client-go/kubernetes"
|
||||
restclient "k8s.io/client-go/rest"
|
||||
"k8s.io/client-go/tools/clientcmd"
|
||||
)
|
||||
|
||||
// Implements APIHelpers
|
||||
type K8sHelpers struct {
|
||||
Kubeconfig string
|
||||
}
|
||||
|
||||
func (h K8sHelpers) GetClient() (*k8sclient.Clientset, error) {
|
||||
// Set up an in-cluster K8S client.
|
||||
config, err := restclient.InClusterConfig()
|
||||
var config *restclient.Config
|
||||
var err error
|
||||
|
||||
if h.Kubeconfig == "" {
|
||||
config, err = restclient.InClusterConfig()
|
||||
} else {
|
||||
config, err = clientcmd.BuildConfigFromFlags("", h.Kubeconfig)
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
clientset, err := k8sclient.NewForConfig(config)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
|
|
@ -70,6 +70,7 @@ type Args struct {
|
|||
CertFile string
|
||||
ExtraLabelNs []string
|
||||
KeyFile string
|
||||
Kubeconfig string
|
||||
LabelWhiteList *regexp.Regexp
|
||||
NoPublish bool
|
||||
Port int
|
||||
|
@ -124,7 +125,7 @@ func NewNfdMaster(args Args) (NfdMaster, error) {
|
|||
}
|
||||
|
||||
// Initialize Kubernetes API helpers
|
||||
nfd.apihelper = apihelper.K8sHelpers{}
|
||||
nfd.apihelper = apihelper.K8sHelpers{Kubeconfig: args.Kubeconfig}
|
||||
|
||||
return nfd, nil
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue