Skip to content

Instantly share code, notes, and snippets.

View bergwolf's full-sized avatar

Peng Tao bergwolf

View GitHub Profile
@bergwolf
bergwolf / release-planning.md
Last active June 2, 2020 06:21
kata 2.0 roadmap

Kata 2.0 Release Planning

One release per three weeks

Release Target Date Contents Comments
alpha1 June 5 rust-agent + ttrpc repository consolidation half done
alpha2 June 26 repository consolidation + ci
alpha3 July 17 close rust-agent feature gaps + image pulling inside sandbox (optional feature) + packaging release pipeline
alpha4 August 7 observability/events/debuggability
@bergwolf
bergwolf / 0-summary.md
Last active August 22, 2019 01:49
containerd-kata-shimv2 boot speed

VM templates provides 38.68% speedup for kata containers when running with containerd shimv2.

boot speed
no-vm-template avg 0.8199s
with-vm-template avg 0.5028s
speedup 38.68%

CMD to run the test:

@bergwolf
bergwolf / Release.md
Last active November 23, 2018 08:00 — forked from jcvenegas/Release.md
Kata Containers Release
@bergwolf
bergwolf / Analysis.md
Last active August 10, 2018 12:23
kata bootup speed analysis
  1. Even if we ignore the time consumed by kata-runtime, docker still uses on average 0.629s (0.5526s, 0.684s, 0.588s, 0.69s) to create a new container. So we can claim that docker/containerd architecture makes docker(runc) always slower than hypercontainer now.

  2. All above tests were done with kata persistent storage put in tmpfs. But it does not increate bootup speed. So kata runtime metadata plugin may not help performance either.

  3. The most time consuming operation is kata-runtime create and it needs

  1. spec.proto
syntax = "proto3";

package specs;

message Spec {
        string Version = 1;
        Process Process = 2;
        string Hostname = 4;

docker volume populate

docker在当一个volume的mountpoint在image里原本有数据的情况下,会把image的数据populate到volume中.这个行为在volume被mount到 多个mountpoint的时候,在不同的docker版本行为有差别.

  1. docker 1.10.3,如果volume mount到多个mountpoint,就不会去populate image中原有的数据到volume中
[lear@~]$docker volume create --name foobar
foobar
[lear@~]$docker run --rm -t -v foobar:/vol/data1 -v foobar:/vol/data2 bergwolf/test ls /vol/data1 /vol/data2
package main
import (
"crypto/tls"
"fmt"
"github.com/bergwolf/goftp"
)
func main() {