kata 虚拟机

qemu-system-aarch64   -m 1024 -kernel vmlinuz-5.4.34-88 -nographic -initrd  kata-containers.img -append console=ttyS0 -machine virt
root@ubuntu:/etc/docker# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
4e9f50721226        busybox             "sh"                2 hours ago         Up 2 hours                              funny_diffie
root@ubuntu:/etc/docker# id=$(sudo docker ps -q --no-trunc)
root@ubuntu:/etc/docker# echo $id
4e9f5072122614c41960d734e1b977fa882a641a84e8b263ddba1664effe0e6f
root@ubuntu:/etc/docker# ls /var/run/vc/vm/
4e9f5072122614c41960d734e1b977fa882a641a84e8b263ddba1664effe0e6f
root@ubuntu:/etc/docker# ls /var/run/vc/vm/4e9f5072122614c41960d734e1b977fa882a641a84e8b263ddba1664effe0e6f/
console.sock  kata.sock  pid  qemu.log  qmp.sock
root@ubuntu:/etc/docker# ls /var/run/vc/vm/4e9f5072122614c41960d734e1b977fa882a641a84e8b263ddba1664effe0e6f/console.sock 
/var/run/vc/vm/4e9f5072122614c41960d734e1b977fa882a641a84e8b263ddba1664effe0e6f/console.sock
root@ubuntu:/etc/docker# console="/var/run/vc/vm/4e9f5072122614c41960d734e1b977fa882a641a84e8b263ddba1664effe0e6f/console.sock"
root@ubuntu:/etc/docker# socat "stdin,raw,echo=0,escape=0x11" "unix-connect:${console}"

 

root@ubuntu:/etc/docker# kata-runtime list
ID                                                                 PID         STATUS      BUNDLE                                                                                                                 CREATED                          OWNER
e12a7db6fb05df044a59a19bb03c39fe7752e4d684a8e2e58822b88606d3ac3e   12665       running     /run/containerd/io.containerd.runtime.v1.linux/moby/e12a7db6fb05df044a59a19bb03c39fe7752e4d684a8e2e58822b88606d3ac3e   2020-10-10T08:40:39.593030395Z   #0
root@ubuntu:/home/ubuntu# kata-runtime exec e12a7db6fb05df044a59a19bb03c39fe7752e4d684a8e2e58822b88606d3ac3e
rpc error: code = Internal desc = Could not run process: container_linux.go:349: starting container process caused "panic from initialization: runtime error: index out of range, goroutine 1 [running, locked to thread]:
runtime/debug.Stack(0x400018fbd8, 0xaaaab1b68260, 0xaaaab21de220)
	/usr/go/src/runtime/debug/stack.go:24 +0x88
github.com/kata-containers/agent/vendor/github.com/opencontainers/runc/libcontainer.(*LinuxFactory).StartInitialization.func2(0x400018fea0)
	/root/go/src/github.com/kata-containers/agent/vendor/github.com/opencontainers/runc/libcontainer/factory_linux.go:370 +0x40
panic(0xaaaab1b68260, 0xaaaab21de220)
	/usr/go/src/runtime/panic.go:513 +0x18c
github.com/kata-containers/agent/vendor/github.com/opencontainers/runc/libcontainer.(*linuxSetnsInit).Init(0x400012d9c0, 0x0, 0x0)
	/root/go/src/github.com/kata-containers/agent/vendor/github.com/opencontainers/runc/libcontainer/setns_init_linux.go:91 +0x434
github.com/kata-containers/agent/vendor/github.com/opencontainers/runc/libcontainer.(*LinuxFactory).StartInitialization(0x4000164090, 0x0, 0x0)
	/root/go/src/github.com/kata-containers/agent/vendor/github.com/opencontainers/runc/libcontainer/factory_linux.go:380 +0x2ec
main.init.0()
	/root/go/src/github.com/kata-containers/agent/agent.go:1506 +0x88
"
root@ubuntu:/home/ubuntu#

root@ubuntu:/usr/share/kata-containers/binary# ip netns
cnitest-bb252624-2184-af78-6ee7-e54ec40635fb (id: 0)
root@ubuntu:/usr/share/kata-containers/binary# p netns pids cnitest-bb252624-2184-af78-6ee7-e54ec40635fb
p: command not found
root@ubuntu:/usr/share/kata-containers/binary# ip netns pids cnitest-bb252624-2184-af78-6ee7-e54ec40635fb
13373
13391
root@ubuntu:/usr/share/kata-containers/binary# ps -p 13373  13391
  PID TTY      STAT   TIME COMMAND
13373 ?        Sl     0:01 /usr/share/kata-containers/binary/qemu-system-aarch64 -name sandbox-ca5ca0fe6fd3ce12e8a
13391 pts/4    Ssl+   0:00 /usr/libexec/kata-containers/kata-shim -agent unix:///run/vc/sbs/ca5ca0fe6fd3ce12e8a1c0
root@ubuntu:/usr/share/kata-containers/binary# 
root@25a725e7599e:/# ls run/
kata-containers  libcontainer  lock  mount  sandbox-ns  systemd
// Shared path handling:
// 1. create two directories for each sandbox:
// -. /run/kata-containers/shared/sandboxes/$sbx_id/mounts/, a directory to hold all host/guest shared mounts
// -. /run/kata-containers/shared/sandboxes/$sbx_id/shared/, a host/guest shared directory (9pfs/virtiofs source dir)
//
// 2. /run/kata-containers/shared/sandboxes/$sbx_id/mounts/ is bind mounted readonly to /run/kata-containers/shared/sandboxes/$sbx_id/shared/, so guest cannot modify it
//
// 3. host-guest shared files/directories are mounted one-level under /run/kata-containers/shared/sandboxes/$sbx_id/mounts/ and thus present to guest at one level under /run/kata-containers/shared/sandboxes/$sbx_id/shared/
root@ubuntu:/home/ubuntu# ls /run/kata-containers/
containers-mapping  shared
root@ubuntu:/home/ubuntu# ls /run/kata-containers/containers-mapping/
cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c
root@ubuntu:/home/ubuntu# ls /run/kata-containers/containers-mapping/cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c/
cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c
root@ubuntu:/home/ubuntu# ls /run/kata-containers/containers-mapping/cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c/cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c/
root@ubuntu:/home/ubuntu# ls /var/run/vc/sbs/
cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c
root@ubuntu:/home/ubuntu# ls /var/run/vc/sbs/cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c/
cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c  persist.json  proxy.sock
root@ubuntu:/home/ubuntu#  mount | grep cf09483176d1a7
tmpfs on /run/kata-containers/shared/sandboxes/cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c/shared type tmpfs (ro,relatime,size=26334908k,mode=755)
overlay on /run/kata-containers/shared/sandboxes/cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c/mounts/cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c/rootfs type overlay (rw,relatime,lowerdir=/var/lib/docker/overlay2/l/EUZLGUHBQ7L3655EHGCEMALDBZ:/var/lib/docker/overlay2/l/QYAY6NY35IL5RIM4PE5ZLY7C44:/var/lib/docker/overlay2/l/MN4IC4KQI4FAGG4ZIPEYHSPJGW:/var/lib/docker/overlay2/l/PWRZKLZFFPTNF76EUWJQWMXDXN:/var/lib/docker/overlay2/l/OHD7XJ4JW7PEYZRGBIBJZYTLYY:/var/lib/docker/overlay2/l/XKGKOR5GBTIGTO6EHG22MIZ7NE,upperdir=/var/lib/docker/overlay2/ff47992f102aa5baa3e56614a739411ae30dea2c68dafa33d31218bf763cb660/diff,workdir=/var/lib/docker/overlay2/ff47992f102aa5baa3e56614a739411ae30dea2c68dafa33d31218bf763cb660/work,xino=off)
overlay on /run/kata-containers/shared/sandboxes/cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c/shared/cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c/rootfs type overlay (rw,relatime,lowerdir=/var/lib/docker/overlay2/l/EUZLGUHBQ7L3655EHGCEMALDBZ:/var/lib/docker/overlay2/l/QYAY6NY35IL5RIM4PE5ZLY7C44:/var/lib/docker/overlay2/l/MN4IC4KQI4FAGG4ZIPEYHSPJGW:/var/lib/docker/overlay2/l/PWRZKLZFFPTNF76EUWJQWMXDXN:/var/lib/docker/overlay2/l/OHD7XJ4JW7PEYZRGBIBJZYTLYY:/var/lib/docker/overlay2/l/XKGKOR5GBTIGTO6EHG22MIZ7NE,upperdir=/var/lib/docker/overlay2/ff47992f102aa5baa3e56614a739411ae30dea2c68dafa33d31218bf763cb660/diff,workdir=/var/lib/docker/overlay2/ff47992f102aa5baa3e56614a739411ae30dea2c68dafa33d31218bf763cb660/work,xino=off)
/dev/sdc3 on /run/kata-containers/shared/sandboxes/cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c/mounts/cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c-3c5f4f0362a80b0d-resolv.conf type ext4 (rw,relatime,errors=remount-ro,stripe=64)
/dev/sdc3 on /run/kata-containers/shared/sandboxes/cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c/shared/cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c-3c5f4f0362a80b0d-resolv.conf type ext4 (rw,relatime,errors=remount-ro,stripe=64)
/dev/sdc3 on /run/kata-containers/shared/sandboxes/cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c/mounts/cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c-f0398696c4ccbad5-hostname type ext4 (rw,relatime,errors=remount-ro,stripe=64)
/dev/sdc3 on /run/kata-containers/shared/sandboxes/cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c/shared/cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c-f0398696c4ccbad5-hostname type ext4 (rw,relatime,errors=remount-ro,stripe=64)
/dev/sdc3 on /run/kata-containers/shared/sandboxes/cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c/mounts/cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c-889f0c6b7cf0823e-hosts type ext4 (rw,relatime,errors=remount-ro,stripe=64)
/dev/sdc3 on /run/kata-containers/shared/sandboxes/cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c/shared/cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c-889f0c6b7cf0823e-hosts type ext4 (rw,relatime,errors=remount-ro,stripe=64)
root@ubuntu:/home/ubuntu# 

kata虚拟机

root@25a725e7599e:/# ls run/kata-containers/
sandbox  shared
root@25a725e7599e:/# ls run/kata-containers/sandbox/
resolv.conf  shm
root@25a725e7599e:/# ls run/kata-containers/sandbox/shm/
root@25a725e7599e:/# ls ./run/kata-containers/shared/containers/
cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c
cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c-3c5f4f0362a80b0d-resolv.conf
cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c-889f0c6b7cf0823e-hosts
cf09483176d1a73c6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93c-f0398696c4ccbad5-hostname
6e21d0b69a1de3b2d06b2cde4ec63f62d5e6608e0ab7a93cared/containers/cf09483176d1a73c6

application挂载实现

-chardev socket,id=charch0,path=/run/vc/sbs/2ed4a3afed3c3d3269ca230d87da940bcdb85a6f239fab015b2710b83253dc02/kata.sock,server,nowait
-device virtio-9p-pci,fsdev=extra-9p-kataShared,mount_tag=kataShared -fsdev local,id=extra-9p-kataShared,path=/run/kata-containers/shared/sandboxes/2ed4a3afed3c3d3269ca230d87da940bcdb85a6f239

原文地址:https://www.cnblogs.com/dream397/p/13793221.html