• 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
..
api Loading commit data...
apis Loading commit data...
auth Loading commit data...
capabilities Loading commit data...
client Loading commit data...
cloudprovider Loading commit data...
controller Loading commit data...
credentialprovider Loading commit data...
features Loading commit data...
fieldpath Loading commit data...
generated Loading commit data...
kubeapiserver Loading commit data...
kubectl Loading commit data...
kubelet Loading commit data...
kubemark Loading commit data...
master Loading commit data...
printers Loading commit data...
probe Loading commit data...
proxy Loading commit data...
quota Loading commit data...
registry Loading commit data...
routes Loading commit data...
scheduler Loading commit data...
security Loading commit data...
securitycontext Loading commit data...
serviceaccount Loading commit data...
ssh Loading commit data...
util Loading commit data...
version Loading commit data...
volume Loading commit data...
watch/json Loading commit data...
windows/service Loading commit data...
.import-restrictions Loading commit data...
BUILD Loading commit data...
OWNERS Loading commit data...