Kubernetes Release: 0.17.0

Release Notes:

  • Cleanups

    • Remove old salt configs #8065 (roberthbailey)
    • Kubelet: minor cleanups #8069 (yujuhong)
  • v1beta3

    • update example/walkthrough to v1beta3 #7940 (caesarxuchao)
    • update example/rethinkdb to v1beta3 #7946 (caesarxuchao)
    • verify the v1beta3 yaml files all work; merge the yaml files #7917 (caesarxuchao)
    • update examples/cassandra to api v1beta3 #7258 (caesarxuchao)
    • update service.json in persistent-volume example to v1beta3 #7899 (caesarxuchao)
    • update mysql-wordpress example to use v1beta3 API #7864 (caesarxuchao)
    • Update examples/meteor to use API v1beta3 #7848 (caesarxuchao)
    • update node-selector example to API v1beta3 #7872 (caesarxuchao)
    • update logging-demo to use API v1beta3; modify the way to access Elasticsearch and Kibana services #7824 (caesarxuchao)
    • Convert the skydns rc to use v1beta3 and add a health check to it #7619 (a-robinson)
    • update the hazelcast example to API version v1beta3 #7728 (caesarxuchao)
    • Fix YAML parsing for v1beta3 objects in the kubelet for file/http #7515 (brendandburns)
    • Updated kubectl cluster-info to show v1beta3 addresses #7502 (piosz)
  • Kubelet

    • kubelet: Fix racy kubelet tests. #7980 (yifan-gu)
    • kubelet/container: Move prober.ContainerCommandRunner to container. #8079 (yifan-gu)
    • Kubelet: set host field in the pending pod status #6127 (yujuhong)
    • Fix the kubelet node watch #6442 (yujuhong)
    • Kubelet: recreate mirror pod if the static pod changes #6607 (yujuhong)
    • Kubelet: record the timestamp correctly in the runtime cache #7749 (yujuhong)
    • Kubelet: wait until container runtime is up #7729 (yujuhong)
    • Kubelet: replace DockerManager with the Runtime interface #7674 (yujuhong)
    • Kubelet: filter out terminated pods in SyncPods #7301 (yujuhong)
    • Kubelet: parallelize cleaning up containers in unwanted pods #7048 (yujuhong)
    • kubelet: Add container runtime option for rkt. #7952 (yifan-gu)
    • kubelet/rkt: Remove build label. #7916 (yifan-gu)
    • kubelet/metrics: Move instrumented_docker.go to dockertools. #7327 (yifan-gu)
    • kubelet/rkt: Add GetPods() for rkt. #7599 (yifan-gu)
    • kubelet/rkt: Add KillPod() and GetPodStatus() for rkt. #7605 (yifan-gu)
    • pkg/kubelet: Fix logging. #4755 (yifan-gu)
    • kubelet: Refactor RunInContainer/ExecInContainer/PortForward. #6491 (yifan-gu)
    • kubelet/DockerManager: Fix returning empty error from GetPodStatus(). #6609 (yifan-gu)
    • kubelet: Move pod infra container image setting to dockertools. #6634 (yifan-gu)
    • kubelet/fake_docker_client: Use self's PID instead of 42 in testing. #6653 (yifan-gu)
    • kubelet/dockertool: Move Getpods() to DockerManager. #6778 (yifan-gu)
    • kubelet/dockertools: Add puller interfaces in the containerManager. #6776 (yifan-gu)
    • kubelet: Introduce PodInfraContainerChanged(). #6608 (yifan-gu)
    • kubelet/container: Replace DockerCache with RuntimeCache. #6795 (yifan-gu)
    • kubelet: Clean up computePodContainerChanges. #6844 (yifan-gu)
    • kubelet: Refactor prober. #7009 (yifan-gu)
    • kubelet/container: Update the runtime interface. #7466 (yifan-gu)
    • kubelet: Refactor isPodRunning() in runonce.go #7477 (yifan-gu)
    • kubelet/rkt: Add basic rkt runtime routines. #7465 (yifan-gu)
    • kubelet/rkt: Add podInfo. #7555 (yifan-gu)
    • kubelet/container: Add GetContainerLogs to runtime interface. #7488 (yifan-gu)
    • kubelet/rkt: Add routines for converting kubelet pod to rkt pod. #7543 (yifan-gu)
    • kubelet/rkt: Add RunPod() for rkt. #7589 (yifan-gu)
    • kubelet/rkt: Add RunInContainer()/ExecInContainer()/PortForward(). #7553 (yifan-gu)
    • kubelet/container: Move ShouldContainerBeRestarted() to runtime. #7613 (yifan-gu)
    • kubelet/rkt: Add SyncPod() to rkt. #7611 (yifan-gu)
    • Kubelet: persist restart count of a container #6794 (yujuhong)
    • kubelet/container: Move pty*.go to container runtime package. #7951 (yifan-gu)
    • kubelet: Add container runtime option for rkt. #7900 (yifan-gu)
    • kubelet/rkt: Add docker prefix to image string. #7803 (yifan-gu)
    • kubelet/rkt: Inject dependencies to rkt. #7849 (yifan-gu)
    • kubelet/rkt: Remove dependencies on rkt.store #7859 (yifan-gu)
    • Kubelet talks securely to apiserver #2387 (erictune)
    • Rename EnvVarSource.FieldPath -> FieldRef and add example #7592 (pmorie)
    • Add containerized option to kubelet binary #7741 (pmorie)
    • Ease building kubelet image #7948 (pmorie)
    • Remove unnecessary bind-mount from dockerized kubelet run #7854 (pmorie)
    • Add ability to dockerize kubelet in local cluster #7798 (pmorie)
    • Create docker image for kubelet #7797 (pmorie)
    • Security context - types, kubelet, admission #7343 (pweil-)
    • Kubelet: Add rkt as a runtime option #7743 (vmarmol)
    • Fix kubelet's docker RunInContainer implementation #7746 (vishh)
  • AWS

    • AWS: Don't try to copy gce_keys in jenkins e2e job #8018 (justinsb)
    • AWS: Copy some new properties from config-default => config.test #7992 (justinsb)
    • AWS: make it possible to disable minion public ip assignment #7928 (manolitto)
    • update AWS CloudFormation template and cloud-configs #7667 (antoineco)
    • AWS: Fix variable naming that meant not all tokens were written #7736 (justinsb)
    • AWS: Change apiserver to listen on 443 directly, not through nginx #7678 (justinsb)
    • AWS: Improving getting existing VPC and subnet #6606 (gust1n)
    • AWS EBS volume support #5138 (justinsb)
  • Introduce an 'svc' segment for DNS search #8089 (thockin)

  • Adds ability to define a prefix for etcd paths #5707 (kbeecher)

  • Add kubectl log --previous support to view last terminated container log #7973 (dchen1107)

  • Add a flag to disable legacy APIs #8083 (brendandburns)

  • make the dockerkeyring handle mutiple matching credentials #7971 (deads2k)

  • Convert Fluentd to Cloud Logging pod specs to YAML #8078 (satnam6502)

  • Use etcd to allocate PortalIPs instead of in-mem #7704 (smarterclayton)

  • eliminate auth-path #8064 (deads2k)

  • Record failure reasons for image pulling #7981 (yujuhong)

  • Rate limit replica creation #7869 (bprashanth)

  • Upgrade to Kibana 4 for cluster logging #7995 (satnam6502)

  • Added name to kube-dns service #8049 (piosz)

  • Fix validation by moving it into the resource builder. #7919 (brendandburns)

  • Add cache with multiple shards to decrease lock contention #8050 (fgrzadkowski)

  • Delete status from displayable resources #8039 (nak3)

  • Refactor volume interfaces to receive pod instead of ObjectReference #8044 (pmorie)

  • fix kube-down for provider gke #7565 (jlowdermilk)

  • Service port names are required for multi-port #7786 (thockin)

  • Increase disk size for kubernetes master. #8051 (fgrzadkowski)

  • expose: Load input object for increased safety #7774 (kargakis)

  • Improments to conversion methods generator #7896 (wojtek-t)

  • Added displaying external IPs to kubectl cluster-info #7557 (piosz)

  • Add missing Errorf formatting directives #8037 (shawnps)

  • Add startup code to apiserver to migrate etcd keys #7567 (kbeecher)

  • Use error type from docker go-client instead of string #8021 (ddysher)

  • Accurately get hardware cpu count in Vagrantfile. #8024 (BenTheElder)

  • Stop setting a GKE specific version of the kubeconfig file #7921 (roberthbailey)

  • Make the API server deal with HEAD requests via the service proxy #7950 (satnam6502)

  • GlusterFS Critical Bug Resolved - Removing warning in README #7983 (wattsteve)

  • Don't use the first token uname -n as the hostname #7967 (yujuhong)

  • Call kube-down in test-teardown for vagrant. #7982 (BenTheElder)

  • defaults_tests: verify defaults when converting to an API object #6235 (yujuhong)

  • Use the full hostname for mirror pod name. #7910 (yujuhong)

  • Removes RunPod in the Runtime interface #7657 (yujuhong)

  • Clean up dockertools/manager.go and add more unit tests #7533 (yujuhong)

  • Adapt pod killing and cleanup for generic container runtime #7525 (yujuhong)

  • Fix pod filtering in replication controller #7198 (yujuhong)

  • Print container statuses in kubectl get pods #7116 (yujuhong)

  • Prioritize deleting the non-running pods when reducing replicas #6992 (yujuhong)

  • Fix locking issue in pod manager #6872 (yujuhong)

  • Limit the number of concurrent tests in integration.go #6655 (yujuhong)

  • Fix typos in different config comments #7931 (pmorie)

  • Update cAdvisor dependency. #7929 (vmarmol)

  • Ubuntu-distro: deprecate & merge ubuntu single node work to ubuntu cluster node stuff#5498 (resouer)

  • Add control variables to Jenkins E2E script #7935 (saad-ali)

  • Check node status as part of validate-cluster.sh. #7932 (fabioy)

  • Add old endpoint cleanup function #7821 (lavalamp)

  • Support recovery from in the middle of a rename. #7620 (brendandburns)

  • Update Exec and Portforward client to use pod subresource #7715 (csrwng)

  • Added NFS to PV structs #7564 (markturansky)

  • Fix environment variable error in Vagrant docs #7904 (posita)

  • Adds a simple release-note builder that scrapes the GitHub API for recent PRs #7616(brendandburns)

  • Scheduler ignores nodes that are in a bad state #7668 (bprashanth)

  • Set GOMAXPROCS for etcd #7863 (fgrzadkowski)

  • Auto-generated conversion methods calling one another #7556 (wojtek-t)

  • Bring up a kuberenetes cluster using coreos image as worker nodes #7445 (dchen1107)

  • Godep: Add godep for rkt. #7410 (yifan-gu)

  • Add volumeGetter to rkt. #7870 (yifan-gu)

  • Update cAdvisor dependency. #7897 (vmarmol)

  • DNS: expose 53/TCP #7822 (thockin)

  • Set NodeReady=False when docker is dead #7763 (wojtek-t)

  • Ignore latency metrics for events #7857 (fgrzadkowski)

  • SecurityContext admission clean up #7792 (pweil-)

  • Support manually-created and generated conversion functions #7832 (wojtek-t)

  • Add latency metrics for etcd operations #7833 (fgrzadkowski)

  • Update errors_test.go #7885 (hurf)

  • Change signature of container runtime PullImage to allow pull w/ secret #7861 (pmorie)

  • Fix bug in Service documentation: incorrect location of "selector" in JSON [#7873]146

  • Fix controller-manager manifest for providers that don't specify CLUSTER_IP_RANGE[#7876][147] (cjcullen)

  • Fix controller unittests [#7867][148] (bprashanth)

  • Enable GCM and GCL instead of InfluxDB on GCE [#7751][149] (saad-ali)

  • Remove restriction that cluster-cidr be a class-b [#7862][150] (cjcullen)

  • Fix OpenShift example [#7591][151] (derekwaynecarr)

  • API Server - pass path name in context of create request for subresource [#7718][152] (csrwng)

  • Rolling Updates: Add support for --rollback. [#7575][153] (brendandburns)

  • Update to container-vm-v20150505 (Also updates GCE to Docker 1.6) [#7820][154] (zmerlynn)

  • Fix metric label [#7830][155] (rhcarvalho)

  • Fix v1beta1 typos in v1beta2 conversions [#7838][156] (pmorie)

  • skydns: use the etcd-2.x native syntax, enable IANA attributed ports. [#7764]157

  • Added port 6443 to kube-proxy default IP address for api-server [#7794][158] (markllama)

  • Added client header info for authentication doc. [#7834][159] (ashcrow)

  • Clean up safe_format_and_mount spam in the startup logs [#7827][160] (zmerlynn)

  • Set allocate_node_cidrs to be blank by default. [#7829][161] (roberthbailey)

  • Fix sync problems in [#5246][162] [#7799][163] (cjcullen)

  • Fix event doc link [#7823][164] (saad-ali)

  • Cobra update and bash completions fix [#7776][165] (eparis)

  • Fix kube2sky flakes. Fix tools.GetEtcdVersion to work with etcd > 2.0.7 [#7675][166] (cjcullen)

  • Change kube2sky to use token-system-dns secret, point at https endpoint ... [#7154]167

  • replica: serialize created-by reference [#7468][168] (simon3z)

  • Inject mounter into volume plugins [#7702][169] (pmorie)

  • bringing CoreOS cloud-configs up-to-date (against 0.15.x and latest OS' alpha) [#6973]170

  • Update kubeconfig-file doc. [#7787][171] (jlowdermilk)

  • Throw an API error when deleting namespace in termination [#7780][172] (derekwaynecarr)

  • Fix command field PodExecOptions [#7773][173] (csrwng)

  • Start ImageManager housekeeping in Run(). [#7785][174] (vmarmol)

  • fix DeepCopy to properly support runtime.EmbeddedObject [#7769][175] (deads2k)

  • fix master service endpoint system for multiple masters [#7273][176] (lavalamp)

  • Add genbashcomp to KUBE_TEST_TARGETS [#7757][177] (nak3)

  • Change the cloud provider TCPLoadBalancerExists function to GetTCPLoadBalancer...[#7669][178] (a-robinson)

  • Add containerized option to kubelet binary [#7772][179] (pmorie)

  • Fix swagger spec [#7779][180] (pmorie)

  • FIX: Issue [#7750][181] - Hyperkube docker image needs certificates to connect to cloud-providers[#7755][182] (viklas)

  • Add build labels to rkt [#7752][183] (vmarmol)

  • Check license boilerplate for python files [#7672][184] (eparis)

  • Reliable updates in rollingupdate [#7705][185] (bprashanth)

  • Don't exit abruptly if there aren't yet any minions right after the cluster is created. [#7650]186

  • Make changes suggested in [#7675][166] [#7742][187] (cjcullen)

  • A guide to set up kubernetes multiple nodes cluster with flannel on fedora [#7357]188

  • Setup generators in factory [#7760][189] (kargakis)

  • Reduce usage of time.After [#7737][190] (lavalamp)

  • Remove node status from "componentstatuses" call. [#7735][191] (fabioy)

  • React to failure by growing the remaining clusters [#7614][192] (tamsky)

  • Fix typo in runtime_cache.go [#7725][193] (pmorie)

  • Update non-GCE Salt distros to 1.6.0, fallback to ContainerVM Docker version on GCE[#7740][194] (zmerlynn)

  • Skip SaltStack install if it's already installed [#7744][195] (zmerlynn)

  • Expose pod name as a label on containers. [#7712][196] (rjnagal)

  • Log which SSH key is used in e2e SSH test [#7732][197] (mbforbes)

  • Add a central simple getting started guide with kubernetes guide. [#7649][198] (brendandburns)

  • Explicitly state the lack of support for 'Requests' for the purposes of scheduling [#7443]199

  • Select IPv4-only from host interfaces [#7721][200] (smarterclayton)

  • Metrics tests can't run on Mac [#7723][201] (smarterclayton)

  • Add step to API changes doc for swagger regen [#7727][202] (pmorie)

  • Add NsenterMounter mount implementation [#7703][203] (pmorie)

  • add StringSet.HasAny [#7509][204] (deads2k)

  • Add an integration test that checks for the metrics we expect to be exported from the master [#6941][205] (a-robinson)

  • Minor bash update found by shellcheck.net [#7722][206] (eparis)

  • Add --hostport to run-container. [#7536][207] (rjnagal)

  • Have rkt implement the container Runtime interface [#7659][208] (vmarmol)

  • Change the order the different versions of API are registered [#7629][209] (caesarxuchao)

  • expose: Create objects in a generic way [#7699][210] (kargakis)

  • Requeue rc if a single get/put retry on status.Replicas fails [#7643][211] (bprashanth)

  • logs for master components [#7316][212] (ArtfulCoder)

  • cloudproviders: add ovirt getting started guide [#7522][213] (simon3z)

  • Make rkt-install a oneshot. [#7671][214] (vmarmol)

  • Provide container_runtime flag to Kubelet in CoreOS. [#7665][215] (vmarmol)

  • Boilerplate speedup [#7654][216] (eparis)

  • Log host for failed pod in Density test [#7700][217] (wojtek-t)

  • Removes spurious quotation mark [#7655][218] (alindeman)

  • Add kubectl_label to custom functions in bash completion [#7694][219] (nak3)

  • Enable profiling in kube-controller [#7696][220] (wojtek-t)

  • Set vagrant test cluster default NUM_MINIONS=2 [#7690][221] (BenTheElder)

  • Add metrics to measure cache hit ratio [#7695][222] (fgrzadkowski)

  • Change IP to IP(S) in service columns for kubectl get [#7662][223] (jlowdermilk)

  • annotate required flags for bash_completions [#7076][224] (eparis)

  • (minor) Add pgrep debugging to etcd error [#7685][225] (jayunit100)

  • Fixed nil pointer issue in describe when volume is unbound [#7676][226] (markturansky)

  • Removed unnecessary closing bracket [#7691][227] (piosz)

  • Added TerminationGracePeriod field to PodSpec and grace-period flag to kubectl stop[#7432][228] (piosz)

  • Fix boilerplate in test/e2e/scale.go [#7689][229] (wojtek-t)

  • Update expiration timeout based on observed latencies [#7628][230] (bprashanth)

  • Output generated conversion functions/names [#7644][231] (liggitt)

  • Moved the Scale tests into a scale file. [#7645][232] [#7646][233] (rrati)

  • Truncate GCE load balancer names to 63 chars [#7609][234] (brendandburns)

  • Add SyncPod() and remove Kill/Run InContainer(). [#7603][235] (vmarmol)

  • Merge release 0.16 to master [#7663][236] (brendandburns)

  • Update license boilerplate for examples/rethinkdb [#7637][237] (eparis)

  • First part of improved rolling update, allow dynamic next replication controller generation.[#7268][238] (brendandburns)

  • Add license boilerplate to examples/phabricator [#7638][239] (eparis)

  • Use generic copyright holder name in license boilerplate [#7597][240] (eparis)

  • Retry incrementing quota if there is a conflict [#7633][241] (derekwaynecarr)

  • Remove GetContainers from Runtime interface [#7568][242] (yujuhong)

  • Add image-related methods to DockerManager [#7578][243] (yujuhong)

  • Remove more docker references in kubelet [#7586][244] (yujuhong)

  • Add KillContainerInPod in DockerManager [#7601][245] (yujuhong)

  • Kubelet: Add container runtime option. [#7652][246] (vmarmol)

  • bump heapster to v0.11.0 and grafana to v0.7.0 [#7626][247] (idosh)

  • Build github.com/onsi/ginkgo/ginkgo as a part of the release [#7593][248] (ixdy)

  • Do not automatically decode runtime.RawExtension [#7490][249] (smarterclayton)

  • Update changelog. [#7500][250] (brendandburns)

  • Add SyncPod() to DockerManager and use it in Kubelet [#7610][251] (vmarmol)

  • Build: Push .md5 and .sha1 files for every file we push to GCS [#7602][252] (zmerlynn)

  • Fix rolling update --image [#7540][253] (bprashanth)

  • Update license boilerplate for docs/man/md2man-all.sh [#7636][254] (eparis)

  • Include shell license boilerplate in examples/k8petstore [#7632][255] (eparis)

  • Add --cgroup_parent flag to Kubelet to set the parent cgroup for pods [#7277][256] (guenter)

  • change the current dir to the config dir [#7209][257] (you-n-g)

  • Set Weave To 0.9.0 And Update Etcd Configuration For Azure [#7158][258] (idosh)

  • Augment describe to search for matching things if it doesn't match the original resource.[#7467][259] (brendandburns)

  • Add a simple cache for objects stored in etcd. [#7559][260] (fgrzadkowski)

  • Rkt gc [#7549][261] (yifan-gu)

  • Rkt pull [#7550][262] (yifan-gu)

  • Implement Mount interface using mount(8) and umount(8) [#6400][263] (ddysher)

  • Trim Fleuntd tag for Cloud Logging [#7588][264] (satnam6502)

  • GCE CoreOS cluster - set master name based on variable [#7569][265] (bakins)

  • Capitalization of KubeProxyVersion wrong in JSON [#7535][266] (smarterclayton)

  • Make nodes report their external IP rather than the master's. [#7530][267] (mbforbes)

  • Trim cluster log tags to pod name and container name [#7539][268] (satnam6502)

  • Handle conversion of boolean query parameters with a value of "false" [#7541][269] (csrwng)

  • Add image-related methods to Runtime interface. [#7532][270] (vmarmol)

  • Test whether auto-generated conversions weren't manually edited [#7560][271] (wojtek-t)

  • Mention :latest behavior for image version tag [#7484][272] (colemickens)

  • readinessProbe calls livenessProbe.Exec.Command which cause "invalid memory address or nil pointer dereference". [#7487][273] (njuicsgz)

  • Add RuntimeHooks to abstract Kubelet logic [#7520][274] (vmarmol)

  • Expose URL() on Request to allow building URLs [#7546][275] (smarterclayton)

  • Add a simple cache for objects stored in etcd [#7288][276] (fgrzadkowski)

  • Prepare for chaining autogenerated conversion methods [#7431][277] (wojtek-t)

  • Increase maxIdleConnection limit when creating etcd client in apiserver. [#7353][278] (wojtek-t)

  • Improvements to generator of conversion methods. [#7354][279] (wojtek-t)

  • Code to automatically generate conversion methods [#7107][280] (wojtek-t)

  • Support recovery for anonymous roll outs [#7407][281] (brendandburns)

  • Bump kube2sky to 1.2. Point it at https endpoint (3rd try). [#7527][282] (cjcullen)

  • cluster/gce/coreos: Add metadata-service in node.yaml [#7526][283] (yifan-gu)

  • Move ComputePodChanges to the Docker runtime [#7480][284] (vmarmol)

  • Cobra rebase [#7510][285] (eparis)

  • Adding system oom events from kubelet [#6718][286] (vishh)

  • Move Prober to its own subpackage [#7479][287] (vmarmol)

  • Fix parallel-e2e.sh to work on my macbook (bash v3.2) [#7513][288] (cjcullen)

  • Move network plugin TearDown to DockerManager [#7449][289] (vmarmol)

  • Fixes [#7498][290] - CoreOS Getting Started Guide had invalid cloud config [#7499][291] (elsonrodriguez)

  • Fix invalid character '"' after object key:value pair [#7504][292] (resouer)

  • Fixed kubelet deleting data from volumes on stop ([#7317][293]). [#7503][294] (jsafrane)

  • Fixing hooks/description to catch API fields without description tags [#7482][295] (nikhiljindal)

  • cadvisor is obsoleted so kubelet service does not require it. [#7457][296] (aveshagarwal)

  • Set the default namespace for events to be "default" [#7408][297] (vishh)

  • Fix typo in namespace conversion [#7446][298] (liggitt)

  • Convert Secret registry to use update/create strategy, allow filtering by Type [#7419][299] (liggitt)

  • Use pod namespace when looking for its GlusterFS endpoints. [#7102][300] (jsafrane)

  • Fixed name of kube-proxy path in deployment scripts. [#7427][301] (jsafrane)

To download, please visit

Simple theme. Powered by [Blogger][385].

[ ![][327] ][386]

[146]: 2.0.7" [167]: