v0.2.0
版本发布时间: 2020-05-19 01:52:53
krustlet/krustlet最新发布版本:v1.0.0-alpha.1(2021-07-28 01:06:02)
Krustlet 0.2.0 is the second release of Krustlet. This release was focused on adding features and improving overall ergonomics for running Krustlet. For more details on what isn't implemented yet, see the Known Issues section.
Because this is pre-release software, there are no backwards compatibility guarantees for the Rust API or functionality. However, we will do our best to document any breaking changes in future releases
Caveats
Please note that this is NOT production-ready software, but it is in a usable state. The WASI standard and wasmtime are still under heavy development, and because of this there are key features (like networking) that are missing; these will appear in the future. However, there is networking support available in wasCC.
Using Krustlet as a library
All of the functionality of Krustlet is also available as a Rust crate, and this is the first release that we are publishing to crates.io! We have pushed the oci-distribution
crate and the kubelet
crate for use in other projects. The kubelet
crate can be used by anyone who wants to write a Virtual Kubelet style provider in Rust. We'd love to see some other examples of Providers if anyone implements one!
Please remember that the oci-distribution
crate is a partial implementation of the OCI spec that we hope to fully flesh out in the future (as of right now, it is just an implementation of what is needed to pull modules for Krustlet)
Notable Features/Changes
- A whole slew of additional docs for running Krustlet with an Inlets tunnel, GKE, and on WSL2
- waSCC capabilities are now statically compiled into the krustlet-wascc binary, eliminating the need for downloading object files
- Long running modules in the WASI provider can now be interrupted
- Volume support for Secrets, ConfigMaps, and HostPath
- Log streaming and better error handling for Kubelet
Known Issues/Missing Features
- Cloud volume mounting support
- Init containers
- Only linux and Darwin 64 bit architectures are supported. We hope to be adding ARM and other targets in the future. Right now, Windows is doable, but we are trying to improve the developer process and testing before supporting it as a build target
- Support for all pod phases/conditions (
ContainerCreating
,CrashLoopBackoff
, etc.). However, please note that running and error conditions are supported, so you'll know if your pod is erroring - Unsupported workloads (such as those dropped automatically onto a node like kube-proxy) can get into an error loop. This is more of a nuisance that will cause some logging noise, but not impact the running of Krustlet
- We were planning on having TLS bootstrapping available, but ran into some problems with getting it to work with external nodes. Because of this, it does not update the ready heartbeat of the node (though it does update its lease) and it has to delete and recreate the node on restart.
- Modifying a bare pod's image is not implemented. Nothing will error, but Krustlet will not restart the "container"
What's next?
Our next anticipated version is 0.3.0 (although we will cut a 0.2.1 if necessary). You can see a full list of issues planned for 0.3 in the milestone
Thanks
We also want to express a huge thanks to all of those in the community who contributed to this release. We had a whole slew of new contributors and their work has been invaluable in improving quality. We appreciate your efforts in making this project a success
Installation
Download Krustlet 0.2.0:
Check out our installation docs for information on how to install Krustlet