in kinder/pkg/cluster/manager/actions/kubeadm-join.go [115:177]
func kubeadmJoinControlPlaneWithPhases(cp *status.Node, patchesDir, ignorePreflightErrors string, vLevel int) (err error) {
// kubeadm join phase preflight
preflightArgs := []string{
"join", "phase", "preflight",
fmt.Sprintf("--config=%s", constants.KubeadmConfigPath),
fmt.Sprintf("--ignore-preflight-errors=%s", ignorePreflightErrors),
fmt.Sprintf("--v=%d", vLevel),
}
if err := cp.Command(
"kubeadm", preflightArgs...,
).RunWithEcho(); err != nil {
return err
}
// kubeadm join phase control-plane-prepare
prepareArgs := []string{
"join", "phase", "control-plane-prepare", "all",
fmt.Sprintf("--config=%s", constants.KubeadmConfigPath),
fmt.Sprintf("--v=%d", vLevel),
}
if patchesDir != "" {
if cp.MustKubeadmVersion().LessThan(constants.V1_22) {
prepareArgs = append(prepareArgs, "--experimental-patches", constants.PatchesDir)
}
}
if err := cp.Command(
"kubeadm", prepareArgs...,
).RunWithEcho(); err != nil {
return err
}
// kubeadm join phase kubelet-start
if err := cp.Command(
"kubeadm", "join", "phase", "kubelet-start",
fmt.Sprintf("--config=%s", constants.KubeadmConfigPath),
fmt.Sprintf("--v=%d", vLevel),
).RunWithEcho(); err != nil {
return err
}
// kubeadm join phase control-plane-join
controlPlaneArgs := []string{
"join", "phase", "control-plane-join", "all",
fmt.Sprintf("--config=%s", constants.KubeadmConfigPath),
fmt.Sprintf("--v=%d", vLevel),
}
if patchesDir != "" {
if cp.MustKubeadmVersion().LessThan(constants.V1_22) {
controlPlaneArgs = append(controlPlaneArgs, "--experimental-patches", constants.PatchesDir)
}
}
if err := cp.Command(
"kubeadm", controlPlaneArgs...,
).RunWithEcho(); err != nil {
return err
}
return nil
}