rslave
, so that mounted host directories are visible inside the container ( HostToContainer
value), or rshared
, so that mounted container directories are visible on the host ( Bidirectional
value). Status - beta version ( documentation on the site). Not supported on Windows.PersistentVolumes
(PVs) can now be not only network volumes, but also be based on locally attached disks. The innovation has two goals: a) improve performance (local SSDs have a better speed than network drives), b) ensure the possibility of using cheaper storages on bare metal Kubernetes installations. These works will be introduced together with the creation of Ephemeral Local Storage, the limitations / limits in which (first introduced in K8s 1.8 ) also received improvements in the next release - announced in beta and now included by default.PersistentVolumeClaims
(PVCs) to PVs are accounted for by planner decisions. It is implemented in such a way that it can now request PVs, which should be compatible with its other limitations: resource requirements, affinity / anti-affinity policies. At the same time, planning of pods that do not use PVs with restrictions should occur with the same performance. Details are in design-proposals .volumeMode
, as well as support for block volumes in the GCE PD plugin;volume_plugin
) you can find out the total time for the mount / umount and attach / detach operations, the total time of privision and deletion, as well as the number of volumes in ActualStateofWorld
and DesiredStateOfWorld
, bound / unbound PVCs and PVs, the number of used PVCs, etc. For more details, see the documentation .KubeletConfiguration
structure. In order for Kubelet to pick up the config, you need to run it with the --config
flag (see the documentation for details). This approach is called recommended because it simplifies node deployment and configuration management. This was made possible by the emergence of an API group called kubelet.config.k8s.io
, which has beta status for the release of Kubernetes 1.10. Example configuration file for Kubelet : kind: KubeletConfiguration apiVersion: kubelet.config.k8s.io/v1beta1 evictionHard: memory.available: "200Mi"
shareProcessNamespace
spec, shareProcessNamespace
in PodSpec
, containers can now use a common PodSpec
for processes (PID namespace) . Previously, this feature was not due to the lack of necessary support in Docker, which led to the emergence of an additional API, which has since been used by some container images ... Now everything has been unified , maintaining backward compatibility. The result of the implementation is the support of three modes of PID namespace separation in the Container Runtime Interface (CRI): for each container (that is, its namespace for each container), for the hearth (common namespace for the hearth containers), for the node. Readiness status - alpha.--pod-max-pids
for the --pod-max-pids
console command. The implementation has the status of an alpha version and requires the inclusion of the SupportPodPidsLimit
feature.LinuxSandboxSecurityContext
and in LinuxContainerSecurityContext
(in addition to UID) - support is implemented for dockershim and has alpha version status.Corefile
) based on the ConfigMap
from kube-dns ./etc/resolv.conf
on the pod is managed by a kubelet , and the data of this config is generated based on pod.dnsPolicy
. Kubernetes 1.10 (in beta status) provides support for the resolv.conf
configuration of resolv.conf
. To do this, the PodSpec
field has been added to the dnsParams
, which allows you to overwrite the existing DNS settings. Read more in design-proposals . Illustration of using dnsPolicy: Custom
with dnsParams
: # Pod spec apiVersion: v1 kind: Pod metadata: {"namespace": "ns1", "name": "example"} spec: ... dnsPolicy: Custom dnsParams: nameservers: ["1.2.3.4"] search: - ns1.svc.cluster.local - my.dns.search.suffix options: - name: ndots value: 2 - name: edns0
NodePort
, i.e. initiate filtering of valid values ​​using --nodeport-addresses
(with a default value of 0.0.0.0/0
, i.e. skip everything that the current behavior of NodePort
). Implementation in kube-proxy for iptables, Linux userspace, IPVS, Window userspace, winkernel is provided. Status - alpha version.Node
authorization mode and the NodeRestriction
admission plugin) in order to grant them permission only for a limited number of objects and their associated secrets.kubectl get
and kubectl describe
. The global objective of the initiative , which has received beta status in Kubernetes 1.10, is that getting columns for tabular display of data should occur on the server side (and not the client), this is done to improve the user interface when working with extensions. The work begun earlier (in K8s 1.8) on the server side has been brought to the beta level, and major changes have been made on the client side.--pod-running-timeout
flag to wait for at least one under the launch), as well as support for specifying a service for port forwarding (for example: kubectl port-forward svc/myservice 8443:443
).cj
instead of CronJobs
, crds
- CustomResourceDefinition
. For example, the command kubectl get crds
has become available.PVCProtection
) PVCProtection
, which “protects” against the possible removal of PVCs that are actively used by subframes, has been renamed to Storage Protection
and has been upgraded to beta.Source: https://habr.com/ru/post/353114/
All Articles