• Yu-Ju Hong's avatar
    kubelet: revamp the pod/container naming scheme · fe70be92
    Yu-Ju Hong authored
    There are two main goals for this change.
    
     1. Fix the naming scheme in kubelet so that it accepts DNS subdomain
        name/namespaces correctly (#4920). The design is discussed in #3453.
    
     2. Prepare for syncing the static pods back to the apiserver(#4090). This
        includes
    
      - Eliminate the source component in the internal full pod name (#4922). Pods
        no longer need sources as they will all be sync'd via apiserver.
    
      - Changing the naming scheme for the static (file-, http-, and etcd-based)
        pods such that they are distinguishable when syncing back to the apiserver.
    
    The changes includes:
      *	name = <pod.Name>-<hostname>
      * namespace = <cluster_namespace> (i.e. "default" for now).
      * container_name = k8s_<contianer_name>.<hash_of_container>_<pod_name>_<namespace>_<uid>_<random>
    
    Note that this is not backward-compatible, meaning the kubelet won't recognize
    existing running containers using the old naming scheme.
    fe70be92
docker_test.go 15.9 KB