Skip to content

Commit ea259db

Browse files
committed
support only etcd
Signed-off-by: pixiake <[email protected]>
1 parent 3aa568d commit ea259db

File tree

3 files changed

+70
-41
lines changed

3 files changed

+70
-41
lines changed

cmd/kk/cmd/create/cluster.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ type CreateClusterOptions struct {
4545
DownloadCmd string
4646
Artifact string
4747
InstallPackages bool
48+
OnlyEtcd bool
4849

4950
localStorageChanged bool
5051
}
@@ -122,6 +123,7 @@ func (o *CreateClusterOptions) Run() error {
122123
Artifact: o.Artifact,
123124
InstallPackages: o.InstallPackages,
124125
Namespace: o.CommonOptions.Namespace,
126+
OnlyEtcd: o.OnlyEtcd,
125127
}
126128

127129
if o.localStorageChanged {
@@ -145,6 +147,7 @@ func (o *CreateClusterOptions) AddFlags(cmd *cobra.Command) {
145147
`The user defined command to download the necessary binary files. The first param '%s' is output path, the second param '%s', is the URL`)
146148
cmd.Flags().StringVarP(&o.Artifact, "artifact", "a", "", "Path to a KubeKey artifact")
147149
cmd.Flags().BoolVarP(&o.InstallPackages, "with-packages", "", false, "install operation system packages by artifact")
150+
cmd.Flags().BoolVarP(&o.OnlyEtcd, "only-etcd", "", false, "create etcd cluster only")
148151
}
149152

