mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-11 21:12:07 +00:00
fed: Move kubefed server image definition to cmd
This enables consumers like openshift to provide a different default without editing the kubefed init logic.
This commit is contained in:
parent
e7b1814863
commit
b4381d0c44
@ -16,6 +16,7 @@ go_library(
|
|||||||
"//pkg/client/metrics/prometheus:go_default_library",
|
"//pkg/client/metrics/prometheus:go_default_library",
|
||||||
"//pkg/kubectl/cmd/util:go_default_library",
|
"//pkg/kubectl/cmd/util:go_default_library",
|
||||||
"//pkg/util/logs:go_default_library",
|
"//pkg/util/logs:go_default_library",
|
||||||
|
"//pkg/version:go_default_library",
|
||||||
"//pkg/version/prometheus:go_default_library",
|
"//pkg/version/prometheus:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
@ -17,19 +17,24 @@ limitations under the License.
|
|||||||
package app
|
package app
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"k8s.io/kubernetes/federation/pkg/kubefed"
|
"k8s.io/kubernetes/federation/pkg/kubefed"
|
||||||
_ "k8s.io/kubernetes/pkg/client/metrics/prometheus" // for client metric registration
|
_ "k8s.io/kubernetes/pkg/client/metrics/prometheus" // for client metric registration
|
||||||
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
|
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
|
||||||
"k8s.io/kubernetes/pkg/util/logs"
|
"k8s.io/kubernetes/pkg/util/logs"
|
||||||
|
"k8s.io/kubernetes/pkg/version"
|
||||||
_ "k8s.io/kubernetes/pkg/version/prometheus" // for version metric registration
|
_ "k8s.io/kubernetes/pkg/version/prometheus" // for version metric registration
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const hyperkubeImageName = "gcr.io/google_containers/hyperkube-amd64"
|
||||||
|
|
||||||
func Run() error {
|
func Run() error {
|
||||||
logs.InitLogs()
|
logs.InitLogs()
|
||||||
defer logs.FlushLogs()
|
defer logs.FlushLogs()
|
||||||
|
|
||||||
cmd := kubefed.NewKubeFedCommand(cmdutil.NewFactory(nil), os.Stdin, os.Stdout, os.Stderr)
|
defaultImage := fmt.Sprintf("%s:%s", hyperkubeImageName, version.Get())
|
||||||
|
cmd := kubefed.NewKubeFedCommand(cmdutil.NewFactory(nil), os.Stdin, os.Stdout, os.Stderr, defaultImage)
|
||||||
return cmd.Execute()
|
return cmd.Execute()
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,6 @@ go_library(
|
|||||||
"//pkg/client/clientset_generated/internalclientset:go_default_library",
|
"//pkg/client/clientset_generated/internalclientset:go_default_library",
|
||||||
"//pkg/kubectl/cmd/templates:go_default_library",
|
"//pkg/kubectl/cmd/templates:go_default_library",
|
||||||
"//pkg/kubectl/cmd/util:go_default_library",
|
"//pkg/kubectl/cmd/util:go_default_library",
|
||||||
"//pkg/version:go_default_library",
|
|
||||||
"//vendor/github.com/golang/glog:go_default_library",
|
"//vendor/github.com/golang/glog:go_default_library",
|
||||||
"//vendor/github.com/spf13/cobra:go_default_library",
|
"//vendor/github.com/spf13/cobra:go_default_library",
|
||||||
"//vendor/github.com/spf13/pflag:go_default_library",
|
"//vendor/github.com/spf13/pflag:go_default_library",
|
||||||
|
@ -51,7 +51,6 @@ import (
|
|||||||
client "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
|
client "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
|
||||||
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
|
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
|
||||||
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
|
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
|
||||||
"k8s.io/kubernetes/pkg/version"
|
|
||||||
|
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
@ -126,8 +125,6 @@ var (
|
|||||||
"app": "federated-cluster",
|
"app": "federated-cluster",
|
||||||
"module": "federation-controller-manager",
|
"module": "federation-controller-manager",
|
||||||
}
|
}
|
||||||
|
|
||||||
hyperkubeImageName = "gcr.io/google_containers/hyperkube-amd64"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type initFederation struct {
|
type initFederation struct {
|
||||||
@ -154,9 +151,7 @@ type initFederationOptions struct {
|
|||||||
apiServerEnableTokenAuth bool
|
apiServerEnableTokenAuth bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *initFederationOptions) Bind(flags *pflag.FlagSet) {
|
func (o *initFederationOptions) Bind(flags *pflag.FlagSet, defaultImage string) {
|
||||||
defaultImage := fmt.Sprintf("%s:%s", hyperkubeImageName, version.Get())
|
|
||||||
|
|
||||||
flags.StringVar(&o.dnsZoneName, "dns-zone-name", "", "DNS suffix for this federation. Federated Service DNS names are published with this suffix.")
|
flags.StringVar(&o.dnsZoneName, "dns-zone-name", "", "DNS suffix for this federation. Federated Service DNS names are published with this suffix.")
|
||||||
flags.StringVar(&o.image, "image", defaultImage, "Image to use for federation API server and controller manager binaries.")
|
flags.StringVar(&o.image, "image", defaultImage, "Image to use for federation API server and controller manager binaries.")
|
||||||
flags.StringVar(&o.dnsProvider, "dns-provider", "", "Dns provider to be used for this deployment.")
|
flags.StringVar(&o.dnsProvider, "dns-provider", "", "Dns provider to be used for this deployment.")
|
||||||
@ -174,7 +169,7 @@ func (o *initFederationOptions) Bind(flags *pflag.FlagSet) {
|
|||||||
|
|
||||||
// NewCmdInit defines the `init` command that bootstraps a federation
|
// NewCmdInit defines the `init` command that bootstraps a federation
|
||||||
// control plane inside a set of host clusters.
|
// control plane inside a set of host clusters.
|
||||||
func NewCmdInit(cmdOut io.Writer, config util.AdminConfig) *cobra.Command {
|
func NewCmdInit(cmdOut io.Writer, config util.AdminConfig, defaultImage string) *cobra.Command {
|
||||||
opts := &initFederation{}
|
opts := &initFederation{}
|
||||||
|
|
||||||
cmd := &cobra.Command{
|
cmd := &cobra.Command{
|
||||||
@ -190,7 +185,7 @@ func NewCmdInit(cmdOut io.Writer, config util.AdminConfig) *cobra.Command {
|
|||||||
|
|
||||||
flags := cmd.Flags()
|
flags := cmd.Flags()
|
||||||
opts.commonOptions.Bind(flags)
|
opts.commonOptions.Bind(flags)
|
||||||
opts.options.Bind(flags)
|
opts.options.Bind(flags, defaultImage)
|
||||||
|
|
||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
@ -244,7 +244,7 @@ func TestInitFederation(t *testing.T) {
|
|||||||
t.Fatalf("[%d] unexpected error: %v", i, err)
|
t.Fatalf("[%d] unexpected error: %v", i, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd := NewCmdInit(buf, adminConfig)
|
cmd := NewCmdInit(buf, adminConfig, "image")
|
||||||
|
|
||||||
cmd.Flags().Set("kubeconfig", tc.kubeconfigExplicit)
|
cmd.Flags().Set("kubeconfig", tc.kubeconfigExplicit)
|
||||||
cmd.Flags().Set("host-cluster-context", "substrate")
|
cmd.Flags().Set("host-cluster-context", "substrate")
|
||||||
|
@ -31,7 +31,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// NewKubeFedCommand creates the `kubefed` command and its nested children.
|
// NewKubeFedCommand creates the `kubefed` command and its nested children.
|
||||||
func NewKubeFedCommand(f cmdutil.Factory, in io.Reader, out, err io.Writer) *cobra.Command {
|
func NewKubeFedCommand(f cmdutil.Factory, in io.Reader, out, err io.Writer, defaultImage string) *cobra.Command {
|
||||||
// Parent command to which all subcommands are added.
|
// Parent command to which all subcommands are added.
|
||||||
cmds := &cobra.Command{
|
cmds := &cobra.Command{
|
||||||
Use: "kubefed",
|
Use: "kubefed",
|
||||||
@ -53,7 +53,7 @@ func NewKubeFedCommand(f cmdutil.Factory, in io.Reader, out, err io.Writer) *cob
|
|||||||
{
|
{
|
||||||
Message: "Basic Commands:",
|
Message: "Basic Commands:",
|
||||||
Commands: []*cobra.Command{
|
Commands: []*cobra.Command{
|
||||||
kubefedinit.NewCmdInit(out, util.NewAdminConfig(clientcmd.NewDefaultPathOptions())),
|
kubefedinit.NewCmdInit(out, util.NewAdminConfig(clientcmd.NewDefaultPathOptions()), defaultImage),
|
||||||
NewCmdJoin(f, out, util.NewAdminConfig(clientcmd.NewDefaultPathOptions())),
|
NewCmdJoin(f, out, util.NewAdminConfig(clientcmd.NewDefaultPathOptions())),
|
||||||
NewCmdUnjoin(f, out, err, util.NewAdminConfig(clientcmd.NewDefaultPathOptions())),
|
NewCmdUnjoin(f, out, err, util.NewAdminConfig(clientcmd.NewDefaultPathOptions())),
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user