Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set kubeadm properties previously set by nodeadm #152

Open
dlipovetsky opened this issue Dec 29, 2018 · 2 comments
Open

Set kubeadm properties previously set by nodeadm #152

dlipovetsky opened this issue Dec 29, 2018 · 2 comments
Assignees

Comments

@dlipovetsky
Copy link
Contributor

After platform9/nodeadm#77, nodeadm no longer sets a number of kubeadm properties. To make sure these properties continue to be set for cctl users, they must be set by cctl; the machine actuator will apply the properties to the nodeadm config it writes to the host.

@dlipovetsky dlipovetsky self-assigned this Dec 29, 2018
@dlipovetsky
Copy link
Contributor Author

dlipovetsky commented Dec 29, 2018

  1. Node has no taints: MasterConfiguration.NodeRegistration.Taints = []corev1.Taint{} // empty slice denotes no taints
  2. Set feature gates on the control plane components.
  3. Node name should be the IP (to be made configurable in the future)
  4. Kubelet configuration
	FailSwapOn       bool
	MaxPods          int32
	ClusterDNS       string
	ClusterDomain    string
	HostnameOverride string
	KubeAPIQPS       int32
	KubeAPIBurst     int32
	EvictionHard     string
	FeatureGates     string
	CPUManagerPolicy string
	KubeReserved     string

@dlipovetsky
Copy link
Contributor Author

dlipovetsky commented Jan 4, 2019

Cluster.ProviderSpec.ClusterConfig.KubeletConfiguration.FeatureGates
Cluster.ProviderSpec.ClusterConfig.KubeAPIServer["feature-gates"]
Cluster.ProviderSpec.ClusterConfig.KubeControllerManager["feature-gates"]
Cluster.ProviderSpec.ClusterConfig.KubeScheduler["feature-gates"]

(We do not the experimental critical pod annotation feature, as pod priority is in beta in 1.11 and enabled by default for all components except Kubelet. The control plane pods have a pod priority defined, but CoreDNS needs one defined.

  • Set Machine.Name to the IP (no change required)
  • Set
Cluster.ProviderSpec.ClusterConfig.KubeletConfiguration.EvictionHard

Note that ssh-provider will derive ClusterDNS from the Pods CIDR (Cluster.Spec.Pods.CIDRBlocks[0]), and ClusterDomain from Cluster.Spec.ServiceDomain.

Note that CPUManagerPolicy and KubeReserved do not need to be set because they are the default values.

Note that these are already set by cctl:

Cluster.ProviderSpec.ClusterConfig.KubeletConfiguration.FailSwapOn
Cluster.ProviderSpec.ClusterConfig.KubeletConfiguration.MaxPods
Cluster.ProviderSpec.ClusterConfig.KubeletConfiguration.KubeAPIQPS
Cluster.ProviderSpec.ClusterConfig.KubeletConfiguration.KubeAPIBurst

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant