“K8S Ecology Weekly” mainly contains some recommended weekly information related to K8S ecology that I have come into contact with. Welcome to subscribe zhihu column “K8S Ecology”.

Docker open source Compose specification, help cloud native application development

Docker announced this week that it will open source the Compose specification and govern it as a separate organization.

Because Compose can easily define how an application stack based on multiple containers works, and can start applications with a single command instead of manually building images and starting containers one by one, it can save development teams a lot of time.

Compose is currently used by millions of developers and has more than 650,000 Compose profiles on GitHub.

Docker has also created a repository for awesome-compose on GitHub, which includes examples of how compose can be used in a variety of scenarios.

The goal of this open source Compose specification is to harness the power of the open source community and collaborate with Microsoft and other partners to innovate and energize the Compose specification and help establish a common open standard for building and deploying container applications from the desktop to the cloud.

In addition, Compose’s standard plan is to donate to a neutral foundation. Personally, I think it is most likely to be donated to CNCF (I haven’t seen any official news so far). The expanded Compose specification will definitely improve the developer experience.

At the same time, the community is planning to rewrite the Docker-compose tool (or re-implement the Compose specification) with Go, which is generally a good thing to watch.

Details can be found at www.compose-spec.io/

SMI officially joined CNCF

Service Mesh Interface (SMI) was officially added to CNCF this week as a sandbox-level project.

I’m K8S ecological weekly | in May last year has been introduced in the 2019-05-20 ~ 2019-05-20 Microsoft announced the launch of SMI, essence is to provide generic interface for service grid, So that the Service Mesh can have a more general specification (like the original CNI/CRI).

After nearly a year of development, the SMI community has developed significantly and the current ecological information listed in the community is as follows:

  • Consul Connect*: service segmentation (consul.io/docs/connect)
  • Flagger: progressive delivery operator (flagger.app)
  • Istio*: connect, secure, control, observe (servicemeshinterface/smi-adapter-istio)
  • Linkerd: ultralight service mesh (linkerd.io)
  • Maesh: simpler service mesh (mae.sh)
  • Meshery: the service mesh management plane (layer5.io/meshery)
  • Rio: application deployment engine (rio.io)
  • Service Mesh Hub: unified dashboard (solo.io/products/service-mesh-hub)

I think the first time I remember following SMI was in June of ’19 when Linkerd added support for SMI.

However, you can also see that in the case of Istio, it is the community that provides an adaptation to Istio (I won’t go into that here).

For more information: smi-spec. IO /blog/ SMI-jo…

Kubernetes v1.18.1 release

Kubernetes V1.18.1 has been released with some bugfixes, but here is an update issue with kubeadm.

#89537 Fixed an issue where nodes could not cluster when upgrading from v1.17 to v1.18 using kubeadm. This is mainly due to the addition of a check for the existence of a node with the same name when the node is added to the cluster. The corresponding RBAC rules are missing from KUbeadm.

The revised code is as follows:

// Create RBAC rules that makes the bootstrap tokens able to get nodes
iferr := nodebootstraptoken.AllowBoostrapTokensToGetNodes(client); err ! =nil {
    errs = append(errs, err)
}
Copy the code

Progress in the upstream

  • # 89151There’s a new oneetcd_db_total_size_in_bytesMetric for exposing etCD file sizes;
  • # 89848 kubectl applyEven if the build fails, other validated resources are applied.

Please feel free to subscribe to my official account [MoeLove]