Rocket v1.11.0 發布,一款容器引擎

jopen 8年前發布 | 9K 次閱讀 Rocket Docker 容器 Rkt

Rkt項目最初的發起者是CoreOS公司。CoreOS公司與其核心產品CoreOS操作系統是實至名歸的最早一批Docker企業級用戶,伴隨著Docker從最初的0.1版本一直走到正式發布的1.0版本。起初兩者相互促進,合作甚好。然而,隨著Docker在容器界一家獨大的趨勢越來越明顯,其周邊的生態逐漸的從單純的圍繞構建容器化應用服務,發展成了自上而下的集群規范體系,甚至部分取代了操作系統的服務進程調度工作。這種臃腫而受Docker單方面控制的容器規范,是CoreOS系統所不待見的,他們想要一個更加開放而中立的容器標準。2014年12月,CoreOS公布了自己的容器計劃,并在幾個月后結合社區中的容器實踐,著手制定新的開放應用容器規范,Rkt則作為此規范中的一個具體實現而繼續發展。

更新日志

新特性

  • rkt fetch: support for the docker image format v2.2 and draft OCI image format and allows fetching via digest.
  • KVM: Hypervisor support for KVM flavor focusing on qemu (#2684). This provides a generic mechanism to use different kvm hypervisors (such as lkvm, qemu-kvm).
  • rkt: add command to export a pod to an aci (#2889). Adds a new export command to rkt which generates an ACI from a pod; saving any changes made to the pod.
  • rkt/api: detect when run as a systemd.socket(5) service (#2916). This allows rkt to run as a systemd socket-based unit.
  • rkt/stop: implement --uuid-file (#2902). So the user can use the value saved on rkt run with --uuid-file-save.

Bug修復

  • scripts/glide-update: ensure running from $GOPATH (#2885). glide is confused when it's not running with the rkt repository inside $GOPATH.
  • store: fix missing shared storelock acquisition on NewStore (#2896).
  • store,rkt: fix fd leaks (#2906). Close db lock on store close. If we don't do it, there's a fd leak everytime we open a new Store, even if it was closed.
  • stage1/enterexec: remove trailing \n in environment variables (#2901). Loading environment retained the new line character (\n), this produced an incorrect evaluation of the environment variables.
  • stage1/gc: skip cleaning our own cgroup (#2914).
  • api_service/log: fix file descriptor leak in GetLogs() (#2930).
  • protobuf: fix protoc-gen-go build with vendoring (#2913).
  • build: fix x86 builds (#2926). This PR fixes a minor issue which leads to x86 builds failing.
  • functional tests: add some more volume/mount tests (#2903).
  • stage1/init: link pod's journal in kvm flavor (#2934). In nspawn flavors, nspawn creates a symlink from /var/log/journal/${machine-id} to the pod's journal directory. In kvm we need to do the link ourselves.
  • build: Build system fixes (#2938). This should fix the expr: syntax error and useless rebuilds of network plugins.

Other changes

  • stage1: diagnostic functionality for rkt run (#2872). If the app exits with ExecMainStatus == 203, the app's reaper runs the diagnostic tool and prints the output on stdout. systemd sets ExecMainstatusto EXIT_EXEC (203) when execve() fails.
  • build: add support for more architectures at configure time (#2907).
  • stage1: update coreos image to 1097.0.0 (#2884). This is needed for a recent enough version of libseccomp (2.3.0), with support for new syscalls (eg. getrandom).
  • api: By adding labels to the image itself, we don't need to pass the manifest to filter function (#2909). api: Add labels to pod and image type.
  • api: optionally build systemd-journal support (#2868). This introduces a 'sdjournal' tag and corresponding stubs in api_service, turning libsystemd headers into a soft-dependency.
  • store: simplify db locking and functions (#2897). Instead of having a file lock to handle inter process locking and a sync.Mutex to handle locking between multiple goroutines, just create, lock and close a new file lock at every db.Do function.
  • stage1/enterexec: Add entry to ASSCB_EXTRA_HEADERS (#2924). Added entry to ASSCB_EXTRA_HEADERS for better change tracking.
  • build: use rkt-builder ACI (#2923).
  • Add hidden 'image fetch' next to the existing 'fetch' option (#2860).
  • stage1: prepare-app: don't mount /sys if path already used (#2888). When users mount /sys or a sub-directory of /sys as a volume, prepare-app should not mount /sys: that would mask the volume provided by users.
  • build,stage1/init: set interpBin at build time to fix other architecture builds (e.g. x86) (#2950).
  • functional tests: re-purpose aws.sh for generating AMIs (#2736).
  • rkt: Add --cpuprofile --memprofile for profiling rkt (#2887). Adds two hidden global flags and documentation to enable profiling rkt.
  • functional test: check PATH variable for trailer \n character (#2942).
  • functional tests: disable TestVolumeSysfs on kvm (#2941).
  • Documentation updates (#2918)

庫更新

  • glide: update docker2aci to v0.12.1 (#2873). Includes support for the docker image format v2.2 and OCI image format and allows fetching via digest.

下載

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!