<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="675" viewBox="0 0 1200 675" preserveAspectRatio="xMidYMid meet">
  <rect width="1200" height="675" fill="#111827"/>
  <defs><marker id="a" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto"><path d="M0 0 L10 5 L0 10Z" fill="#93c5fd"/></marker></defs>
  <g font-family="Arial, Helvetica, sans-serif">
    <rect x="145" y="88" width="910" height="500" rx="34" fill="#0f172a" stroke="#334155" stroke-width="4"/>
    <text x="600" y="145" text-anchor="middle" font-size="30" font-weight="700" fill="#f9fafb">RuntimeClass 运行时选择机制</text>
    <text x="600" y="182" text-anchor="middle" font-size="18" fill="#cbd5e1">Pod 选择运行时，节点 CRI 决定隔离环境</text>
    <rect x="205" y="255" width="205" height="105" rx="24" fill="#1f2937" stroke="#60a5fa" stroke-width="3"/>
    <text x="308" y="297" text-anchor="middle" font-size="22" font-weight="700" fill="#dbeafe">Pod spec</text><text x="308" y="330" text-anchor="middle" font-size="17" fill="#bfdbfe">runtimeClassName</text>
    <path d="M415 308 H505" stroke="#93c5fd" stroke-width="4" marker-end="url(#a)"/>
    <rect x="515" y="225" width="260" height="165" rx="28" fill="#0f172a" stroke="#93c5fd" stroke-width="4"/>
    <text x="645" y="278" text-anchor="middle" font-size="24" font-weight="700" fill="#f9fafb">RuntimeClass</text><text x="645" y="318" text-anchor="middle" font-size="18" fill="#cbd5e1">handler: runsc / kata</text><text x="645" y="350" text-anchor="middle" font-size="18" fill="#cbd5e1">可绑定调度约束</text>
    <path d="M785 308 H875" stroke="#93c5fd" stroke-width="4" marker-end="url(#a)"/>
    <rect x="885" y="255" width="205" height="105" rx="24" fill="#1f2937" stroke="#60a5fa" stroke-width="3"/>
    <text x="988" y="297" text-anchor="middle" font-size="22" font-weight="700" fill="#dbeafe">节点 CRI</text><text x="988" y="330" text-anchor="middle" font-size="17" fill="#bfdbfe">匹配 handler</text>
    <g font-size="17">
      <rect x="240" y="450" width="190" height="72" rx="20" fill="#312e81" stroke="#818cf8" stroke-width="3"/><text x="335" y="480" text-anchor="middle" font-weight="700" fill="#e0e7ff">默认运行时</text><text x="335" y="506" text-anchor="middle" fill="#c7d2fe">可信工作负载</text>
      <rect x="505" y="450" width="190" height="72" rx="20" fill="#064e3b" stroke="#34d399" stroke-width="3"/><text x="600" y="480" text-anchor="middle" font-weight="700" fill="#d1fae5">gVisor</text><text x="600" y="506" text-anchor="middle" fill="#a7f3d0">用户态内核边界</text>
      <rect x="770" y="450" width="190" height="72" rx="20" fill="#7c2d12" stroke="#fb923c" stroke-width="3"/><text x="865" y="480" text-anchor="middle" font-weight="700" fill="#ffedd5">Kata</text><text x="865" y="506" text-anchor="middle" fill="#fed7aa">轻量虚拟机边界</text>
    </g>
  </g>
</svg>
