From 73449887c9f54508eb184089eea1d0f782c320e9 Mon Sep 17 00:00:00 2001 From: David McMahon Date: Fri, 18 Mar 2016 13:42:59 -0700 Subject: [PATCH] Updated for v1.2.0. --- CHANGELOG.md | 317 ++++++++++++++++++++++++++++++++++++++++- docs/images/newgui.png | Bin 0 -> 30899 bytes 2 files changed, 316 insertions(+), 1 deletion(-) create mode 100644 docs/images/newgui.png diff --git a/CHANGELOG.md b/CHANGELOG.md index a4daafba0fc..b50d4f1f0b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,319 @@ -Please see the [Releases Page](https://github.com/kubernetes/kubernetes/releases) +# Release Notes for Kubernetes 1.2.0 +## [Documentation](http://kubernetes.github.io) & [Examples](http://releases.k8s.io/release-1.2/examples) + +## Downloads + +binary | hash alg | hash +------ | -------- | ---- +[kubernetes.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.2.0/kubernetes.tar.gz) | md5 | `c0ce9e6150e9d7a19455db82f3318b4c` +[kubernetes.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.2.0/kubernetes.tar.gz) | sha1 | `52dd998e1191f464f581a9b87017d70ce0b058d9` + +## Changes since v1.1.1 + +## Major Themes + + * Significant scale improvements. Increased cluster scale by 400% to 1000 nodes with 30,000 pods per cluster. +Kubelet supports 100 pods per node. + * Simplified application deployment and management. + * Dynamic Configuration (ConfigMap API in the core API group) enables application +configuration to be stored as a Kubernetes API object and pulled dynamically on +container startup, as an alternative to baking in command-line flags when a +container is built. + * Turnkey Deployments (Deployment API (Beta) in the Extensions API group) +automate deployment and rolling updates of applications, specified +declaratively. It handles versioning, multiple simultaneous rollouts, +aggregating status across all pods, maintaining application availability, and +rollback. + * Automated cluster management: + * Kubernetes clusters can now span zones within a cloud provider. Pods from a +service will be automatically spread across zones, enabling applications to +tolerate zone failure. + * Simplified way to run a container on every node (DaemonSet API (Beta) in the +Extensions API group): Kubernetes can schedule a service (such as a logging +agent) that runs one, and only one, pod per node. + * TLS and L7 support (Ingress API (Beta) in the Extensions API group): Kubernetes +is now easier to integrate into custom networking environments by supporting +TLS for secure communication and L7 http-based traffic routing. + * Graceful Node Shutdown (aka drain) - The new “kubectl drain” command gracefully +evicts pods from nodes in preparation for disruptive operations like kernel +upgrades or maintenance. + * Custom Metrics for Autoscaling (HorizontalPodAutoscaler API in the Autoscaling +API group): The Horizontal Pod Autoscaling feature now supports custom metrics +(Alpha), allowing you to specify application-level metrics and thresholds to +trigger scaling up and down the number of pods in your application. + * New GUI (dashboard) allows you to get started quickly and enables the same +functionality found in the CLI as a more approachable and discoverable way of +interacting with the system. Note: the GUI is eanbled by default for new +cluster creation, however, it does not + +XXX image + +## Other notable improvements + + * Job was Beta in 1.1 and is GA in 1.2 . + * apiVersion: batch/v1 is now available. You now do not need to specify the .spec.selector field — a [unique selector is automatically generated ](http://kubernetes.io/docs/user-guide/jobs/#pod-selector)for you. + * The previous version, apiVersion: extensions/v1beta1, is still supported. Even if you roll back to 1.1, the objects created using +the new apiVersion will still be accessible, using the old version. You can +continue to use your existing JSON and YAML files until you are ready to switch +to batch/v1. We may remove support for Jobs with apiVersion: extensions/v1beta1 in 1.3 or 1.4. + * HorizontalPodAutoscaler was Beta in 1.1 and is GA in 1.2 . + * apiVersion: autoscaling/v1 is now available. Changes in this version are: + * Field CPUUtilization which was a nested structure CPUTargetUtilization in +HorizontalPodAutoscalerSpec was replaced by TargetCPUUtilizationPercentage +which is an integer. + * ScaleRef of type SubresourceReference in HorizontalPodAutoscalerSpec which +referred to scale subresource of the resource being scaled was replaced by +ScaleTargetRef which points just to the resource being scaled. + * In extensions/v1beta1 if CPUUtilization in HorizontalPodAutoscalerSpec was not +specified it was set to 80 by default while in autoscaling/v1 HPA object +without TargetCPUUtilizationPercentage specified is a valid object. Pod +autoscaler controller will apply a default scaling policy in this case which is +equivalent to the previous one but may change in the future. + * The previous version, apiVersion: extensions/v1beta1, is still supported. Even if you roll back to 1.1, the objects created using +the new apiVersions will still be accessible, using the old version. You can +continue to use your existing JSON and YAML files until you are ready to switch +to autoscaling/v1. We may remove support for HorizontalPodAutoscalers with apiVersion: extensions/v1beta1 in 1.3 or 1.4. + * Kube-Proxy now defaults to an iptables-based proxy. If the --proxy-mode flag is +specified while starting kube-proxy (‘userspace’ or ‘iptables’), the flag value +will be respected. If the flag value is not specified, the kube-proxy respects +the Node object annotation: ‘net.beta.kubernetes.io/proxy-mode’. If the +annotation is not specified, then ‘iptables’ mode is the default. If kube-proxy +is unable to start in iptables mode because system requirements are not met +(kernel or iptables versions are insufficient), the kube-proxy will fall-back +to userspace mode. Kube-proxy is much more performant and less +resource-intensive in ‘iptables’ mode. + * Node stability can be improved by reserving [resources](https://github.com/kubernetes/kubernetes/blob/release-1.2/docs/proposals/node-allocatable.md) for the base operating system using --system-reserved and --kube-reserved Kubelet flags + * Liveness and readiness probes now support more configuration parameters: +periodSeconds, successThreshold, failureThreshold + * The new ReplicaSet API (Beta) in the Extensions API group is similar to +ReplicationController, but its [selector](http://kubernetes.io/docs/user-guide/labels/#label-selectors) is more general (supports set-based selector; whereas ReplicationController +only supports equality-based selector). + * Scale subresource support is now expanded to ReplicaSets along with +ReplicationControllers and Deployments. Scale now supports two different types +of selectors to accommodate both [equality-based selectors](http://kubernetes.io/docs/user-guide/labels/#equality-based-requirement) supported by ReplicationControllers and [set-based selectors](http://kubernetes.io/docs/user-guide/labels/#set-based-requirement) supported by Deployments and ReplicaSets. + * “kubectl run” now produces Deployments (instead of ReplicationControllers) and +Jobs (instead of Pods) by default. + * Pods can now consume Secret data in environment variables and inject those +environment variables into a container’s command-line args. + * Stable version of Heapster which scales up to 1000 nodes: more metrics, reduced +latency, reduced cpu/memory consumption (~4mb per monitored node). + * Pods now have a security context which allows users to specify: + * attributes which apply to the whole pod: + * User ID + * Whether all containers should be non-root + * Supplemental Groups + * FSGroup - a special supplemental group + * SELinux options + * If a pod defines an FSGroup, that Pod’s system (emptyDir, secret, configMap, +etc) volumes and block-device volumes will be owned by the FSGroup, and each +container in the pod will run with the FSGroup as a supplemental group + * Volumes that support SELinux labelling are now automatically relabeled with the +Pod’s SELinux context, if specified + * A stable client library release\_1\_2 is added. The library is [here](https://github.com/kubernetes/kubernetes/tree/master/pkg/client/clientset_generated/release_1_2), and detailed doc is [here](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/generating-clientset.md#released-clientsets). We will keep the interface of this go client stable. + * New Azure File Service Volume Plugin enables mounting Microsoft Azure File +Volumes (SMB 2.1 and 3.0) into a Pod. See [example](https://github.com/kubernetes/kubernetes/blob/release-1.2/examples/azure_file/README.md) for details. + +## Experimental Features + + * Dynamic Provisioning of PersistentVolumes: Kubernetes previously required all +volumes to be manually provisioned by a cluster administrator before use. With +this feature, volume plugins that support it (GCE PD, AWS EBS, and Cinder) can +automatically provision a PersistentVolume to bind to an unfulfilled +PersistentVolumeClaim. + * Run multiple schedulers in parallel, e.g. one or more custom schedulers +alongside the default Kubernetes scheduler, using pod annotations to select +among the schedulers for each pod. Documentation is [here](http://kubernetes.io/docs/admin/multiple-schedulers.md), design doc is [here](https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/multiple-schedulers.md). + * More expressive node affinity syntax, and support for “soft” node affinity. +Node selectors (to constrain pods to schedule on a subset of nodes) now support +the operators {In, NotIn, Exists, DoesNotExist, Gt, Lt} instead of just conjunction of exact match on node label values. In +addition, we’ve introduced a new “soft” kind of node selector that is just a +hint to the scheduler; the scheduler will try to satisfy these requests but it +does not guarantee they will be satisfied. Both the “hard” and “soft” variants +of node affinity use the new syntax. Documentation is [here](http://kubernetes.io/docs/user-guide/node-selection/) (see section “Alpha feature in Kubernetes v1.2: Node Affinity“). Design doc is [here](https://github.com/kubernetes/kubernetes/blob/release-1.2/docs/design/nodeaffinity.md). + * A pod can specify its own Hostname and Subdomain via annotations (pod.beta.kubernetes.io/hostname, pod.beta.kubernetes.io/subdomain). If the Subdomain matches the name of a [headless service](http://kubernetes.io/docs/user-guide/services/#headless-services) in the same namespace, a DNS A record is also created for the pod’s FQDN. More +details can be found in the [DNS README](https://github.com/kubernetes/kubernetes/blob/release-1.2/cluster/addons/dns/README.md#a-records-and-hostname-based-on-pod-annotations---a-beta-feature-in-kubernetes-v12). Changes were introduced in PR [#20688](https://github.com/kubernetes/kubernetes/pull/20688). + * New SchedulerExtender enables users to implement custom +out-of-(the-scheduler)-process scheduling predicates and priority functions, +for example to schedule pods based on resources that are not directly managed +by Kubernetes. Changes were introduced in PR [#13580](https://github.com/kubernetes/kubernetes/pull/13580). Example configuration and documentation is available [here](https://github.com/kubernetes/kubernetes/blob/master/docs/design/scheduler_extender.md). This is an alpha feature and may not be supported in its current form at beta +or GA. + * New Flex Volume Plugin enables users to use out-of-process volume plugins that +are installed to “/usr/libexec/kubernetes/kubelet-plugins/volume/exec/” on +every node, instead of being compiled into the Kubernetes binary. See [example](https://github.com/kubernetes/kubernetes/blob/master/examples/flexvolume/README.md) for details. + * vendor volumes into a pod. It expects vendor drivers are installed in the +volume plugin path on each kubelet node. This is an alpha feature and may +change in future. + +## Action required + + * Docker v1.9.1 is officially recommended. Docker v1.8.3 and Docker v1.10 are +supported. If you are using an older release of Docker, please upgrade. Known +issues with Docker 1.9.1 can be found below. + * CPU hardcapping will be enabled by default for containers with CPU limit set, +if supported by the kernel. You should either adjust your CPU limit, or set CPU +request only, if you want to avoid hardcapping. If the kernel does not support +CPU Quota, NodeStatus will contain a warning indicating that CPU Limits cannot +be enforced. + * The following applies only if you use the Go language client (/pkg/client/unversioned) to create Job by defining Go variables of type "k8s.io/kubernetes/pkg/apis/extensions".Job). We think this is not common, so if you are not sure what this means, you probably aren't doing this. If +you do this, then, at the time you re-vendor the "k8s.io/kubernetes/" code, you will need to set job.Spec.ManualSelector = true, or else set job.Spec.Selector = nil. Otherwise, the jobs you create may be rejected. See [Specifying your own pod selector](http://kubernetes.io/docs/user-guide/jobs/#specifying-your-own-pod-selector). + * Deployment was Alpha in 1.1 (though it had apiVersion extensions/v1beta1) and +was disabled by default. Due to some non-backward-compatible API changes, any +Deployment objects you created in 1.1 won’t work with in the 1.2 release. + * Before upgrading to 1.2, delete all Deployment alpha-version resources, including the Replication Controllers and Pods the Deployment manages. Then +create Deployment Beta resources after upgrading to 1.2. Not deleting the +Deployment objects may cause the deployment controller to mistakenly match +other pods and delete them, due to the selector API change. + * Client (kubectl) and server versions must match (both 1.1 or both 1.2) for any +Deployment-related operations. + * Behavior change: + * Deployment creates ReplicaSets instead of ReplicationControllers. + * Scale subresource now has a new targetSelector field in its status. This field supports the new set-based selectors supported +by Deployments, but in a serialized format. + * Spec change: + * Deployment’s [selector](http://kubernetes.io/docs/user-guide/labels/#label-selectors) is now more general (supports set-based selector; it only supported +equality-based selector in 1.1). + * .spec.uniqueLabelKey is removed -- users can’t customize unique label key -- +and its default value is changed from +“deployment.kubernetes.io/podTemplateHash” to “pod-template-hash”. + * .spec.strategy.rollingUpdate.minReadySeconds is moved to .spec.minReadySeconds + * DaemonSet was Alpha in 1.1 (though it had apiVersion extensions/v1beta1) and +was disabled by default. Due to some non-backward-compatible API changes, any +DaemonSet objects you created in 1.1 won’t work with in the 1.2 release. + * Before upgrading to 1.2, delete all DaemonSet alpha-version resources. If you do not want to disrupt the pods, use kubectl delete daemonset +--cascade=false. Then create DaemonSet Beta resources after upgrading to 1.2. + * Client (kubectl) and server versions must match (both 1.1 or both 1.2) for any +DaemonSet-related operations. + * Behavior change: + * DaemonSet pods will be created on nodes with .spec.unschedulable=true and will +not be evicted from nodes whose Ready condition is false. + * Updates to the pod template are now permitted. To perform a rolling update of a +DaemonSet, update the pod template and then delete its pods one by one; they +will be replaced using the updated template. + * Spec change: + * DaemonSet’s [selector](http://kubernetes.io/docs/user-guide/labels/#label-selectors) is now more general (supports set-based selector; it only supported +equality-based selector in 1.1). + * Running against a secured etcd requires these flags to be passed to +kube-apiserver (instead of --etcd-config): + * --etcd-certfile, --etcd-keyfile (if using client cert auth) + * --etcd-cafile (if not using system roots) + * As part of preparation in 1.2 for adding support for protocol buffers (and the +direct YAML support in the API available today), the Content-Type and Accept +headers are now properly handled as per the HTTP spec. As a consequence, if +you had a client that was sending an invalid Content-Type or Accept header to +the API, in 1.2 you will either receive a 415 or 406 error. +The only client +this is known to affect is curl when you use -d with JSON but don't set a +content type, helpfully sends "application/x-www-urlencoded", which is not +correct. +Other client authors should double check that you are sending proper +accept and content type headers, or set no value (in which case JSON is the +default). +An example using curl: +curl -H "Content-Type: application/json" -XPOST -d +'{"apiVersion":"v1","kind":"Namespace","metadata":{"name":"kube-system"}}' "[http://127.0.0.1:8080/api/v1/namespaces](http://127.0.0.1:8080/api/v1/namespaces)" + * The version of InfluxDB is bumped from 0.8 to 0.9 which means storage schema +change. More details [here](https://docs.influxdata.com/influxdb/v0.9/administration/upgrading/). + * We have renamed “minions” to “nodes”. If you were specifying NUM\_MINIONS or +MINION\_SIZE to kube-up, you should now specify NUM\_NODES or NODE\_SIZE. + +## Known Issues + + * Paused deployments can't be resized and don't clean up old ReplicaSets. + * Minimum memory limit is 4MB. This is a docker limitation + * Minimum CPU limits is 10m. This is a Linux Kernel limitation + * “kubectl rollout undo” (i.e. rollback) will hang on paused deployments, because +paused deployments can’t be rolled back (this is expected), and the command +waits for rollback events to return the result. Users should use “kubectl +rollout resume” to resume a deployment before rolling back. + * “kubectl edit ” will open the editor multiple times, once for each +resource in the list. + * If you create HPA object using autoscaling/v1 API without specifying +targetCPUUtilizationPercentage and read it using kubectl it will print default +value as specified in extensions/v1beta1 (see details in [#23196](https://github.com/kubernetes/kubernetes/issues/23196)). + * If a node or kubelet crashes with a volume attached, the volume will remain +attached to that node. If that volume can only be attached to one node at a +time (GCE PDs attached in RW mode, for example), then the volume must be +manually detached before Kubernetes can attach it to other nodes. + * If a volume is already attached to a node any subsequent attempts to attach it +again (due to kubelet restart, for example) will fail. The volume must either +be manually detached first or the pods referencing it deleted (which would +trigger automatic volume detach). + * In very large clusters it may happen that a few nodes won’t register in API +server in a given timeframe for whatever reasons (networking issue, machine +failure, etc.). Normally when kube-up script will encounter even one NotReady +node it will fail, even though the cluster most likely will be working. We +added an environmental variable to kube-up ALLOWED\_NOTREADY\_NODES that +defines the number of nodes that if not Ready in time won’t cause kube-up +failure. + * “kubectl rolling-update” only supports Replication Controllers (it doesn’t +support Replica Sets). It’s recommended to use Deployment 1.2 with “kubectl +rollout” commands instead, if you want to rolling update Replica Sets. + +### Docker Known Issues + +#### 1.9.1 + + * Listing containers can be slow at times which will affect kubelet performance. +More information [here](https://github.com/docker/docker/issues/17720) + * Docker daemon restarts can fail. Docker checkpoints have to deleted between +restarts. More information [here](https://github.com/kubernetes/kubernetes/issues/20995) + * Pod IP allocation-related issues. Deleting the docker checkpoint prior to +restarting the daemon alleviates this issue, but hasn’t been verified to +completely eliminate the IP allocation issue. More information [here](https://github.com/kubernetes/kubernetes/issues/21523#issuecomment-191498969) + * Daemon becomes unresponsive (rarely) due to kernel deadlocks. More information [here](https://github.com/kubernetes/kubernetes/issues/21866#issuecomment-189492391) + +## Provider-specific Notes + +### Various + + Core changes: + + * Support for load balancers with source ranges + +### AWS + +Core changes: + + * Support for ELBs with complex configurations: better subnet selection with +multiple subnets, and internal ELBs + * Support for VPCs with private dns names + * Multiple fixes to EBS volume mounting code for robustness, and to support +mounting the full number of AWS recommended volumes. + * Multiple fixes to avoid hitting AWS rate limits, and to throttle if we do + * Support for the EC2 Container Registry (currently in us-east-1 only) + +With kube-up: + + * Automatically install updates on boot & reboot + * Use optimized image based on Jessie by default + * Add support for Ubuntu Wily + * Master is configured with automatic restart-on-failure, via CloudWatch + * Bootstrap reworked to be more similar to GCE; better supports reboots/restarts + * Use an elastic IP for the master by default + * Experimental support for node spot instances (set NODE\_SPOT\_PRICE=0.05) + +### GCE + + * Ubuntu Trusty support added + +## Changelog + +(Linked [github releases](https://github.com/kubernetes/kubernetes/releases) 1.1.2 to 1.2.0-beta-1 that are part of 1.2.0) + +* [v1.1.2](https://github.com/kubernetes/kubernetes/releases/tag/v1.1.2) +* [v1.1.3](https://github.com/kubernetes/kubernetes/releases/tag/v1.1.3) +* [v1.1.4](https://github.com/kubernetes/kubernetes/releases/tag/v1.1.4) +* [v1.1.7](https://github.com/kubernetes/kubernetes/releases/tag/v1.1.7) +* [v1.1.8](https://github.com/kubernetes/kubernetes/releases/tag/v1.1.8) +* [v1.2.0-alpha.4](https://github.com/kubernetes/kubernetes/releases/tag/v1.2.0-alpha.4) +* [v1.2.0-alpha.5](https://github.com/kubernetes/kubernetes/releases/tag/v1.2.0-alpha.5) +* [v1.2.0-alpha.6](https://github.com/kubernetes/kubernetes/releases/tag/v1.2.0-alpha.6) +* [v1.2.0-alpha.7](https://github.com/kubernetes/kubernetes/releases/tag/v1.2.0-alpha.7) +* [v1.2.0-alpha.8](https://github.com/kubernetes/kubernetes/releases/tag/v1.2.0-alpha.8) +* [v1.2.0-beta.0](https://github.com/kubernetes/kubernetes/releases/tag/v1.2.0-beta.0) +* [v1.2.0-beta.1](https://github.com/kubernetes/kubernetes/releases/tag/v1.2.0-beta.1) + +Please see the [Releases Page](https://github.com/kubernetes/kubernetes/releases) for older releases. [![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/CHANGELOG.md?pixel)]() diff --git a/docs/images/newgui.png b/docs/images/newgui.png new file mode 100644 index 0000000000000000000000000000000000000000..383ee1ed2d0b87d4661fd48db4bc81b610ca363f GIT binary patch literal 30899 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