Argo project joins CNCF incubator | Cloud Native Ecology Weekly Vol. 45

4.9 Next article.png

Author | Chen Jie, Gao Xianglin, Chen Youkun, Ao Xiaojian

Industry news

  1. Argo project joins CNCF incubator

The Argo project is a set of Kubernetes native tools for running and managing jobs and applications on Kubernetes. It currently consists of four sub-projects: Argo Workflows, Argo Events, Argo CD and Argo Rollouts. On April 8, the CNCF Technical Oversight Committee (TOC) voted to accept Argo as an incubation-level escrow project.

  1. Argo CD v1.5 release

Argo CD releases the v1.5 version. V1.5 has been greatly optimized in performance while reducing the pressure on the APIServer. In addition, v1.5 also supports Helm 3 charts.

  1. CloudNativeSummit held

On April 7th, the CloudNative Summit was held live on YouTube. The summit mainly introduced the latest progress of CNCF graduation projects (including Kubernetes, Prometheus, Envoy, Jaeger, etc.) and discussed some new trends in cloud native technologies in the future.

  1. CNCF issues guidance on health during the outbreak

Affected by the COVID-19 epidemic, most people have started the home office mode, and their social relationships have been extended, both in terms of physical and mental health. The CNCF Well-Being Working Group provides a working guide during the outbreak, including answers to some common questions and suggestions.

  1. COVID-19: Extended bug fixes for Helm v2

Due to COVID-19, Helm maintainers decided to extend Helm v2 bug repair service time.

Important upstream progress

  1. Even with build error, kubectl apply should apply all valid resources

Optimized the logic of kubectl apply to apply as many effective resources as possible in YAML.

  1. kubelet add initial support for cgroupv2

Support running kubelet on cgroup v2 unified mode machine. At the same time, the conversion from cpu.shares (threshold value 2-262144) to cpu.weight (threshold value 1-10000) was done.

  1. apiserver: add a metric exposing etcd database size 

A metric of etcd db size usage is exposed on the apiserver side.

  1. Fix SelectorFromSet: add a ValidatedSelectorFromSet

Resolved a bug that did not verify the Selector results. Currently using labels.SelectorFromSet, if the parsing fails (for example, the label value is incorrectly filled with a long value), an empty Selector will be returned, resulting in all resources being filtered out.

  1. Reduce locking when calculating affinity scores

The scheduler optimized the performance when calculating the affinity score, and moved a read-write lock inside the loop to the outermost layer of the goroutine (optimized the lock granularity).

  1. apiextensions: wait for complete discovery endpoint

When using the discovery endpoint, the readiness is reported after the CRD synchronization status is completed, which solves the problem that the discovery enxpoint will be temporarily unavailable after it is started.

  1. Add pod-level process stats to the summary API for out-of-pid eviction

When Kubelet performs out-of-pid eviction, it currently only uses PodPriority to sort. This KEP plans to add more process-level data (such as the number of processes in the Pod) to perform eviction.

  1. HPA scaling based on container resources

Supports autoscaling based on container-level resources, because the following special scenarios may exist in a single Pod:

  • Multiple containers have different resource thresholds;
  • There are multiple containers, but autoscaling is only based on the resource threshold of a single container.
  1. knative exposes Downward API

This design document mainly considers how to implement it, and lists four methods and their advantages and disadvantages. The four methods are to use the definition of K8s directly, put them directly into environment variables, use annotation descriptions, and use Knative custom descriptions.

  1. Remove Galley and MCP Source

 The latest discussion results of the Istio Networking working group decided to remove Galley from Istio 1.6: Galley ’s original responsibility verification and status controllers have been merged into Istiod, and Galley ’s remaining duties MCP Source will be Delete directly. Note: The MCP function still exists, and Istiod retains the role of MCP sync.

Open source project recommendation

  1. BotKube

BotKube is an application that monitors Kubernetes clusters and provides alarm services. It supports pushing messages to Slack, Mattermost and ElasticSearch. It filters Kubernetes events through rules and provides targeted alerts. It also provides some fixed YAML checks on the resources in the current cluster.

Subbar graph 2.png

  1. PrometheusAlert

PrometheusAlert is a message forwarding system for the operation and maintenance alarm center. It supports the warning messages sent by the mainstream monitoring systems Prometheus, Zabbix, the log system Graylog and the data visualization system Grafana, and supports various mainstream alarm methods such as nails.

  1. YugabyteDB

A high-performance, cloud-native distributed SQL database, suitable for cloud-native OLTP applications, with high scalability, fault tolerance, and support for off-site disaster tolerance.

Reading recommendation this week

  1. 《How to detect outdated Kubernetes APIs》

With the iteration of the Kubernetes version, some APIs have been gradually deprecate. This article describes how to use Deprek8, a tool based on Open Policy Agent rules, to check whether the YAML in your repository refers to the deprecated API.

  1. 《quality of service and oom in Kubernetes》

The article introduces the QoS mechanism in Kubernetes in detail, and introduces the process of Linux Kill process after OOM and how evict pods in Kubernetes.

  1. 《A primer: Continuous Integration and Continuous Delivery (CI/CD) 》

The article delves into the key points of CI / CD, including version control, development branches and patterns, release pipelines, and automated testing.

  1. 《Kubernetes 1.18 Feature Server-side Apply Beta2》

Introduced the new features on Server-side Apply in Kubernetes 1.18. ManagedFields was added in 1.18. All server-side apply are recorded in mangedFields, including modified fields, modified time, and modified person.

Cloud native webinar invites you to participate

Click to schedule a live broadcast now

416 live poster.png

" Alibaba Cloud Native focuses on microservices, serverless, containers, service mesh and other technical fields, focuses on cloud native popular technology trends, cloud native large-scale landing practices, and is the public number that understands cloud native developers best.

Guess you like

Origin blog.51cto.com/13778063/2486240