Kubernetes v1.15.0 has been built and pushed.
The release notes have been updated in CHANGELOG-1.15.md with a pointer to it on github:
| filename | sha512 hash |
|---|---|
| kubernetes.tar.gz | bcb1eb44bf91ea35d959d0ca2c7a520601a7e39b0a7b6be0d7315ebda4278d8e2e6b934b1f14b025a8e27892da76b1a0e3eb9b4600d8ae6fb6749e528f714dab |
| kubernetes-src.tar.gz | a682c88539b46741f6f3b2fa27017d52e88149e0cf0fe49c5a84ff30018cfa18922772a49828091364910570cf5f6b4089a128b400f48a278d6ac7b18ef84635 |
| filename | sha512 hash |
|---|---|
| kubernetes-client-darwin-386.tar.gz | 5daa1464056535c42bb642cfb26a1b35c4adc297bb51ac37b9eb827890a528c79cdef3caa3c3f12240fd4a4f6c343c081dfbf085382221b096bd70599fd206f1 |
| kubernetes-client-darwin-amd64.tar.gz | 14d6c26cabe94ca1e67e874b47694dee9c77983c8d2433c10ba99449c28c749c16f87014641392be997733acd1c51ca673e60ccc4b99d1ff673dfff7891af91d |
| kubernetes-client-linux-386.tar.gz | baf40743a213ed2b8d76fd632afb82ec1c9a76ce4d11c5f615e034852ce02c75110b71cb3683441e6e5833e035f17df7f682f21471d1ab6f2b6cfeff37b7de6f |
| kubernetes-client-linux-amd64.tar.gz | 4c85c00401c59b1f2158f3b97ce3a1261a71fd532a004c767a647ff485d285db3df9df8baf8e93d03dc22cdc53eb0505c9cc1f6b209c1c1351e7a77353ee3163 |
| kubernetes-client-linux-arm.tar.gz | 55ed423e7c5c92aa2b0f686a28cad0b5b71c081bd268fb9eec811cb9149f8ffe612f939f4cb396009b3d1a76111449757bd001fa63aa6895c00454bb84ffa60e |
| kubernetes-client-linux-arm64.tar.gz | 4e3a8432a6df4f059dd2ed40937d7bee46cf58bd511166532633951020ad1acc24e68a57724596f6c50d566b59f68c65a68d83820686e2822e143f560fc25a21 |
| kubernetes-client-linux-ppc64le.tar.gz | 35bd31b1f866507dd775d2d1256c3d468718bc5310204228ca11df6738832d6f22c5873d7ed190e7931735825e54047acfb6f775a6ff48420d25755bfeb52f84 |
| kubernetes-client-linux-s390x.tar.gz | 3e7f64bdd41ad0fcf3f9c6265487892acf9a95f39cc828e9cdfba41c3df5fb3ed57fb348cd3f48d3ce7e2d947694158d87d86c329a0a1075675b520e978684ab |
| kubernetes-client-windows-386.tar.gz | 1fc485975576dbddf81be0b204d0409e94252f9b4959cf9845d15a237f142d7b096c0da98618c332342a29e5abedba7f739c562bac9aa2ea1fae2deeb4a8f875 |
| kubernetes-client-windows-amd64.tar.gz | 298aa2dcd87a1ba37bb6f1a2f51c9eacabd720d827f6a6044a23104cc94f941dbe65d279b66bf66f54a1d40c36628462db7a071f114aa7796f3eced2a2fec7cf |
| filename | sha512 hash |
|---|---|
| kubernetes-server-linux-amd64.tar.gz | a0865792c50c697c02107b9e7ce43a6730cddcdb00fbf237696492b8b7727f2e9a01843efa44922efe0719309366721bc1dc53884b7c7c45a35efa026278d1f5 |
| kubernetes-server-linux-arm.tar.gz | 5e725f9ea9d1bc33f8aec586709e228c1deb5865962fd9b14915e5025931f4dc3ae2878f95654118ffc1d7a77dd7e1429f23b2118b462edc824ac96cbc8ce6e7 |
| kubernetes-server-linux-arm64.tar.gz | 0029115df61b82804c206e63dc883e8481297a1df684fc7ebf6cbd14ba6083409a5243b77f179ab0eff6ade7f8040cf6379405bb0417ea6d139319371fba52a8 |
| kubernetes-server-linux-ppc64le.tar.gz | 2a11b6f0c3ee9ed136bd55ac840e744287e9ca782288d82caefffde925c95edd2e5bf6123b4de569b35c19eda75481c317e20762f8e89b302c77b563c83fcf58 |
| kubernetes-server-linux-s390x.tar.gz | 6216ff9060997287c0911f97589737993a99fd71ea3e16501ce0aba4f3b549cff45d2318a67a9bdc055c652d2986cb8eef6bc750172d707136a29836e010d2e9 |
| filename | sha512 hash |
|---|---|
| kubernetes-node-linux-amd64.tar.gz | 8786e71967ecd1b5a7b1bbcae7e44a55b674cb20c588272b68a29224f34585f253280b76a6a08d39326e490390339b39827fd9735c5c96e2295a9cadab776da6 |
| kubernetes-node-linux-arm.tar.gz | 1eff431be6d4c21574d78e15da2e40b98a150ba421a936d47feaae1e91ce444ef7d49fb30aef070f3c16bca46d8eab0f4e570f7eabba20ef5395219ce47ef250 |
| kubernetes-node-linux-arm64.tar.gz | 731c7f35cf35e9b848d79b02d01e17355db24c4f19b49c0a35ca6c3bed6f4fcae709825be3e25bcbdfaa4602dea5906d13b0f07c531e540d67f466b3b112ac5e |
| kubernetes-node-linux-ppc64le.tar.gz | 6f871457842f938e8f6693a349bb2fbe04c5eec0287c81879a109b637a22969d5ee94fa87ad3f3f108a20c4762364962b42c85a35c595c5062ff417b5cf7fc8d |
| kubernetes-node-linux-s390x.tar.gz | cfe8f86c85ab7b81b9faebcd608eca0337b26d07ae06099e69086a94e6f4193145bb9f5373e493149fa71ed31f8bc98818a5260512b68d53dfc6cd5a85338de5 |
| kubernetes-node-windows-amd64.tar.gz | f38618c6614e9b233eb6a92f5bdf7efc794a15f62a5e2dd62386ebbee7e040e5bd89e0bf1ad738d3cca1471f9c5cb245530e65ab241f213af9da096e718ee9ea |
A complete changelog for the release notes is now hosted in a customizable format at https://relnotes.k8s.io/. Check it out and please give us your feedback!
Kubernetes 1.15 consists of 26 enhancements: 2 moving to stable, 13 in beta, and 10 in alpha. The main themes of this release are:
To enforce both data consistency and security, Kubernetes performs pruning, or the automatic removal of unknown fields in objects sent to a Kubernetes API. An "unknown" field is one that is not specified in the OpenAPI validation schema. This behavior is already in place for native resources and ensures only data structures specified by the CRD developer are persisted to etcd. It will be available as a beta feature in Kubernetes 1.15.
Pruning is activated by setting spec.preserveUnknownFields: false in the CustomResourceDefinition. A future apiextensions.k8s.io/v1 variant of CRDs will enforce pruning.
Pruning requires that CRD developer provides complete, structural validation schemas, either at the top-level or for all versions of the CRD.
CustomResourceDefinitions also have new support for defaulting, with defaults specified using the default keyword in the OpenAPI validation schema. Defaults are set for unspecified fields in an object sent to the API, and when reading from etcd.
Defaulting will be available as alpha in Kubernetes 1.15 and requires structural schemas.
OpenAPI specs for native types have long been served at /openapi/v2, and they are consumed by a number of components, notably kubectl client-side validation, kubectl explain and OpenAPI based client generators.
With Kubernetes 1.15 as beta, OpenAPI schemas are also published for CRDs, as long as their schemas are structural.
These changes are reflected in the following Kubernetes enhancements:
(#383), (#575 ), (#492 ), (#598 ), (#692 ), (#95 ), (#995 ), (#956 )
Work on making Kubernetes installation, upgrade and configuration even more robust has been a major focus for this cycle for SIG Cluster Lifecycle (see our last Community Update). Bug fixes across bare metal tooling and production-ready user stories, such as the high availability use cases have been given priority for 1.15.
kubeadm, the cluster lifecycle building block, continues to receive features and stability work required for bootstrapping production clusters efficiently. kubeadm has promoted high availability (HA) capability to beta, allowing users to use the familiar kubeadm init and kubeadm joincommands to configure and deploy an HA control plane. An entire new test suite has been created specifically for ensuring these features will stay stable over time.
Certificate management has become more robust in 1.15, with kubeadm now seamlessly rotating all your certificates (on upgrades) before they expire. Check the kubeadm documentation for information on how to manage your certificates.
The kubeadm configuration file API is moving from v1beta1 to v1beta2 in 1.15.
These changes are reflected in the following Kubernetes enhancements:
(#357 ), (#970 )
In Kubernetes v1.15, SIG Storage continued work to enable migration of in-tree volume plugins to the Container Storage Interface (CSI). SIG Storage worked on bringing CSI to feature parity with in-tree functionality, including functionality like resizing, inline volumes, and more. SIG Storage introduces new alpha functionality in CSI that doesn't exist in the Kubernetes Storage subsystem yet, like volume cloning.
Volume cloning enables users to specify another PVC as a "DataSource" when provisioning a new volume. If the underlying storage system supports this functionality and implements the "CLONE_VOLUME" capability in its CSI driver, then the new volume becomes a clone of the source volume.
These changes are reflected in the following Kubernetes enhancements:
(#625)
Check the release notes website for the complete changelog of notable features and fixes.
Concurrently joining control-plane nodes does not work as expected in kubeadm 1.15.0. The feature was planned for release in 1.15.0, but a fix may come in a follow up patch release.
Using --log-file is known to be problematic in 1.15. This presents as things being logged multiple times to the same file. The behaviour and details of this issue, as well as some preliminary attempts at fixing it are documented here
k8s.io/kubernetes and published components (such as k8s.io/client-go and k8s.io/api) now contain go module files including dependency version information. See go-modules for details on consuming k8s.io/client-go using go modules. (#74877, @liggitt)system:aws-cloud-provider cluster role, deprecated in v1.13, is no longer auto-created. Deployments using the AWS cloud provider should grant required permissions to the aws-cloud-provider service account in the kube-system namespace as part of deployment. (#66635, @wgliang){"vmType": "vmss", "useInstanceMetadata": true, "subscriptionId": "<subscriptionId>"} (#77906, @feiskyer)kube-controller-manager --cluster-name=<cluster-name> (#77630, @feiskyer)azure.json file with key cloud-config. And the secret name is azure-cloud-provider.file, secret and merge (merge is the default value).--pod/-p flag for kubectl exec has been removed. The flag has been marked as deprecated since k8s version v1.12. (#76713, @prksu)--conntrack-max has been removed from kube-proxy. Users of this flag should switch to --conntrack-min and --conntrack-max-per-core instead. (#78399, @rikatz)--cleanup-iptables has been removed. (#78344, @aramase)AllowPrivileged, HostNetworkSources, HostPIDSources, and HostIPCSources have been removed. Enforcement of these restrictions should be done through admission control (such as PodSecurityPolicy) instead. (#77820, @dims)--allow-privileged has been removed. Remove any use of the flag from your kubelet scripts or manifests. (#77820, @dims)Node.Status.Volumes.Attached.DevicePath field is now unset for CSI volumes. You must update any external controllers that depend on this field. (#75799, @msau42)StorageObjectInUseProtection admission plugin is enabled by default, so the default enabled admission plugins are now NamespaceLifecycle,LimitRanger,ServiceAccount,PersistentVolumeLabel,DefaultStorageClass,DefaultTolerationSeconds,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota,StorageObjectInUseProtection. Please note that if you previously had not set the --admission-control flag, your cluster behavior may change (to be more standard). (#74610, @oomichi)kubectl convert, deprecated since v1.14, will be removed in v1.17.--export flag for the kubectl get command, deprecated since v1.14, will be removed in v1.18.The --pod/-p flag for kubectl exec, deprecated since 1.12, has been removed.
beta.kubernetes.io/os and beta.kubernetes.io/arch labels, deprecated since v1.14, are targeted for removal in v1.18.--containerized flag, deprecated since v1.14, will be removed in a future release.cAdvisor json endpoints have been deprecated. (#78504, @dashpole)
The --enable-logs-handler flag and log-serving functionality is deprecated, and scheduled to be removed in v1.19. (#77611, @rohitsardesai83)
The deprecated --cleanup-iptables has been removed,. (#78344, @aramase)
extensions/v1beta1 in v1.19. Migrate use to the networking.k8s.io/v1beta1 API, available since v1.14. Existing persisted data can be retrieved via the networking.k8s.io/v1beta1 API.extensions/v1beta1 in v1.16. Migrate use to the networking.k8s.io/v1 API, available since v1.8. Existing persisted data can be retrieved via the networking.k8s.io/v1 API.extensions/v1beta1 in v1.16. Migrate to the policy/v1beta1 API, available since v1.10. Existing persisted data can be retrieved via the policy/v1beta1 API.extensions/v1beta1, apps/v1beta1, or apps/v1beta2 in v1.16. Migrate to the apps/v1 API, available since v1.9. Existing persisted data can be retrieved via the apps/v1 API.scheduling.k8s.io/v1beta1 and scheduling.k8s.io/v1alpha1 in v1.17. Migrate use to the scheduling.k8s.io/v1 API, available since v1.14. Existing persisted data can be retrieved via the scheduling.k8s.io/v1 API.export query parameter for list API calls, deprecated since v1.14, will be removed in v1.18.The series.state field in the events.k8s.io/v1beta1 Event API is deprecated and will be removed in v1.18 (#75987, @yastij)
kubeadm upgrade node config and kubeadm upgrade node experimental-control-plane commands are deprecated in favor of kubeadm upgrade node, and will be removed in a future release. (#78408, @fabriziopandini)--experimental-control-plane is now deprecated in favor of --control-plane. The flag --experimental-upload-certs is now deprecated in favor of --upload-certs (#78452, @fabriziopandini)kubeadm config upload has been deprecated, as its replacement is now graduated. Please use kubeadm init phase upload-config instead. (#77946, @Klaven)
GCERegionalPersistentDisk
kube_proxy_sync_proxy_rules_last_timestamp_seconds is now available, indicating the last time that kube-proxy successfully applied proxying rules. (#74027, @squeed)process_start_time_seconds has been added to kubelet’s '/metrics/probes' endpoint (#77975, @logicalhan)storage_operation_status_count metric for kube-controller-manager and kubelet to count success and error statues. (#75750, @msau42)prober_probe_result has been replaced by prober_probe_total. (#76074, @danielqsj)transformer_failures_total metric is deprecated in favor of transformation_operation_total. The old metric will continue to be populated but will be removed in a future release. (#70715, @immutableT)volume_operation_total_seconds to be the end to end latency of volume provisioning/deletion. Existing metric "storage_operation_duration_seconds" will remain untouched, however it is exposed to the following potential issues:storage_operation_duration_seconds will NOT wait for the external operation to be done before reporting latency metric (effectively close to 0). This will be fixed by using volume_operation_total_seconds insteadif there's a transient error happened during "provisioning/deletion", i.e., a volume is still in-use while a deleteVolume has been called, original storage_operation_duration_seconds will NOT wait until a volume has been finally deleted before reporting an inaccurate latency metric. The newly implemented metric volume_operation_total_seconds, however, waits until a provisioning/deletion operation has been fully executed.
Potential impacts:
If an SLO/alert has been defined based on volume_operation_total_seconds, it might get violated because of the more accurate metric might be significantly larger than previously reported. The metric is defined to be a histogram and the new semantic could change the distribution. (#78061, @yuxiangqian)
Reserve, Prebind, Permit, Post-bind, Queue sort and Unreserve extension points.kubectl scale job, deprecated since 1.10, has been removed. (#78445, @soltysh)You can now create a non-preempting Pod priority. If set on a class, the pod will continue to be prioritized above queued pods of a lesser class, but will not preempt running pods. (#74614, @denkensk)
The kube-apiserver’s watch can now be enabled for events using the --watch-cache-sizes flag. (#74321, @yastij)
apps/v1 deployments) and be called when any other version of that resource is modified (for example extensions/v1beta1 deployments). This allows new versions of a resource to be handled by admission webhooks without needing to update every webhook to understand the new version. See the API documentation for the matchPolicy: Equivalent option in MutatingWebhookConfiguration and ValidatingWebhookConfiguration types. (#78135, @liggitt)/openapi/v2. CustomResourceDefinitions with non-structural schemas have a NonStructuralSchema condition added with details about what needs to be corrected in the validation schema. (#77825, @roycaihw)SupportNodePidsLimit feature is now beta, and enabled by default. It is no longer necessary to set the feature gate SupportNodePidsLimit=true. (#76221, @RobertKrawitz)InitConfiguration and JoinConfiguration to define which preflight errors will be ignored. (#75499, @marccarre)spec.preserveUnknownFields to false. (#78426, @sttts)storageVersionHash feature is now beta. StorageVersionHash is a field in the discovery document of each resource. It enables clients to detect whether the storage version of that resource has changed. Its value must be treated as opaque by clients. Only equality comparison on the value is valid. (#78325, @caesarxuchao)networking.k8s.io/v1beta1 version (#77139, @cmluciano)emptyDir volumes, is faster and more accurate than the old method of walking the filesystem tree. Note that it does not enforce limits, it only monitors consumption. To utilize this functionality, set the feature gate LocalStorageCapacityIsolationFSQuotaMonitoring=true. For ext4fs filesystems, create the filesystem with mkfs.ext4 -O project <block_device> and run tune2fs -Q prjquotablock device; XFS filesystems need no additional preparation. The filesystem must be mounted with optionprojectin/etc/fstab. If the primary partition is the root filesystem, addrootflags=pquota` to the GRUB config file. (#66928, @RobertKrawitz)AllowWatchBookmarks, in ListOptions for requesting the watching of bookmarks from apiserver. The implementation in apiserver is hidden behind the feature gate WatchBookmark. (#74074, @wojtek-t)k8s.io/cri-api staging repository. (#75531, @dims)csi-translation-lib (CSIMigrationAzureFile). (#78356, @andyzhangx)kubeadm upgrade node. This command can be used to upgrade both secondary control-plane nodes and worker nodes. The kubeadm upgrade node config and kubeadm upgrade node experimental-control-plane commands are now deprecated. (#78408, @fabriziopandini)kubectl top command now includes a --sort-by option to sort by memory or cpu. (#75920, @artmello)kubectl rollout restart now works for DaemonSets and StatefulSets. (#77423, @apelisse)kubectl get --watch=true now prints custom resource definitions with custom print columns. (#76161, @liggitt)kubeadm alpha certs certificate-key command to generate secure random key to use on kubeadm init --experimental-upload-certs (#77848, @yagonobre)volumeMode using kubectl get pv/pvc -o wide (#76646, @cwdsuzhou)kubectl rollout restart command that does a rolling restart of a deployment. (#76062, @apelisse)kubectl exec now allows using the resource name to select a matching pod and --pod-running-timeout flag to wait till at least one pod is running. (#73664, @prksu)kubeadm alpha certs renew and kubeadm upgrade now supports renewal of certificates embedded in KubeConfig files managed by kubeadm; this does not apply to certificates signed by external CAs. (#77180, @fabriziopandini)kubeadm alpha certs check-expiration was created in order to help users in managing expiration for local PKI certificates (#77863, @fabriziopandini)ListPager.EachListItem utility function to client-go to enable incremental processing of chunked list responses (#75849, @jpbetz)count/<resource>.<group> syntax. (#72384, @zhouhaibing089)scale and deployments/rollback subresources. (#76849, @liggitt)v1beta2 config format to kubeadm. (#76710, @rosti)PartialObjectMetadata now correctly return list metadata like the resourceVersion and the continue token. (#75971, @smarterclayton)NonStructuralSchema to CustomResourceDefinition listing Structural Schema violations as defined in the KEP. CRD authors should update their validation schemas to be structural in order to participate in future CRD features. (#77207, @sttts)--ipvs-strict-arp to configure stricter ARP sysctls, defaulting to false to preserve existing behaviors. This was enabled by default in 1.13.0, which impacted a few CNI plugins. (#75295, @lbernail)metadata fields other than name and generateName. A schema will not be considered structural (and therefore ready for future features) if metadata is specified in any other way. (#77653, @sttts)objectSelector to admission webhook configurations. objectSelector is evaluated the oldObject and newObject that would be sent to the webhook, and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. (#78505, @caesarxuchao)Clients may now request that API objects are converted to the v1.Table and v1.PartialObjectMetadata forms for generic access to objects. (#77448, @smarterclayton)
API paging is now enabled by default in k8s.io/apiserver recommended options, and in k8s.io/sample-apiserver (#77278, @liggitt)
namespace argument. (#77945, @michaelfig)DelayingQueue.ShutDown() can now be invoked multiple times without causing a closed channel panic. (#77170, @smarterclayton)Fixed a bug where dry-run is not honored for pod/eviction sub-resource. (#76969, @apelisse)
metadata.finalizers from an object that is pending deletion (non-nil metadata.deletionTimestamp) and has no graceful deletion pending (nil or 0 metadata.deletionGracePeriodSeconds) now results in immediate deletion of the object. (#77952, @liggitt)rest.AnonymousClientConfig(*rest.Config) *rest.Config helper method no longer copies custom Transport and WrapTransport fields, because those can be used to inject user credentials. (#75771, @liggitt)Removed the function Parallelize, please convert to use the function ParallelizeUntil. (#76595, @danielqsj)
PersistentVolumeClaim in their PVC spec. This can then be detected by the external csi-provisioner and plugins if capable. (#76913, @j-griffith)kubectl auth can-i command by warning users when they try to access a resource out of scope. (#76014, @WanLinghao){"vmType": "vmss", "useInstanceMetadata": true, "subscriptionId": "<subscriptionId>"} (#77906, @feiskyer)pull image fails from a cross-subscription Azure Container Registry when using MSI to authenticate. (#77245, @norshtein)cloudConfigType has been introduced. Candidate values are file, secret or merge (default is merge). Note that the secret is a serialized version of azure.json file with key cloud-config. And the secret name is azure-cloud-provider in kube-system namespace. (#78242, @feiskyer)kubectl exec usage string to correctly reflect flag placement. (#77589, @soltysh)kubectl describe cronjobs error of Successful Job History Limit. (#77347, @danielqsj)kubectl describe output, the fields with names containing special characters are now displayed as-is without any pretty formatting, avoiding awkward outputs. (#75483, @gsadhani)set ... --local commands. (#77267, @liggitt)key:effect, key=:effect- are now accepted. (#74159, @dlipovetsky)cloud-provider-gce-lb-src-cidrs is now optional for external cloud providers. (#76627, @timoreimann)kubeadm upgrade now renews all the certificates used by a component before upgrading the component itself, with the exception of certificates signed by external CAs. User can eventually opt-out of certificate renewal during upgrades by setting the new flag --certificate-renewal to false. (#76862, @fabriziopandini)--cert-dir option. (#76390, @rojkov)Added --image-repository flag to kubeadm config images. (#75866, @jmkeyes)
kubeadm-config configmap upon new control plane joins or resets. This allows for safe multiple control plane joins and/or resets. (#76821, @ereslibre)kubeadm token create --print-join-command (#75487, @displague)kubeadm alpha certs renew --csr-only now reads the current certificates as the authoritative source for certificates attributes (same as kubeadm alpha certs renew). (#77780, @fabriziopandini)kubectl edit -n kube-system configmap/coredns. (#76238, @Dieken)Communication between the etcd server and kube-apiserver on master is now overridden to use HTTPS instead of HTTP when mTLS is enabled in GCE. (#74690, @wenjiaswe)
:8080) disabled by default. To enable the insecure port, set ENABLE_APISERVER_INSECURE_PORT=true in kube-env or as an environment variable. (#77447, @dekkagaijin)CNI_VERSION and CNI_SHA1 environment variables in kube-up.sh to configure CNI versions on GCE. (#76353, @Random-Liu)nomasq-all-reserved-ranges turned on. (#77458, @grayluck)node-role.kubernetes.io/master taint is applied to the master with NoSchedule on GCE. (#78183, @cheftako)kube-proxy --cleanup, or restart the worker node (recommended) before restarting kube-proxy. If you are not switching kube-proxy between different modes, this change should not require any action. (#76109, @vllry)The userspace proxy now respects the IPTables proxy's minSyncInterval parameter. (#71735, @dcbw)
Kubernetes will now allow trailing dots in the externalName of Services of type ExternalName. (#78385, @thz)
docker runtime handler from a RuntimeClass. (#78323, @tallclair)container_status operation. It now uses the label update_container. (#75278, @Nessex)NominatedNodeName set to the node(s). (#77990, @Huang-Wei)stat --printf %F will now display regular empty file instead of regular file. (#62159, @dixudx)AttachVolume storage operation. (#75986, @mucahitkurt)%USERPROFILE%\.docker\config.json) when pulling images from a private registry. (https://kubernetes.io/docs/concepts/containers/images/#configuring-nodes-to-authenticate-to-a-private-registry) (#78528, @bclau)
Leads, the CHANGELOG-1.15.md has been bootstrapped with v1.15.0 release notes and you may edit now as needed.
Published by anago, the Kubernetes Release Tool