• Kubernetes Submit Queue's avatar
    Merge pull request #59692 from mtaufen/dkcfg-unpack-configmaps · 44b57338
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
    
    unpack dynamic kubelet config payloads to files
    
    This PR unpacks the downloaded ConfigMap to a set of files on the node.
    
    This enables other config files to ride alongside the
    KubeletConfiguration, and the KubeletConfiguration to refer to these
    cohabitants with relative paths.
    
    This PR also stops storing dynamic config metadata (e.g. current,
    last-known-good config records) in the same directory as config
    checkpoints. Instead, it splits the storage into `meta` and
    `checkpoints` dirs.
    
    The current store dir structure is as follows:
    ```
    - dir named by --dynamic-config-dir (root for managing dynamic config)
    | - meta (dir for metadata, e.g. which config source is currently assigned, last-known-good)
      | - current (a serialized v1 NodeConfigSource object, indicating the assigned config)
      | - last-known-good (a serialized v1 NodeConfigSource object, indicating the last-known-good config)
    | - checkpoints (dir for config checkpoints)
      | - uid1 (dir for unpacked config, identified by uid1)
        | - file1
        | - file2
        | - ...
      | - uid2
      | - ...
    ```
    
    There are some likely changes to the above structure before dynamic config goes beta, such as renaming "current" to "assigned" for clarity, and extending the checkpoint identifier to include a resource version, as part of resolving #61643.
    
    ```release-note
    NONE
    ```
    
    /cc @luxas @smarterclayton
    44b57338
Name
Last commit
Last update
..
builder Loading commit data...
conformance Loading commit data...
environment Loading commit data...
jenkins Loading commit data...
perftype Loading commit data...
remote Loading commit data...
runner Loading commit data...
services Loading commit data...
system Loading commit data...
BUILD Loading commit data...
OWNERS Loading commit data...
README.md Loading commit data...
apparmor_test.go Loading commit data...
benchmark_util.go Loading commit data...
container.go Loading commit data...
container_log_rotation_test.go Loading commit data...
container_manager_test.go Loading commit data...
cpu_manager_test.go Loading commit data...
critical_pod_test.go Loading commit data...
density_test.go Loading commit data...
device_plugin.go Loading commit data...
doc.go Loading commit data...
docker_test.go Loading commit data...
docker_util.go Loading commit data...
dockershim_checkpoint_test.go Loading commit data...
dynamic_kubelet_config_test.go Loading commit data...
e2e_node_suite_test.go Loading commit data...
eviction_test.go Loading commit data...
framework.go Loading commit data...
garbage_collector_test.go Loading commit data...
gke_environment_test.go Loading commit data...
gpu_device_plugin.go Loading commit data...
gubernator.sh Loading commit data...
hugepages_test.go Loading commit data...
image_id_test.go Loading commit data...
image_list.go Loading commit data...
kubelet_test.go Loading commit data...
lifecycle_hook_test.go Loading commit data...
log_path_test.go Loading commit data...
mirror_pod_test.go Loading commit data...
node_container_manager_test.go Loading commit data...
node_problem_detector_linux.go Loading commit data...
pods_container_manager_test.go Loading commit data...
resource_collector.go Loading commit data...
resource_usage_test.go Loading commit data...
restart_test.go Loading commit data...
runtime_conformance_test.go Loading commit data...
security_context_test.go Loading commit data...
summary_test.go Loading commit data...
util.go Loading commit data...
volume_manager_test.go Loading commit data...