func defaultClusterConfig()

in substrate/pkg/controller/substrate/cluster/config.go [206:251]


func defaultClusterConfig(substrate *v1alpha1.Substrate) *kubeadm.InitConfiguration {
	defaultStaticConfig, err := configutil.DefaultedStaticInitConfiguration()
	runtime.Must(err)
	// etcd specific config
	defaultStaticConfig.ClusterConfiguration.KubernetesVersion = kubernetesVersionTag
	defaultStaticConfig.ClusterConfiguration.ImageRepository = imageRepository
	defaultStaticConfig.Etcd.Local = &kubeadm.LocalEtcd{
		ImageMeta:      kubeadm.ImageMeta{ImageRepository: etcdImageRepository, ImageTag: etcdVersionTag},
		ServerCertSANs: []string{"localhost", "127.0.0.1"},
		PeerCertSANs:   []string{"localhost", "127.0.0.1"},
		DataDir:        "/var/lib/etcd",
		ExtraArgs: map[string]string{
			"initial-cluster":             fmt.Sprintf("%s=https://127.0.0.1:2380", substrate.Name),
			"initial-cluster-state":       "new",
			"name":                        substrate.Name,
			"listen-peer-urls":            "https://127.0.0.1:2380",
			"listen-client-urls":          "https://127.0.0.1:2379",
			"advertise-client-urls":       "https://127.0.0.1:2379",
			"initial-advertise-peer-urls": "https://127.0.0.1:2380",
		},
	}
	// master specific config
	masterElasticIP := aws.StringValue(substrate.Status.Cluster.Address)
	defaultStaticConfig.LocalAPIEndpoint.AdvertiseAddress = masterElasticIP
	defaultStaticConfig.LocalAPIEndpoint.BindPort = 443
	defaultStaticConfig.ControlPlaneEndpoint = masterElasticIP + ":443"
	defaultStaticConfig.APIServer.CertSANs = []string{masterElasticIP, substrate.Name,
		"kubernetes", "kubernetes.default", "kubernetes.default.svc", "kubernetes.default.svc.cluster.local", "10.96.0.1"}
	defaultStaticConfig.APIServer.ExtraArgs = map[string]string{
		"advertise-address": masterElasticIP,
		"secure-port":       "443",
	}
	if defaultStaticConfig.Scheduler.ExtraArgs == nil {
		defaultStaticConfig.Scheduler.ExtraArgs = map[string]string{}
	}
	if defaultStaticConfig.ControllerManager.ExtraArgs == nil {
		defaultStaticConfig.ControllerManager.ExtraArgs = map[string]string{}
	}
	defaultStaticConfig.NodeRegistration = kubeadm.NodeRegistrationOptions{
		Name: substrate.Name,
		KubeletExtraArgs: map[string]string{"cgroup-driver": "systemd", "network-plugin": "cni",
			"pod-infra-container-image": imageRepository + "/pause:" + kubernetesVersionTag,
		},
	}
	return defaultStaticConfig
}