Skip to content

Omit fields in Kubelet and KubeProxy configuration that not given by the user or by ssh-provider (as a default value) #61

@dlipovetsky

Description

@dlipovetsky

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions