This week author | ink letters, heartfelt source, Yuan Yi, Jeju, heart water
1. Helm 3 first beta release version v3.0.0-beta.1
The focus is to complete the final version of the modifications and reconstruction, as well as transplant Helm 2 other properties. https://github.com/helm/helm/releases
2. cilium 1.6 release
Completed the final two core requirements, announced that it has 100% replacement kube-proxy. https://cilium.io/blog/2019/08/20/cilium-16/
cilium is implemented based eBPF container assembly may be used to provide load balancing and network connections, independent of the K-V store, the following performance test results are the cilium.
3. pivotal open source controller – kpack
Controller of resources to build and update the image. https://github.com/pivotal/kpack
Significant progress upstream
apiserver observed requests for a more detailed classification, increase the priority of requests. Currently apiserver a relatively simple mechanism to prevent overloads, for example, with max-in-flight restrictions to request mutating and readonly, but in addition to these two types of requests, there are other types of requests can do different restrictions. This request apiserver KEP desirable to categorize the received priority levels, each corresponding to its assigned request concurrency pool, so that different priority requests can be done different request upper limit. The authors cited a number of years KEP currently observed in 1.16 requests.
Increase StorageVersion API for the HA master. HA master when roling upgrade, each apiserver may use different storage version to encode resource. If you have a storage version migrator cluster, an error leading to storage migrator resource storage version upgrade to a different version. It adds a StorageVersion API in this scenario will tell migrator, the current HA cluster of storage version did not reach an agreement, migrator migrate will be blocked in.
scheduling framework: as a plug-in architecture Kubernetes scheduler designed to allow scheduling properties added in the form of plug-in scheduler (beta will be at 1.17). https://github.com/kubernetes/enhancements/issues/624 (KEP earlier). As more and more characteristics of scheduling, scheduler code increasingly large, increasingly complex maintenance, and custom scheduler overhead is relatively large. So the community wants to make a scheduling framework scheduler architecture that allows other scheduling characteristics as a plug-registered to the scheduler, to expand the scheduler is also more flexible.
Fix the problem (explicit follow symlink) kubectl -f does not work under windows.
Kubernetes API change related: CustomResourceDefaulting been upgraded from featuregate.Alpha to featuregate.Beta, and enabled by default. v1beta1 webhooks / CRD types are deprecated. release version of the go 1.13,1.14,1.15 are upgraded (net mentioned before solving / http security vulnerability)
Apiserver only allowed to http1 start (DisableHTTP2), to facilitate some special tests or production scenarios demand.
scale client support non-namespace of resources (such as CRD cluster-wide)
Supporting the pod-overhead scene pod computing resources kubelet (evict used as a reference)
mvcc: adjust the default compact batch is 1000, compact batch interval is 10ms. compact batch affect the speed of the compact, the compact batch is too large can cause performance put / range drop, too small and compact can not be too compact batch of key. Within the group, we have these two parameters is set to a variable, a different cluster measured pressure is adjusted to the optimum parameters qps.
raft: allow the learner to vote in exceptional circumstances. There is a scenario: cluster id = 1 is learner, id = 2 is a voter, id = 3 is Voter, then the client to the learner promote Voter, and other reasons as network partitioning, the message has not reached Learner, but this time id = voter 2 hung up, then id = 3 voter is direct access to the electoral victory. In fact at this time learner has to promote voter, and also need id = voter 1 Vote. The PR fixes this scenario, allowing the learner received a vote when the learner received a vote, suggesting that other quorum sees itself as a voter a.
eventing and after serving the function and stability of relatively stable performance optimization stage entered to begin Benchmark, comprising: – deployment benchmark; – activator + throttler opening Throttler; off Throttler; – eventing began to develop a test program, comprising collecting a response delay the results of standard and cluster running test cases.
The eventing channel subscriptions and transferred to messaging.knative.dev API Group. Show concept Channel and Subscription are forwarding to route messages instead of events related to how to migrate existing business, change is large.
Open source projects recommended
Small, fast, single-package K8S version is suitable for development do K8S offline, IOT and edge devices. https://github.com/ubuntu/microk8s
microk8s keeping feature of upstream K8s, just release the 1.16-beta, and it includes other tools of mainstream K8s ecology, including serverless (knative), service mesh (istio), monitoring (prometheus, grafana), machine learning (kubeflow) .
Kubernetes of GraphQL API, allowing you to use graphql and Kubernetes api to interact. https://github.com/qlkube/qlkube?utm_sq=g5n76aa1mt
GraphQL is Facebook 2015 Nian open source data query specification. For now most of the RESTful API, there are the following scenario:
client need to send several requests to the server to get the required query content;
GraphQL wants to make API data between the form of a graph, association and organized in a hierarchy;
qlkube Kubernetes using the openapi / swagger api specification GranphQL automatically generated interface.
Fzf use kubectl and build support fuzzy search command-line tool. https://github.com/thecasualcoder/kube-fzf
fzf (fuzzy finder) it is a very rich command-line fuzzy search, while kube-fzf combination of the two command-line tools, reducing the complexity of a large number of kubectl get po xxx -n xxxxx command knock when Kubernetes daily operation and maintenance. Currently supported search pod, tail pod container, describe pod, exec into a pod, port forward pod.
This week Recommended Reading
1. 《The State of State in Cloud Native Applications》
https://thenewstack.io/the-state-of-state-in-cloud-native-applications/ native applications in the cloud, stateful processing and applications development status and future trends.
2. 《How Kubernetes Could Orchestrate Machine Learning Pipelines》
https://thenewstack.io/how-kubernetes-could-orchestrate-machine-learning-pipelines/ In the past few years, Apache YARN and Mesos often data science type of job (especially in machine learning) preferred resource scheduler, with Kubernetes popular in the community, on Kubernetes allows users to big data or analytics job more and more. Article describes how to use kubeflow pipeline were ML training, as well as MLOps design.
3. 《Kubernetes Web UIs in 2019》
https://srcco.de/posts/kubernetes-web-uis-in-2019.html community has a lot Kubernetes Web UI project, the author proposes his own expectations Kubernetes UI’s, and all open source projects made a summary .
4. “depth interpretation Helm 3: still holds partly concealed”
Since the beginning of last year leaked Helm v3 will begin to develop, it was a bunch of people asked in the end Shashi Hou made version. Helm v3 in May released the first alpha version, released a beta version now, this is an old article interpretation Helm v3 aplha, but it is definitely a good article helps to understand Helm of V3.
5. “Knative Eventing introduction of Choice”
From the beginning Knative Eventing 0.8, support for select events according to different filters. Provides this capability by Choice. This article aims to introduce the Choice properties.
6. “Service trends Mesh (cont.): Chess into the drive way to where”
Continue to explore ServiceMesh trends, the soul tortured way analysis of significance Istio major innovation Mixer v2, Envoy support Web Assembly depth; insight into Google Traffic Director innovative support methods for virtual machine model, as well as stories recently about the SMI occurred.
Glossary: KEP – Kubernetes Enhancement Proposal, namely Kubernetes upstream design documents
– This weekly newspaper is published by the container platform Alibaba joint ants gold dress
This week Author: ink letters, heartfelt source, Yuan Yi, Jeju, heart water Editor: wooden ring