kubeletのconfigをサクッと確認する手順

```sh
kubectl proxy
curl -X GET http://127.0.0.1:8001/api/v1/nodes/k3d-example-server-0/proxy/configz | jq
```

<details><summary>出力サンプル</summary>

```json
{
  "cloudcontrollermanager.config.k8s.io": {
    "Generic": {
      "Port": 0,
      "Address": "0.0.0.0",
      "MinResyncPeriod": "12h0m0s",
      "ClientConnection": {
        "Kubeconfig": "/var/lib/rancher/k3s/server/cred/cloud-controller.kubeconfig",
        "AcceptContentTypes": "",
        "ContentType": "application/vnd.kubernetes.protobuf",
        "QPS": 20,
        "Burst": 30
      },
      "ControllerStartInterval": "0s",
      "LeaderElection": {
        "LeaderElect": false,
        "LeaseDuration": "15s",
        "RenewDeadline": "10s",
        "RetryPeriod": "2s",
        "ResourceLock": "leases",
        "ResourceName": "k3s-cloud-controller-manager",
        "ResourceNamespace": "kube-system"
      },
      "Controllers": [
        "*",
        "-node-route-controller"
      ],
      "Debugging": {
        "EnableProfiling": false,
        "EnableContentionProfiling": false
      },
      "LeaderMigrationEnabled": false,
      "LeaderMigration": {
        "LeaderName": "",
        "ResourceLock": "",
        "ControllerLeaders": null
      }
    },
    "KubeCloudShared": {
      "CloudProvider": {
        "Name": "k3s",
        "CloudConfigFile": "/var/lib/rancher/k3s/server/etc/cloud-config.yaml"
      },
      "ExternalCloudVolumePlugin": "",
      "UseServiceAccountCredentials": false,
      "AllowUntaggedCloud": false,
      "RouteReconciliationPeriod": "10s",
      "NodeMonitorPeriod": "5s",
      "ClusterName": "kubernetes",
      "ClusterCIDR": "10.42.0.0/16",
      "AllocateNodeCIDRs": true,
      "CIDRAllocatorType": "RangeAllocator",
      "ConfigureCloudRoutes": false,
      "NodeSyncPeriod": "0s"
    },
    "NodeController": {
      "ConcurrentNodeSyncs": 1
    },
    "ServiceController": {
      "ConcurrentServiceSyncs": 1
    },
    "NodeStatusUpdateFrequency": "1m0s",
    "Webhook": {
      "Webhooks": null
    }
  },
  "componentconfig": {
    "apiVersion": "kubescheduler.config.k8s.io/v1",
    "Parallelism": 16,
    "LeaderElection": {
      "LeaderElect": false,
      "LeaseDuration": "15s",
      "RenewDeadline": "10s",
      "RetryPeriod": "2s",
      "ResourceLock": "leases",
      "ResourceName": "kube-scheduler",
      "ResourceNamespace": "kube-system"
    },
    "ClientConnection": {
      "Kubeconfig": "/var/lib/rancher/k3s/server/cred/scheduler.kubeconfig",
      "AcceptContentTypes": "",
      "ContentType": "application/vnd.kubernetes.protobuf",
      "QPS": 50,
      "Burst": 100
    },
    "HealthzBindAddress": "",
    "MetricsBindAddress": "",
    "EnableProfiling": false,
    "EnableContentionProfiling": true,
    "PercentageOfNodesToScore": 0,
    "PodInitialBackoffSeconds": 1,
    "PodMaxBackoffSeconds": 10,
    "Profiles": [
      {
        "SchedulerName": "default-scheduler",
        "PercentageOfNodesToScore": null,
        "Plugins": {
          "PreEnqueue": {
            "Enabled": null,
            "Disabled": null
          },
          "QueueSort": {
            "Enabled": null,
            "Disabled": null
          },
          "PreFilter": {
            "Enabled": null,
            "Disabled": null
          },
          "Filter": {
            "Enabled": null,
            "Disabled": null
          },
          "PostFilter": {
            "Enabled": null,
            "Disabled": null
          },
          "PreScore": {
            "Enabled": null,
            "Disabled": null
          },
          "Score": {
            "Enabled": null,
            "Disabled": null
          },
          "Reserve": {
            "Enabled": null,
            "Disabled": null
          },
          "Permit": {
            "Enabled": null,
            "Disabled": null
          },
          "PreBind": {
            "Enabled": null,
            "Disabled": null
          },
          "Bind": {
            "Enabled": null,
            "Disabled": null
          },
          "PostBind": {
            "Enabled": null,
            "Disabled": null
          },
          "MultiPoint": {
            "Enabled": [
              {
                "Name": "PrioritySort",
                "Weight": 0
              },
              {
                "Name": "NodeUnschedulable",
                "Weight": 0
              },
              {
                "Name": "NodeName",
                "Weight": 0
              },
              {
                "Name": "TaintToleration",
                "Weight": 3
              },
              {
                "Name": "NodeAffinity",
                "Weight": 2
              },
              {
                "Name": "NodePorts",
                "Weight": 0
              },
              {
                "Name": "NodeResourcesFit",
                "Weight": 1
              },
              {
                "Name": "VolumeRestrictions",
                "Weight": 0
              },
              {
                "Name": "EBSLimits",
                "Weight": 0
              },
              {
                "Name": "GCEPDLimits",
                "Weight": 0
              },
              {
                "Name": "NodeVolumeLimits",
                "Weight": 0
              },
              {
                "Name": "AzureDiskLimits",
                "Weight": 0
              },
              {
                "Name": "VolumeBinding",
                "Weight": 0
              },
              {
                "Name": "VolumeZone",
                "Weight": 0
              },
              {
                "Name": "PodTopologySpread",
                "Weight": 2
              },
              {
                "Name": "InterPodAffinity",
                "Weight": 2
              },
              {
                "Name": "DefaultPreemption",
                "Weight": 0
              },
              {
                "Name": "NodeResourcesBalancedAllocation",
                "Weight": 1
              },
              {
                "Name": "ImageLocality",
                "Weight": 1
              },
              {
                "Name": "DefaultBinder",
                "Weight": 0
              },
              {
                "Name": "SchedulingGates",
                "Weight": 0
              }
            ],
            "Disabled": null
          }
        },
        "PluginConfig": [
          {
            "Name": "DefaultPreemption",
            "Args": {
              "MinCandidateNodesPercentage": 10,
              "MinCandidateNodesAbsolute": 100
            }
          },
          {
            "Name": "InterPodAffinity",
            "Args": {
              "HardPodAffinityWeight": 1,
              "IgnorePreferredTermsOfExistingPods": false
            }
          },
          {
            "Name": "NodeAffinity",
            "Args": {
              "AddedAffinity": null
            }
          },
          {
            "Name": "NodeResourcesBalancedAllocation",
            "Args": {
              "Resources": [
                {
                  "Name": "cpu",
                  "Weight": 1
                },
                {
                  "Name": "memory",
                  "Weight": 1
                }
              ]
            }
          },
          {
            "Name": "NodeResourcesFit",
            "Args": {
              "IgnoredResources": null,
              "IgnoredResourceGroups": null,
              "ScoringStrategy": {
                "Type": "LeastAllocated",
                "Resources": [
                  {
                    "Name": "cpu",
                    "Weight": 1
                  },
                  {
                    "Name": "memory",
                    "Weight": 1
                  }
                ],
                "RequestedToCapacityRatio": null
              }
            }
          },
          {
            "Name": "PodTopologySpread",
            "Args": {
              "DefaultConstraints": null,
              "DefaultingType": "System"
            }
          },
          {
            "Name": "VolumeBinding",
            "Args": {
              "BindTimeoutSeconds": 600,
              "Shape": null
            }
          }
        ]
      }
    ],
    "Extenders": null,
    "DelayCacheUntilActive": false
  },
  "kubecontrollermanager.config.k8s.io": {
    "Generic": {
      "Port": 0,
      "Address": "0.0.0.0",
      "MinResyncPeriod": "12h0m0s",
      "ClientConnection": {
        "Kubeconfig": "/var/lib/rancher/k3s/server/cred/controller.kubeconfig",
        "AcceptContentTypes": "",
        "ContentType": "application/vnd.kubernetes.protobuf",
        "QPS": 20,
        "Burst": 30
      },
      "ControllerStartInterval": "0s",
      "LeaderElection": {
        "LeaderElect": false,
        "LeaseDuration": "15s",
        "RenewDeadline": "10s",
        "RetryPeriod": "2s",
        "ResourceLock": "leases",
        "ResourceName": "kube-controller-manager",
        "ResourceNamespace": "kube-system"
      },
      "Controllers": [
        "*",
        "token-cleaner-controller",
        "-service-lb-controller",
        "-node-route-controller",
        "-cloud-node-lifecycle-controller"
      ],
      "Debugging": {
        "EnableProfiling": false,
        "EnableContentionProfiling": false
      },
      "LeaderMigrationEnabled": false,
      "LeaderMigration": {
        "LeaderName": "",
        "ResourceLock": "",
        "ControllerLeaders": null
      }
    },
    "KubeCloudShared": {
      "CloudProvider": {
        "Name": "",
        "CloudConfigFile": ""
      },
      "ExternalCloudVolumePlugin": "",
      "UseServiceAccountCredentials": true,
      "AllowUntaggedCloud": false,
      "RouteReconciliationPeriod": "10s",
      "NodeMonitorPeriod": "5s",
      "ClusterName": "kubernetes",
      "ClusterCIDR": "10.42.0.0/16",
      "AllocateNodeCIDRs": true,
      "CIDRAllocatorType": "RangeAllocator",
      "ConfigureCloudRoutes": false,
      "NodeSyncPeriod": "0s"
    },
    "AttachDetachController": {
      "DisableAttachDetachReconcilerSync": false,
      "ReconcilerSyncLoopPeriod": "1m0s"
    },
    "CSRSigningController": {
      "ClusterSigningCertFile": "",
      "ClusterSigningKeyFile": "",
      "KubeletServingSignerConfiguration": {
        "CertFile": "/var/lib/rancher/k3s/server/tls/server-ca.nochain.crt",
        "KeyFile": "/var/lib/rancher/k3s/server/tls/server-ca.key"
      },
      "KubeletClientSignerConfiguration": {
        "CertFile": "/var/lib/rancher/k3s/server/tls/client-ca.nochain.crt",
        "KeyFile": "/var/lib/rancher/k3s/server/tls/client-ca.key"
      },
      "KubeAPIServerClientSignerConfiguration": {
        "CertFile": "/var/lib/rancher/k3s/server/tls/client-ca.nochain.crt",
        "KeyFile": "/var/lib/rancher/k3s/server/tls/client-ca.key"
      },
      "LegacyUnknownSignerConfiguration": {
        "CertFile": "/var/lib/rancher/k3s/server/tls/server-ca.nochain.crt",
        "KeyFile": "/var/lib/rancher/k3s/server/tls/server-ca.key"
      },
      "ClusterSigningDuration": "8760h0m0s"
    },
    "DaemonSetController": {
      "ConcurrentDaemonSetSyncs": 2
    },
    "DeploymentController": {
      "ConcurrentDeploymentSyncs": 5
    },
    "StatefulSetController": {
      "ConcurrentStatefulSetSyncs": 5
    },
    "DeprecatedController": {},
    "EndpointController": {
      "ConcurrentEndpointSyncs": 5,
      "EndpointUpdatesBatchPeriod": "0s"
    },
    "EndpointSliceController": {
      "ConcurrentServiceEndpointSyncs": 5,
      "MaxEndpointsPerSlice": 100,
      "EndpointUpdatesBatchPeriod": "0s"
    },
    "EndpointSliceMirroringController": {
      "MirroringConcurrentServiceEndpointSyncs": 5,
      "MirroringMaxEndpointsPerSubset": 1000,
      "MirroringEndpointUpdatesBatchPeriod": "0s"
    },
    "EphemeralVolumeController": {
      "ConcurrentEphemeralVolumeSyncs": 5
    },
    "GarbageCollectorController": {
      "EnableGarbageCollector": true,
      "ConcurrentGCSyncs": 20,
      "GCIgnoredResources": [
        {
          "Group": "",
          "Resource": "events"
        },
        {
          "Group": "events.k8s.io",
          "Resource": "events"
        }
      ]
    },
    "HPAController": {
      "ConcurrentHorizontalPodAutoscalerSyncs": 5,
      "HorizontalPodAutoscalerSyncPeriod": "15s",
      "HorizontalPodAutoscalerUpscaleForbiddenWindow": "3m0s",
      "HorizontalPodAutoscalerDownscaleForbiddenWindow": "5m0s",
      "HorizontalPodAutoscalerDownscaleStabilizationWindow": "5m0s",
      "HorizontalPodAutoscalerTolerance": 0.1,
      "HorizontalPodAutoscalerCPUInitializationPeriod": "5m0s",
      "HorizontalPodAutoscalerInitialReadinessDelay": "30s"
    },
    "JobController": {
      "ConcurrentJobSyncs": 5
    },
    "CronJobController": {
      "ConcurrentCronJobSyncs": 5
    },
    "LegacySATokenCleaner": {
      "CleanUpPeriod": "8760h0m0s"
    },
    "NamespaceController": {
      "NamespaceSyncPeriod": "5m0s",
      "ConcurrentNamespaceSyncs": 10
    },
    "NodeIPAMController": {
      "ServiceCIDR": "10.43.0.0/16",
      "SecondaryServiceCIDR": "",
      "NodeCIDRMaskSize": 0,
      "NodeCIDRMaskSizeIPv4": 0,
      "NodeCIDRMaskSizeIPv6": 0
    },
    "NodeLifecycleController": {
      "NodeEvictionRate": 0.1,
      "SecondaryNodeEvictionRate": 0.01,
      "NodeStartupGracePeriod": "1m0s",
      "NodeMonitorGracePeriod": "40s",
      "LargeClusterSizeThreshold": 50,
      "UnhealthyZoneThreshold": 0.55
    },
    "PersistentVolumeBinderController": {
      "PVClaimBinderSyncPeriod": "15s",
      "VolumeConfiguration": {
        "EnableHostPathProvisioning": false,
        "EnableDynamicProvisioning": true,
        "PersistentVolumeRecyclerConfiguration": {
          "MaximumRetry": 3,
          "MinimumTimeoutNFS": 300,
          "PodTemplateFilePathNFS": "",
          "IncrementTimeoutNFS": 30,
          "PodTemplateFilePathHostPath": "",
          "MinimumTimeoutHostPath": 60,
          "IncrementTimeoutHostPath": 30
        },
        "FlexVolumePluginDir": "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/"
      },
      "VolumeHostCIDRDenylist": null,
      "VolumeHostAllowLocalLoopback": true
    },
    "PodGCController": {
      "TerminatedPodGCThreshold": 12500
    },
    "ReplicaSetController": {
      "ConcurrentRSSyncs": 5
    },
    "ReplicationController": {
      "ConcurrentRCSyncs": 5
    },
    "ResourceQuotaController": {
      "ResourceQuotaSyncPeriod": "5m0s",
      "ConcurrentResourceQuotaSyncs": 5
    },
    "SAController": {
      "ServiceAccountKeyFile": "/var/lib/rancher/k3s/server/tls/service.current.key",
      "ConcurrentSATokenSyncs": 5,
      "RootCAFile": "/var/lib/rancher/k3s/server/tls/server-ca.crt"
    },
    "ServiceController": {
      "ConcurrentServiceSyncs": 1
    },
    "TTLAfterFinishedController": {
      "ConcurrentTTLSyncs": 5
    },
    "ValidatingAdmissionPolicyStatusController": {
      "ConcurrentPolicySyncs": 5
    }
  },
  "kubeletconfig": {
    "enableServer": true,
    "staticPodPath": "/var/lib/rancher/k3s/agent/pod-manifests",
    "syncFrequency": "1m0s",
    "fileCheckFrequency": "20s",
    "httpCheckFrequency": "20s",
    "address": "0.0.0.0",
    "port": 10250,
    "tlsCertFile": "/var/lib/rancher/k3s/agent/serving-kubelet.crt",
    "tlsPrivateKeyFile": "/var/lib/rancher/k3s/agent/serving-kubelet.key",
    "authentication": {
      "x509": {
        "clientCAFile": "/var/lib/rancher/k3s/agent/client-ca.crt"
      },
      "webhook": {
        "enabled": true,
        "cacheTTL": "2m0s"
      },
      "anonymous": {
        "enabled": false
      }
    },
    "authorization": {
      "mode": "Webhook",
      "webhook": {
        "cacheAuthorizedTTL": "5m0s",
        "cacheUnauthorizedTTL": "30s"
      }
    },
    "registryPullQPS": 1000,
    "registryBurst": 10,
    "eventRecordQPS": 50,
    "eventBurst": 100,
    "enableDebuggingHandlers": true,
    "healthzPort": 10248,
    "healthzBindAddress": "127.0.0.1",
    "oomScoreAdj": -999,
    "clusterDomain": "cluster.local",
    "clusterDNS": [
      "10.43.0.10"
    ],
    "streamingConnectionIdleTimeout": "4h0m0s",
    "nodeStatusUpdateFrequency": "10s",
    "nodeStatusReportFrequency": "5m0s",
    "nodeLeaseDurationSeconds": 40,
    "imageMinimumGCAge": "2m0s",
    "imageMaximumGCAge": "0s",
    "imageGCHighThresholdPercent": 85,
    "imageGCLowThresholdPercent": 80,
    "volumeStatsAggPeriod": "1m0s",
    "kubeletCgroups": "/k3s",
    "cgroupsPerQOS": true,
    "cgroupDriver": "cgroupfs",
    "cpuManagerPolicy": "none",
    "cpuManagerReconcilePeriod": "10s",
    "memoryManagerPolicy": "None",
    "topologyManagerPolicy": "none",
    "topologyManagerScope": "container",
    "runtimeRequestTimeout": "2m0s",
    "hairpinMode": "promiscuous-bridge",
    "maxPods": 110,
    "podPidsLimit": -1,
    "resolvConf": "/etc/resolv.conf",
    "cpuCFSQuota": true,
    "cpuCFSQuotaPeriod": "100ms",
    "nodeStatusMaxImages": 50,
    "maxOpenFiles": 1000000,
    "contentType": "application/vnd.kubernetes.protobuf",
    "kubeAPIQPS": 50,
    "kubeAPIBurst": 100,
    "serializeImagePulls": false,
    "evictionHard": {
      "imagefs.available": "5%",
      "nodefs.available": "5%"
    },
    "evictionPressureTransitionPeriod": "5m0s",
    "evictionMinimumReclaim": {
      "imagefs.available": "10%",
      "nodefs.available": "10%"
    },
    "enableControllerAttachDetach": true,
    "makeIPTablesUtilChains": true,
    "iptablesMasqueradeBit": 14,
    "iptablesDropBit": 15,
    "featureGates": {
      "CloudDualStackNodeIPs": true
    },
    "failSwapOn": false,
    "memorySwap": {},
    "containerLogMaxSize": "10Mi",
    "containerLogMaxFiles": 5,
    "configMapAndSecretChangeDetectionStrategy": "Watch",
    "enforceNodeAllocatable": [
      "pods"
    ],
    "allowedUnsafeSysctls": [
      "net.ipv4.ip_forward",
      "net.ipv6.conf.all.forwarding"
    ],
    "volumePluginDir": "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/",
    "logging": {
      "format": "text",
      "flushFrequency": "5s",
      "verbosity": 0,
      "options": {
        "json": {
          "infoBufferSize": "0"
        }
      }
    },
    "enableSystemLogHandler": true,
    "enableSystemLogQuery": false,
    "shutdownGracePeriod": "0s",
    "shutdownGracePeriodCriticalPods": "0s",
    "enableProfilingHandler": true,
    "enableDebugFlagsHandler": true,
    "seccompDefault": false,
    "memoryThrottlingFactor": 0.9,
    "registerNode": true,
    "localStorageCapacityIsolation": true,
    "containerRuntimeEndpoint": "unix:///run/k3s/containerd/containerd.sock"
  },
  "kubeproxy.config.k8s.io": {
    "FeatureGates": {},
    "ClientConnection": {
      "Kubeconfig": "/var/lib/rancher/k3s/agent/kubeproxy.kubeconfig",
      "AcceptContentTypes": "",
      "ContentType": "application/vnd.kubernetes.protobuf",
      "QPS": 5,
      "Burst": 10
    },
    "Logging": {
      "format": "text",
      "flushFrequency": "5s",
      "verbosity": 0,
      "options": {
        "json": {
          "infoBufferSize": "0"
        }
      }
    },
    "HostnameOverride": "k3d-example-server-0",
    "BindAddress": "0.0.0.0",
    "HealthzBindAddress": "127.0.0.1:10256",
    "MetricsBindAddress": "127.0.0.1:10249",
    "BindAddressHardFail": false,
    "EnableProfiling": false,
    "ShowHiddenMetricsForVersion": "",
    "Mode": "iptables",
    "IPTables": {
      "MasqueradeBit": 14,
      "MasqueradeAll": false,
      "LocalhostNodePorts": true,
      "SyncPeriod": "30s",
      "MinSyncPeriod": "1s"
    },
    "IPVS": {
      "SyncPeriod": "30s",
      "MinSyncPeriod": "0s",
      "Scheduler": "",
      "ExcludeCIDRs": null,
      "StrictARP": false,
      "TCPTimeout": "0s",
      "TCPFinTimeout": "0s",
      "UDPTimeout": "0s"
    },
    "Winkernel": {
      "NetworkName": "",
      "SourceVip": "",
      "EnableDSR": false,
      "RootHnsEndpointName": "",
      "ForwardHealthCheckVip": false
    },
    "NFTables": {
      "MasqueradeBit": 14,
      "MasqueradeAll": false,
      "SyncPeriod": "30s",
      "MinSyncPeriod": "1s"
    },
    "DetectLocalMode": "ClusterCIDR",
    "DetectLocal": {
      "BridgeInterface": "",
      "InterfaceNamePrefix": ""
    },
    "ClusterCIDR": "10.42.0.0/16",
    "NodePortAddresses": null,
    "OOMScoreAdj": -999,
    "Conntrack": {
      "MaxPerCore": 0,
      "Min": 131072,
      "TCPEstablishedTimeout": "0s",
      "TCPCloseWaitTimeout": "0s",
      "TCPBeLiberal": false,
      "UDPTimeout": "0s",
      "UDPStreamTimeout": "0s"
    },
    "ConfigSyncPeriod": "15m0s",
    "PortRange": ""
  }
}
```

</details>

k3dの場合は `KubeletConfiguration` を書いてカスタマイズ可能である.

```yaml
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
registryPullQPS: 0
```

例

```yaml
apiVersion: k3d.io/v1alpha5
kind: Simple
metadata:
  name: example
servers: 1
agents: 0
image: rancher/k3s:v1.29.3-k3s1
volumes:
  - volume: "${PWD}/kubelet.config:/etc/rancher/k3s/kubelet.config"
    nodeFilters:
      - server:*
options:
  k3s:
    extraArgs:
      - arg: --kubelet-arg=config=/etc/rancher/k3s/kubelet.config
        nodeFilters:
          - server:*
```