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
}