func CreateNodeCerts(nodeArgs *start.NodeArgs) error { getSignerOptions := &admin.SignerCertOptions{ CertFile: admin.DefaultCertFilename(nodeArgs.MasterCertDir, "ca"), KeyFile: admin.DefaultKeyFilename(nodeArgs.MasterCertDir, "ca"), SerialFile: admin.DefaultSerialFilename(nodeArgs.MasterCertDir, "ca"), } createNodeConfig := admin.NewDefaultCreateNodeConfigOptions() createNodeConfig.Output = os.Stdout createNodeConfig.SignerCertOptions = getSignerOptions createNodeConfig.NodeConfigDir = nodeArgs.ConfigDir.Value() createNodeConfig.NodeName = nodeArgs.NodeName createNodeConfig.Hostnames = []string{nodeArgs.NodeName} createNodeConfig.ListenAddr = nodeArgs.ListenArg.ListenAddr createNodeConfig.APIServerCAFile = admin.DefaultCertFilename(nodeArgs.MasterCertDir, "ca") createNodeConfig.NodeClientCAFile = admin.DefaultCertFilename(nodeArgs.MasterCertDir, "ca") if err := createNodeConfig.Validate(nil); err != nil { return err } if err := createNodeConfig.CreateNodeFolder(); err != nil { return err } return nil }
func (o NodeOptions) CreateNodeConfig() error { getSignerOptions := &admin.SignerCertOptions{ CertFile: admin.DefaultCertFilename(o.NodeArgs.MasterCertDir, admin.CAFilePrefix), KeyFile: admin.DefaultKeyFilename(o.NodeArgs.MasterCertDir, admin.CAFilePrefix), SerialFile: admin.DefaultSerialFilename(o.NodeArgs.MasterCertDir, admin.CAFilePrefix), } var dnsIP string if len(o.NodeArgs.ClusterDNS) > 0 { dnsIP = o.NodeArgs.ClusterDNS.String() } masterAddr, err := o.NodeArgs.KubeConnectionArgs.GetKubernetesAddress(o.NodeArgs.DefaultKubernetesURL) if err != nil { return err } hostnames, err := o.NodeArgs.GetServerCertHostnames() if err != nil { return err } nodeConfigDir := o.NodeArgs.ConfigDir.Value() createNodeConfigOptions := admin.CreateNodeConfigOptions{ SignerCertOptions: getSignerOptions, NodeConfigDir: nodeConfigDir, NodeName: o.NodeArgs.NodeName, Hostnames: hostnames.List(), VolumeDir: o.NodeArgs.VolumeDir, ImageTemplate: o.NodeArgs.ImageFormatArgs.ImageTemplate, AllowDisabledDocker: o.NodeArgs.AllowDisabledDocker, DNSDomain: o.NodeArgs.ClusterDomain, DNSIP: dnsIP, ListenAddr: o.NodeArgs.ListenArg.ListenAddr, NetworkPluginName: o.NodeArgs.NetworkPluginName, APIServerURL: masterAddr.String(), APIServerCAFiles: []string{admin.DefaultCABundleFile(o.NodeArgs.MasterCertDir)}, NodeClientCAFile: getSignerOptions.CertFile, ExpireDays: o.ExpireDays, Output: cmdutil.NewGLogWriterV(3), } if err := createNodeConfigOptions.Validate(nil); err != nil { return err } if err := createNodeConfigOptions.CreateNodeFolder(); err != nil { return err } return nil }