oakazanin/content/posts/k3s-architecture/k3s-architecture.svg

1 line
13 KiB
XML

<svg id="generated" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="flowchart" style="max-width: 819.015625px;" viewBox="0 0 819.015625 422" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#generated{font-family:Arial;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#generated .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#generated .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#generated .error-icon{fill:#552222;}#generated .error-text{fill:#552222;stroke:#552222;}#generated .edge-thickness-normal{stroke-width:1px;}#generated .edge-thickness-thick{stroke-width:3.5px;}#generated .edge-pattern-solid{stroke-dasharray:0;}#generated .edge-thickness-invisible{stroke-width:0;fill:none;}#generated .edge-pattern-dashed{stroke-dasharray:3;}#generated .edge-pattern-dotted{stroke-dasharray:2;}#generated .marker{fill:#333333;stroke:#333333;}#generated .marker.cross{stroke:#333333;}#generated svg{font-family:Arial;font-size:16px;}#generated p{margin:0;}#generated .label{font-family:Arial;color:#333;}#generated .cluster-label text{fill:#333;}#generated .cluster-label span{color:#333;}#generated .cluster-label span p{background-color:transparent;}#generated .label text,#generated span{fill:#333;color:#333;}#generated .node rect,#generated .node circle,#generated .node ellipse,#generated .node polygon,#generated .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#generated .rough-node .label text,#generated .node .label text,#generated .image-shape .label,#generated .icon-shape .label{text-anchor:middle;}#generated .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#generated .rough-node .label,#generated .node .label,#generated .image-shape .label,#generated .icon-shape .label{text-align:center;}#generated .node.clickable{cursor:pointer;}#generated .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#generated .arrowheadPath{fill:#333333;}#generated .edgePath .path{stroke:#333333;stroke-width:2.0px;}#generated .flowchart-link{stroke:#333333;fill:none;}#generated .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#generated .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#generated .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#generated .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#generated .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#generated .cluster text{fill:#333;}#generated .cluster span{color:#333;}#generated div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:Arial;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#generated .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#generated rect.text{fill:none;stroke-width:0;}#generated .icon-shape,#generated .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#generated .icon-shape p,#generated .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#generated .icon-shape rect,#generated .image-shape rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#generated .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#generated .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#generated :root{--mermaid-font-family:Arial;}</style><g><marker id="generated_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="generated_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="generated_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="generated_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="generated_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><marker id="generated_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><g class="root"><g class="clusters"/><g class="edgePaths"><path d="M427.414,110L427.414,114.167C427.414,118.333,427.414,126.667,427.414,134.333C427.414,142,427.414,149,427.414,152.5L427.414,156" id="L_K3s_Title_Binary_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_K3s_Title_Binary_0" data-points="W3sieCI6NDI3LjQxNDA2MjUsInkiOjExMH0seyJ4Ijo0MjcuNDE0MDYyNSwieSI6MTM1fSx7IngiOjQyNy40MTQwNjI1LCJ5IjoxNjB9XQ==" marker-end="url(#generated_flowchart-v2-pointEnd)"/><path d="M304.789,206.868L271.737,212.224C238.685,217.579,172.581,228.289,139.529,239.145C106.477,250,106.477,261,106.477,266.5L106.477,272" id="L_Binary_G1_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Binary_G1_0" data-points="W3sieCI6MzA0Ljc4OTA2MjUsInkiOjIwNi44NjgzNTQ0MzAzNzk3NX0seyJ4IjoxMDYuNDc2NTYyNSwieSI6MjM5fSx7IngiOjEwNi40NzY1NjI1LCJ5IjoyNzZ9XQ==" marker-end="url(#generated_flowchart-v2-pointEnd)"/><path d="M376.408,214L368.536,218.167C360.665,222.333,344.922,230.667,337.051,242.333C329.18,254,329.18,269,329.18,276.5L329.18,284" id="L_Binary_G2_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Binary_G2_0" data-points="W3sieCI6Mzc2LjQwNzc1MjQwMzg0NjEzLCJ5IjoyMTR9LHsieCI6MzI5LjE3OTY4NzUsInkiOjIzOX0seyJ4IjozMjkuMTc5Njg3NSwieSI6Mjg4fV0=" marker-end="url(#generated_flowchart-v2-pointEnd)"/><path d="M478.42,214L486.292,218.167C494.163,222.333,509.906,230.667,517.777,242.333C525.648,254,525.648,269,525.648,276.5L525.648,284" id="L_Binary_G3_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Binary_G3_0" data-points="W3sieCI6NDc4LjQyMDM3MjU5NjE1Mzg3LCJ5IjoyMTR9LHsieCI6NTI1LjY0ODQzNzUsInkiOjIzOX0seyJ4Ijo1MjUuNjQ4NDM3NSwieSI6Mjg4fV0=" marker-end="url(#generated_flowchart-v2-pointEnd)"/><path d="M550.039,208.112L579.941,213.26C609.844,218.408,669.648,228.704,699.551,237.352C729.453,246,729.453,253,729.453,256.5L729.453,260" id="L_Binary_G4_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Binary_G4_0" data-points="W3sieCI6NTUwLjAzOTA2MjUsInkiOjIwOC4xMTE1MDc3MjA5NTkxfSx7IngiOjcyOS40NTMxMjUsInkiOjIzOX0seyJ4Ijo3MjkuNDUzMTI1LCJ5IjoyNjR9XQ==" marker-end="url(#generated_flowchart-v2-pointEnd)"/></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_K3s_Title_Binary_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Binary_G1_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Binary_G2_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Binary_G3_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Binary_G4_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml" class="labelBkg"><span class="edgeLabel "></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default " id="flowchart-K3s_Title-0" transform="translate(427.4140625, 59)"><rect class="basic label-container" style="" x="-86.578125" y="-51" width="173.15625" height="102"/><g class="label" style="" transform="translate(-56.578125, -36)"><rect/><foreignObject width="113.15625" height="72"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel "><p>K3s<br />Размер: 50MB<br />Один бинарник</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-Binary-2" transform="translate(427.4140625, 187)"><rect class="basic label-container" style="" x="-122.625" y="-27" width="245.25" height="54"/><g class="label" style="" transform="translate(-92.625, -12)"><rect/><foreignObject width="185.25" height="24"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel "><p>Встроенные компоненты</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-G1-4" transform="translate(106.4765625, 339)"><rect class="basic label-container" style="" x="-98.4765625" y="-63" width="196.953125" height="126"/><g class="label" style="" transform="translate(-68.4765625, -48)"><rect/><foreignObject width="136.953125" height="96"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel "><p>Control Plane:<br />API Server<br />Scheduler<br />Controller Manager</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-G2-6" transform="translate(329.1796875, 339)"><rect class="basic label-container" style="" x="-74.2265625" y="-51" width="148.453125" height="102"/><g class="label" style="" transform="translate(-44.2265625, -36)"><rect/><foreignObject width="88.453125" height="72"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel "><p>Data Store:<br />etcd<br />встроенный</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-G3-8" transform="translate(525.6484375, 339)"><rect class="basic label-container" style="" x="-72.2421875" y="-51" width="144.484375" height="102"/><g class="label" style="" transform="translate(-42.2421875, -36)"><rect/><foreignObject width="84.484375" height="72"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel "><p>Сеть:<br />Flannel CNI<br />kube-proxy</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-G4-10" transform="translate(729.453125, 339)"><rect class="basic label-container" style="" x="-81.5625" y="-75" width="163.125" height="150"/><g class="label" style="" transform="translate(-51.5625, -60)"><rect/><foreignObject width="103.125" height="120"><div style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel "><p>Дополнения:<br />CoreDNS<br />Metrics Server<br />Local Storage<br />kubelet</p></span></div></foreignObject></g></g></g></g></g></svg>