头图
The content of "K8S Ecological Weekly" mainly contains some recommended weekly information related to the K8S ecology that I came into contact with. Welcome to subscribe to the column "k8s ecology" .

runc v1.0 is officially released

It has been 5 years since the v1.0-rc1 version was released in June 2016. After multiple rc versions, runc finally released the v1.0 version. For the whole process and thoughts, please refer to my previous article "5-year long-distance running of open source projects, runc v1.0 is finally officially released! " . Here we take a look at the notable changes brought by the new version of v1.0.

Disruptive change

  • #2999 deleted the libcontainer/configs.Device* logo, please use libcontainer/devices.* instead (it is obsolete since v1.0-rc94);
  • #2999 deleted the libcontainer/system.RunningInUserNS function, please use the libcontainer/userns.RunningInUserNS function instead (also obsolete since v1.0-rc94);

Improve

  • # 2994 in runc update time set SkipDevices , so in the meantime we would not update the cgroups;
  • #3010 cgroup1 related blkio supports BFQ weight. It should be noted that CFQ has been removed from Linux in 2018. The RHEL 8.0 and Ubuntu 19.01 released in also use BFQ instead of CFQ 160de732a58f05. The BFQ and CFQ of the Linux kernel will not be expanded here, just know that BFQ achieves low latency and throughput compared to CFQ;

For more information about the changes in this version, please refer to its ReleaseNote . Now Docker/containerd and other projects have upgraded their runc dependencies to v1.0, and the K8S project has not yet been merged.

Prometheus v2.28 officially released

Prometheus v2.28 has a significant improvement in the user experience, let's take a look at what is worth paying attention to:

  • The PromQL editor will be turned on by default. I introduced this editor in the previous k8s ecology. Post a picture here to see its automatic completion, in addition to the ability of highlighting and linting.

  • There is also the browse window of metrics. Why do you mention this feature again? Because I think it is very practical. In the previous version, I either needed to remember in advance which metrics were available, or went directly to curl to request the metrics interface to see which metrics were available. For now, just browse directly.

  • You can show the trace exemplar, the effect is as follows:

    This function is quite convenient, I can introduce it in detail when I have time. (Flag+1)

  • A new HTTP-based service discovery has been added. This function is more practical. It is no longer required to be specific to the use of a certain component. As long as the content returned by the HTTP interface meets its required format, it can be registered in Prometheus.
  • In Kubernetes SD, an ingress class name field has been added. For example, when you use the Apache APISIX Ingress controller, you will see a field of {__meta_kubernetes_ingress_class_name: apisix}

For more information about the changes in this version, please check its ReleaseNote

Kubernetes v1.22.0-beta.0 released

Kubernetes v1.22 is continuously being iterated and released. Let's take a look at the changes that are worth paying attention to in v1.22.0-beta.0!

Abandoned

  • --hard-pod-affinity-symmetric-weight and --scheduler-name have been removed from kube-scheduler (obsolete since v1.18);

API changes

  • #99597 kube-scheduler component config is now using v1beta2 API, which means that three plug-ins are obsolete, namely NodeLabel, ServiceAffinity, NodePreferAvoidPods;
  • #102834 Network Policy EndPort has reached the beta level and will be enabled by default;

characteristic

  • # 101 316 is StatefulSet minReadySeconds adds a parameter , this parameter can be set by the minimum sts ready time, not prematurely put the ready flow introduced before Pod;
  • # 102 722 to kubeadm in kubeadm init increased --dry-run options;
  • #102466 160de732a5945b the CoreDNS used for kubeadm deployment to v1.8.4 and granted it the list and watch permissions of EndpointSlice

bugfix

  • 102840 changed the Reason and Message of Graceful Node Shutdown Pod, the changes are as follows:

    -       nodeShutdownReason          = "Shutdown"
    -       nodeShutdownMessage         = "Node is shutting, evicting pods"
    -       nodeShutdownNotAdmitMessage = "Node is in progress of shutting down, not admitting any new pods"
    +       nodeShutdownReason             = "Terminated"
    +       nodeShutdownMessage            = "Pod was terminated in response to imminent node shutdown."
    +       nodeShutdownNotAdmittedReason  = "NodeShutdown"
    +       nodeShutdownNotAdmittedMessage = "Pod was rejected as the node is shutting down."

For more information about the changes of this version, please refer to its ReleaseNote


Welcome to subscribe to my article public account【MoeLove】

TheMoeLove


张晋涛
1.7k 声望19.7k 粉丝