150153
func completionSetting(cmd *cobra.Command) (err error) {

cmd/kk/pkg/common/kube_runtime.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ type Argument struct {
5454
DeleteCRI bool
5555
Role string
5656
Type string
57+
OnlyEtcd bool
5758
}
5859

5960
func NewKubeRuntime(flag string, arg Argument) (*KubeRuntime, error) {

cmd/kk/pkg/pipelines/create_cluster.go

Lines changed: 66 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -56,47 +56,72 @@ func NewCreateClusterPipeline(runtime *common.KubeRuntime) error {
5656
skipLocalStorage = false
5757
}
5858

59-
m := []module.Module{
60-
&precheck.GreetingsModule{},
61-
&customscripts.CustomScriptsModule{Phase: "PreInstall", Scripts: runtime.Cluster.System.PreInstall},
62-
&precheck.NodePreCheckModule{},
63-
&confirm.InstallConfirmModule{},
64-
&artifact.UnArchiveModule{Skip: noArtifact},
65-
&os.RepositoryModule{Skip: noArtifact || !runtime.Arg.InstallPackages},
66-
&binaries.NodeBinariesModule{},
67-
&os.ConfigureOSModule{Skip: runtime.Cluster.System.SkipConfigureOS},
68-
&kubernetes.StatusModule{},
69-
&container.InstallContainerModule{},
70-
&container.InstallCriDockerdModule{Skip: runtime.Cluster.Kubernetes.ContainerManager != "docker"},
71-
&images.CopyImagesToRegistryModule{Skip: skipPushImages},
72-
&images.PullModule{Skip: runtime.Arg.SkipPullImages},
73-
&etcd.PreCheckModule{Skip: runtime.Cluster.Etcd.Type != kubekeyapiv1alpha2.KubeKey},
74-
&etcd.CertsModule{},
75-
&etcd.InstallETCDBinaryModule{Skip: runtime.Cluster.Etcd.Type != kubekeyapiv1alpha2.KubeKey},
76-
&etcd.ConfigureModule{Skip: runtime.Cluster.Etcd.Type != kubekeyapiv1alpha2.KubeKey},
77-
&etcd.BackupModule{Skip: runtime.Cluster.Etcd.Type != kubekeyapiv1alpha2.KubeKey},
78-
&kubernetes.InstallKubeBinariesModule{},
79-
// init kubeVip on first master
80-
&loadbalancer.KubevipModule{Skip: !runtime.Cluster.ControlPlaneEndpoint.IsInternalLBEnabledVip()},
81-
&kubernetes.InitKubernetesModule{},
82-
&dns.ClusterDNSModule{},
83-
&kubernetes.StatusModule{},
84-
&kubernetes.JoinNodesModule{},
85-
// deploy kubeVip on other masters
86-
&loadbalancer.KubevipModule{Skip: !runtime.Cluster.ControlPlaneEndpoint.IsInternalLBEnabledVip()},
87-
&loadbalancer.HaproxyModule{Skip: !runtime.Cluster.ControlPlaneEndpoint.IsInternalLBEnabled()},
88-
&network.DeployNetworkPluginModule{},
89-
&kubernetes.ConfigureKubernetesModule{},
90-
&filesystem.ChownModule{},
91-
&certs.AutoRenewCertsModule{Skip: !runtime.Cluster.Kubernetes.EnableAutoRenewCerts()},
92-
&kubernetes.SecurityEnhancementModule{Skip: !runtime.Arg.SecurityEnhancement},
93-
&kubernetes.SaveKubeConfigModule{},
94-
&plugins.DeployPluginsModule{},
95-
&addons.AddonsModule{},
96-
&storage.DeployLocalVolumeModule{Skip: skipLocalStorage},
97-
&kubesphere.DeployModule{Skip: !runtime.Cluster.KubeSphere.Enabled},
98-
&kubesphere.CheckResultModule{Skip: !runtime.Cluster.KubeSphere.Enabled},
99-
&customscripts.CustomScriptsModule{Phase: "PostInstall", Scripts: runtime.Cluster.System.PostInstall},
59+
m := []module.Module{}
60+
61+
if runtime.Arg.OnlyEtcd {
62+
m = []module.Module{
63+
&precheck.GreetingsModule{},
64+
&customscripts.CustomScriptsModule{Phase: "PreInstall", Scripts: runtime.Cluster.System.PreInstall},
65+
&precheck.NodePreCheckModule{},
66+
&confirm.InstallConfirmModule{},
67+
&artifact.UnArchiveModule{Skip: noArtifact},
68+
&os.RepositoryModule{Skip: noArtifact || !runtime.Arg.InstallPackages},
69+
&binaries.NodeBinariesModule{},
70+
&os.ConfigureOSModule{Skip: runtime.Cluster.System.SkipConfigureOS},
71+
&kubernetes.StatusModule{},
72+
&container.InstallContainerModule{},
73+
&container.InstallCriDockerdModule{Skip: runtime.Cluster.Kubernetes.ContainerManager != "docker"},
74+
&images.CopyImagesToRegistryModule{Skip: skipPushImages},
75+
&images.PullModule{Skip: runtime.Arg.SkipPullImages},
76+
&etcd.PreCheckModule{Skip: runtime.Cluster.Etcd.Type != kubekeyapiv1alpha2.KubeKey},
77+
&etcd.CertsModule{},
78+
&etcd.InstallETCDBinaryModule{Skip: runtime.Cluster.Etcd.Type != kubekeyapiv1alpha2.KubeKey},
79+
&etcd.ConfigureModule{Skip: runtime.Cluster.Etcd.Type != kubekeyapiv1alpha2.KubeKey},
80+
&etcd.BackupModule{Skip: runtime.Cluster.Etcd.Type != kubekeyapiv1alpha2.KubeKey},
81+
}
82+
} else {
83+
m = []module.Module{
84+
&precheck.GreetingsModule{},
85+
&customscripts.CustomScriptsModule{Phase: "PreInstall", Scripts: runtime.Cluster.System.PreInstall},
86+
&precheck.NodePreCheckModule{},
87+
&confirm.InstallConfirmModule{},
88+
&artifact.UnArchiveModule{Skip: noArtifact},
89+
&os.RepositoryModule{Skip: noArtifact || !runtime.Arg.InstallPackages},
90+
&binaries.NodeBinariesModule{},
91+
&os.ConfigureOSModule{Skip: runtime.Cluster.System.SkipConfigureOS},
92+
&kubernetes.StatusModule{},
93+
&container.InstallContainerModule{},
94+
&container.InstallCriDockerdModule{Skip: runtime.Cluster.Kubernetes.ContainerManager != "docker"},
95+
&images.CopyImagesToRegistryModule{Skip: skipPushImages},
96+
&images.PullModule{Skip: runtime.Arg.SkipPullImages},
97+
&etcd.PreCheckModule{Skip: runtime.Cluster.Etcd.Type != kubekeyapiv1alpha2.KubeKey},
98+
&etcd.CertsModule{},
99+
&etcd.InstallETCDBinaryModule{Skip: runtime.Cluster.Etcd.Type != kubekeyapiv1alpha2.KubeKey},
100+
&etcd.ConfigureModule{Skip: runtime.Cluster.Etcd.Type != kubekeyapiv1alpha2.KubeKey},
101+
&etcd.BackupModule{Skip: runtime.Cluster.Etcd.Type != kubekeyapiv1alpha2.KubeKey},
102+
&kubernetes.InstallKubeBinariesModule{},
103+
// init kubeVip on first master
104+
&loadbalancer.KubevipModule{Skip: !runtime.Cluster.ControlPlaneEndpoint.IsInternalLBEnabledVip()},
105+
&kubernetes.InitKubernetesModule{},
106+
&dns.ClusterDNSModule{},
107+
&kubernetes.StatusModule{},
108+
&kubernetes.JoinNodesModule{},
109+
// deploy kubeVip on other masters
110+
&loadbalancer.KubevipModule{Skip: !runtime.Cluster.ControlPlaneEndpoint.IsInternalLBEnabledVip()},
111+
&loadbalancer.HaproxyModule{Skip: !runtime.Cluster.ControlPlaneEndpoint.IsInternalLBEnabled()},
112+
&network.DeployNetworkPluginModule{},
113+
&kubernetes.ConfigureKubernetesModule{},
114+
&filesystem.ChownModule{},
115+
&certs.AutoRenewCertsModule{Skip: !runtime.Cluster.Kubernetes.EnableAutoRenewCerts()},
116+
&kubernetes.SecurityEnhancementModule{Skip: !runtime.Arg.SecurityEnhancement},
117+
&kubernetes.SaveKubeConfigModule{},
118+
&plugins.DeployPluginsModule{},
119+
&addons.AddonsModule{},
120+
&storage.DeployLocalVolumeModule{Skip: skipLocalStorage},
121+
&kubesphere.DeployModule{Skip: !runtime.Cluster.KubeSphere.Enabled},
122+
&kubesphere.CheckResultModule{Skip: !runtime.Cluster.KubeSphere.Enabled},
123+
&customscripts.CustomScriptsModule{Phase: "PostInstall", Scripts: runtime.Cluster.System.PostInstall},
124+
}
100125
}
101126

102127
p := pipeline.Pipeline{

0 commit comments

Comments
 (0)