There are many properties that are being set that have no default. Their zero values are appearing in the marshalled struct. In all the cases I've checked, the upstream default (documented in the type definitions) is not the zero value.
Their presence is confusing in two ways: (1) neither the user nor ssh-provider set the values, and (2) the values will be ignored by kubelet and kube-proxy when they read their configuration.
The properties that are empty objects or have zero second durations should not be set at all:
kubeProxy:
clientConnection: {}
configSyncPeriod: 0s
conntrack: {}
iptables:
minSyncPeriod: 0s
syncPeriod: 0s
ipvs:
minSyncPeriod: 0s
syncPeriod: 0s
mode: ""
udpIdleTimeout: 0s
kubeletConfiguration:
authentication:
anonymous: {}
webhook:
cacheTTL: 0s
x509: {}
authorization:
webhook:
cacheAuthorizedTTL: 0s
cacheUnauthorizedTTL: 0s
cpuManagerReconcilePeriod: 0s
evictionHard:
memory.available: 600Mi
nodefs.available: 10%
evictionPressureTransitionPeriod: 0s
failSwapOn: false
featureGates:
ExperimentalCriticalPodAnnotation: true
fileCheckFrequency: 0s
httpCheckFrequency: 0s
imageMinimumGCAge: 0s
kubeAPIBurst: 40
kubeAPIQPS: 20
maxPods: 500
nodeStatusUpdateFrequency: 0s
runtimeRequestTimeout: 0s
streamingConnectionIdleTimeout: 0s
syncFrequency: 0s
volumeStatsAggPeriod: 0s
There are many properties that are being set that have no default. Their zero values are appearing in the marshalled struct. In all the cases I've checked, the upstream default (documented in the type definitions) is not the zero value.
Their presence is confusing in two ways: (1) neither the user nor ssh-provider set the values, and (2) the values will be ignored by kubelet and kube-proxy when they read their configuration.
The properties that are empty objects or have zero second durations should not be set at all: