Introducing usecase of Cilium CNI
The purpose of this spec is to introduce a usecase example of Cilium CNI [1] for high-performance network connectivity. [1] https://cilium.io/ Implements: blueprint intro-cilium Change-Id: I8713f7ecc39147ad15b4eeeb5905778ee8f4ed80 Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
This commit is contained in:
parent
a8ac40397c
commit
26f23a5df7
@ -7,4 +7,5 @@ Tacker 2024.1 Specifications
|
||||
:maxdepth: 1
|
||||
|
||||
v2-api-horizon/*
|
||||
intro-cilium/*
|
||||
*
|
||||
|
BIN
specs/2024.1/intro-cilium/img/cilium-multinodes.png
Normal file
BIN
specs/2024.1/intro-cilium/img/cilium-multinodes.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 176 KiB |
BIN
specs/2024.1/intro-cilium/img/cilium-usage1.png
Normal file
BIN
specs/2024.1/intro-cilium/img/cilium-usage1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 107 KiB |
132
specs/2024.1/intro-cilium/img/usecase1.svg
Normal file
132
specs/2024.1/intro-cilium/img/usecase1.svg
Normal file
@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="180mm"
|
||||
height="136mm"
|
||||
viewBox="0 0 180 136"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="usecase1.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.5554293"
|
||||
inkscape:cx="256.52082"
|
||||
inkscape:cy="282.55865"
|
||||
inkscape:window-width="3370"
|
||||
inkscape:window-height="1376"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer2" />
|
||||
<defs
|
||||
id="defs2" />
|
||||
<g
|
||||
inkscape:label="background"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<rect
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583;stroke-opacity:1"
|
||||
id="rect31"
|
||||
width="130.94482"
|
||||
height="86.066177"
|
||||
x="23.783136"
|
||||
y="27.358784" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer3"
|
||||
inkscape:label="objects">
|
||||
<rect
|
||||
style="fill:#e2ffd0;fill-opacity:1;stroke:#000000;stroke-width:0.264584;stroke-opacity:1"
|
||||
id="rect24951"
|
||||
width="98.571419"
|
||||
height="57.447002"
|
||||
x="38.297054"
|
||||
y="41.517876" />
|
||||
<rect
|
||||
style="fill:#fcf2c9;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-opacity:1"
|
||||
id="rect37945"
|
||||
width="62.890297"
|
||||
height="21.807745"
|
||||
x="54.480103"
|
||||
y="46.750534" />
|
||||
<rect
|
||||
style="fill:#fcf2c9;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-opacity:1"
|
||||
id="rect37945-9"
|
||||
width="62.890297"
|
||||
height="17.066786"
|
||||
x="55.078789"
|
||||
y="71.201416" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="text">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="29.421789"
|
||||
y="109.45676"
|
||||
id="text4647"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4645"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="29.421789"
|
||||
y="109.45676">host</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="44.278252"
|
||||
y="94.603806"
|
||||
id="text4647-4"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4645-8"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="44.278252"
|
||||
y="94.603806">VM</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="66.987267"
|
||||
y="81.857986"
|
||||
id="text4647-4-6"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan40041"
|
||||
x="66.987267"
|
||||
y="81.857986">OpenStack</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="67.37104"
|
||||
y="54.557861"
|
||||
id="text4647-4-6-9"><tspan
|
||||
sodipodi:role="line"
|
||||
x="67.37104"
|
||||
y="54.557861"
|
||||
id="tspan40116">Kubernetes</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="72.821449"
|
||||
y="62.202511"
|
||||
id="text4647-4-6-9-5"><tspan
|
||||
sodipodi:role="line"
|
||||
x="72.821449"
|
||||
y="62.202511"
|
||||
id="tspan40116-8">(Master)</tspan></text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 5.4 KiB |
278
specs/2024.1/intro-cilium/img/usecase2.svg
Normal file
278
specs/2024.1/intro-cilium/img/usecase2.svg
Normal file
@ -0,0 +1,278 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="400mm"
|
||||
height="136mm"
|
||||
viewBox="0 0 400 136"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="usecase2.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.77771465"
|
||||
inkscape:cx="642.90932"
|
||||
inkscape:cy="-108.65168"
|
||||
inkscape:window-width="3370"
|
||||
inkscape:window-height="1376"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs2" />
|
||||
<g
|
||||
inkscape:label="background"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
style="display:inline">
|
||||
<rect
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264582;stroke-opacity:1"
|
||||
id="rect31"
|
||||
width="361.85977"
|
||||
height="114.32323"
|
||||
x="14.25813"
|
||||
y="11.435926" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer3"
|
||||
inkscape:label="objects"
|
||||
style="display:inline">
|
||||
<rect
|
||||
style="fill:#e2ffd0;fill-opacity:1;stroke:#000000;stroke-width:0.264584;stroke-opacity:1"
|
||||
id="rect24951"
|
||||
width="98.571419"
|
||||
height="63.675594"
|
||||
x="28.772045"
|
||||
y="30.512058" />
|
||||
<rect
|
||||
style="fill:#fcf2c9;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-opacity:1"
|
||||
id="rect37945-9"
|
||||
width="62.890297"
|
||||
height="17.066786"
|
||||
x="45.55378"
|
||||
y="64.85141" />
|
||||
<rect
|
||||
style="display:inline;fill:#e2ffd0;fill-opacity:1;stroke:#000000;stroke-width:0.264584;stroke-opacity:1"
|
||||
id="rect24951-3"
|
||||
width="98.571419"
|
||||
height="63.675594"
|
||||
x="144.12704"
|
||||
y="30.552101" />
|
||||
<rect
|
||||
style="display:inline;fill:#fcf2c9;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-opacity:1"
|
||||
id="rect37945-1"
|
||||
width="62.890297"
|
||||
height="21.807745"
|
||||
x="160.31009"
|
||||
y="42.024155" />
|
||||
<rect
|
||||
style="display:inline;fill:#e2ffd0;fill-opacity:1;stroke:#000000;stroke-width:0.264584;stroke-opacity:1"
|
||||
id="rect24951-3-8"
|
||||
width="98.571419"
|
||||
height="63.675594"
|
||||
x="260.98355"
|
||||
y="30.662582" />
|
||||
<rect
|
||||
style="display:inline;fill:#fcf2c9;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-opacity:1"
|
||||
id="rect37945-1-8"
|
||||
width="62.890297"
|
||||
height="21.807745"
|
||||
x="279.28329"
|
||||
y="37.361324" />
|
||||
<rect
|
||||
style="display:inline;fill:#fcf2c9;fill-opacity:1;stroke:#000000;stroke-width:0.264584;stroke-opacity:1"
|
||||
id="rect37945-9-8-9"
|
||||
width="62.890297"
|
||||
height="23.182524"
|
||||
x="279.88199"
|
||||
y="62.870537" />
|
||||
<path
|
||||
style="display:inline;fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
|
||||
d="M 12.590286,106.2005 H 447.31132"
|
||||
id="path58765" />
|
||||
<path
|
||||
style="display:inline;fill:none;stroke:#000000;stroke-width:0.999997;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 30.4,106.20051 H 357.36198"
|
||||
id="path59262" />
|
||||
<path
|
||||
style="display:inline;fill:none;stroke:#000000;stroke-width:0.999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 78.111874,93.805216 V 106.37818"
|
||||
id="path59506" />
|
||||
<path
|
||||
style="display:inline;fill:none;stroke:#000000;stroke-width:0.999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 313.13376,93.777296 V 106.35026"
|
||||
id="path59506-8" />
|
||||
<path
|
||||
style="display:inline;fill:none;stroke:#000000;stroke-width:0.999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 194.1718,93.751216 V 106.32417"
|
||||
id="path59506-0" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="text"
|
||||
style="display:inline">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="23.074253"
|
||||
y="119.95037"
|
||||
id="text4647"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4645"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="23.074253"
|
||||
y="119.95037">host</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="37.045891"
|
||||
y="22.710709"
|
||||
id="text4647-47"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4645-2"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="37.045891"
|
||||
y="22.710709">OpenStack Controller Node</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="153.57091"
|
||||
y="22.749756"
|
||||
id="text4647-47-9"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4645-2-9"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="153.57091"
|
||||
y="22.749756">Kubernetes Master Node</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="270.13681"
|
||||
y="21.951088"
|
||||
id="text4647-47-6"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4645-2-2"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="270.13681"
|
||||
y="21.951088">OpenStack Worker Node</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="34.753242"
|
||||
y="89.841301"
|
||||
id="text4647-4"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4645-8"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="34.753242"
|
||||
y="89.841301">VM</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="57.462257"
|
||||
y="75.50798"
|
||||
id="text4647-4-6"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan40041"
|
||||
x="57.462257"
|
||||
y="75.50798">OpenStack</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="150.10825"
|
||||
y="89.877419"
|
||||
id="text4647-4-4"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4645-8-3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="150.10825"
|
||||
y="89.877419">VM</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="173.20103"
|
||||
y="49.831482"
|
||||
id="text4647-4-6-9-8"><tspan
|
||||
sodipodi:role="line"
|
||||
x="173.20103"
|
||||
y="49.831482"
|
||||
id="tspan40116-6">Kubernetes</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="178.65144"
|
||||
y="57.476128"
|
||||
id="text4647-4-6-9-5-0"><tspan
|
||||
sodipodi:role="line"
|
||||
x="178.65144"
|
||||
y="57.476128"
|
||||
id="tspan40116-8-4">(Master)</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="266.96475"
|
||||
y="89.977097"
|
||||
id="text4647-4-4-6"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4645-8-3-4"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="266.96475"
|
||||
y="89.977097">VM</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="291.79047"
|
||||
y="73.527107"
|
||||
id="text4647-4-6-3-3"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan40041-3-0"
|
||||
x="291.79047"
|
||||
y="73.527107">OpenStack</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="292.17422"
|
||||
y="45.168644"
|
||||
id="text4647-4-6-9-8-3"><tspan
|
||||
sodipodi:role="line"
|
||||
x="292.17422"
|
||||
y="45.168644"
|
||||
id="tspan40116-6-0">Kubernetes</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="297.62463"
|
||||
y="52.813297"
|
||||
id="text4647-4-6-9-5-0-9"><tspan
|
||||
sodipodi:role="line"
|
||||
x="297.62463"
|
||||
y="52.813297"
|
||||
id="tspan40116-8-4-2">(Worker)</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="297.52002"
|
||||
y="82.734367"
|
||||
id="text4647-4-6-9-5-0-9-1"><tspan
|
||||
sodipodi:role="line"
|
||||
x="297.52002"
|
||||
y="82.734367"
|
||||
id="tspan40116-8-4-2-3">(Worker)</tspan></text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 14 KiB |
303
specs/2024.1/intro-cilium/img/usecase3.svg
Normal file
303
specs/2024.1/intro-cilium/img/usecase3.svg
Normal file
@ -0,0 +1,303 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="380mm"
|
||||
height="180mm"
|
||||
viewBox="0 0 380 180"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="usecase3.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.77771465"
|
||||
inkscape:cx="642.90932"
|
||||
inkscape:cy="302.81029"
|
||||
inkscape:window-width="3370"
|
||||
inkscape:window-height="1376"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer3" />
|
||||
<defs
|
||||
id="defs2" />
|
||||
<g
|
||||
inkscape:label="background"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
style="display:inline">
|
||||
<rect
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264581;stroke-opacity:1"
|
||||
id="rect31"
|
||||
width="338.5437"
|
||||
height="157.17192"
|
||||
x="15.84563"
|
||||
y="11.978896" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer5"
|
||||
inkscape:label="VMs">
|
||||
<rect
|
||||
style="display:inline;fill:#e2ffd0;fill-opacity:1;stroke:#000000;stroke-width:0.264584;stroke-opacity:1"
|
||||
id="rect24951"
|
||||
width="98.571419"
|
||||
height="63.675594"
|
||||
x="37.23872"
|
||||
y="77.607933" />
|
||||
<rect
|
||||
style="display:inline;fill:#e2ffd0;fill-opacity:1;stroke:#000000;stroke-width:0.264584;stroke-opacity:1"
|
||||
id="rect24951-3"
|
||||
width="178.61821"
|
||||
height="104.27638"
|
||||
x="159.47267"
|
||||
y="37.047157" />
|
||||
<rect
|
||||
style="display:inline;fill:#e2ffae;fill-opacity:1;stroke:#000000;stroke-width:0.264584;stroke-opacity:1"
|
||||
id="rect24951-3-1"
|
||||
width="75.22287"
|
||||
height="52.546436"
|
||||
x="168.26794"
|
||||
y="49.0411" />
|
||||
<rect
|
||||
style="display:inline;fill:#e2ffae;fill-opacity:1;stroke:#000000;stroke-width:0.264584;stroke-opacity:1"
|
||||
id="rect24951-3-1-8"
|
||||
width="75.22287"
|
||||
height="52.546436"
|
||||
x="252.65047"
|
||||
y="48.519238" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer3"
|
||||
inkscape:label="objects"
|
||||
style="display:inline">
|
||||
<rect
|
||||
style="fill:#fcf2c9;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-opacity:1"
|
||||
id="rect37945-9"
|
||||
width="62.890297"
|
||||
height="19.189516"
|
||||
x="54.020454"
|
||||
y="109.82457" />
|
||||
<rect
|
||||
style="display:inline;fill:#fcf2ff;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-opacity:1"
|
||||
id="rect37945-9-4"
|
||||
width="57.101475"
|
||||
height="15.067174"
|
||||
x="72.957581"
|
||||
y="82.868294" />
|
||||
<rect
|
||||
style="display:inline;fill:#fcf2c9;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-opacity:1"
|
||||
id="rect37945-1"
|
||||
width="62.890297"
|
||||
height="21.807745"
|
||||
x="175.65572"
|
||||
y="55.253334" />
|
||||
<rect
|
||||
style="display:inline;fill:#fcf2c9;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-opacity:1"
|
||||
id="rect37945-1-8"
|
||||
width="62.890297"
|
||||
height="21.807745"
|
||||
x="258.64548"
|
||||
y="54.823837" />
|
||||
<rect
|
||||
style="display:inline;fill:#fcf2c9;fill-opacity:1;stroke:#000000;stroke-width:0.264584;stroke-opacity:1"
|
||||
id="rect37945-9-8-9"
|
||||
width="62.890297"
|
||||
height="23.182524"
|
||||
x="210.03224"
|
||||
y="109.96636" />
|
||||
<path
|
||||
style="display:inline;fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
|
||||
d="M 12.590286,106.2005 H 447.31132"
|
||||
id="path58765" />
|
||||
<path
|
||||
style="display:inline;fill:none;stroke:#000000;stroke-width:0.999997;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 38.866672,153.29664 H 338.86672"
|
||||
id="path59262" />
|
||||
<path
|
||||
style="display:inline;fill:none;stroke:#000000;stroke-width:0.999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 86.578546,140.90131 v 12.573"
|
||||
id="path59506" />
|
||||
<path
|
||||
style="display:inline;fill:none;stroke:#000000;stroke-width:0.999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 240.20959,140.84731 V 153.4203"
|
||||
id="path59506-0" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="text"
|
||||
style="display:inline">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="31.540928"
|
||||
y="161.75406"
|
||||
id="text4647"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4645"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="31.540928"
|
||||
y="161.75406">host</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="45.512566"
|
||||
y="71.923256"
|
||||
id="text4647-47"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4645-2"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="45.512566"
|
||||
y="71.923256">OpenStack Controller Node</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="210.43147"
|
||||
y="30.488579"
|
||||
id="text4647-47-6"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4645-2-2"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="210.43147"
|
||||
y="30.488579">OpenStack Worker Node</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="43.219917"
|
||||
y="136.93703"
|
||||
id="text4647-4"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4645-8"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="43.219917"
|
||||
y="136.93703">VM</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="68.574768"
|
||||
y="121.54546"
|
||||
id="text4647-4-6"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan40041"
|
||||
x="68.574768"
|
||||
y="121.54546">OpenStack</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="81.031784"
|
||||
y="92.548401"
|
||||
id="text4647-4-6-3"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan40041-3"
|
||||
x="81.031784"
|
||||
y="92.548401">VNF Package</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="165.45387"
|
||||
y="136.97316"
|
||||
id="text4647-4-4"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4645-8-3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="165.45387"
|
||||
y="136.97316">VM</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="188.54666"
|
||||
y="63.060661"
|
||||
id="text4647-4-6-9-8"><tspan
|
||||
sodipodi:role="line"
|
||||
x="188.54666"
|
||||
y="63.060661"
|
||||
id="tspan40116-6">Kubernetes</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="193.99707"
|
||||
y="70.705315"
|
||||
id="text4647-4-6-9-5-0"><tspan
|
||||
sodipodi:role="line"
|
||||
x="193.99707"
|
||||
y="70.705315"
|
||||
id="tspan40116-8-4">(Master)</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="178.06564"
|
||||
y="96.327133"
|
||||
id="text4647-4-4-6"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4645-8-3-4"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="178.06564"
|
||||
y="96.327133">VM</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="261.19217"
|
||||
y="96.725029"
|
||||
id="text4647-4-4-6-9"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4645-8-3-4-6"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
|
||||
x="261.19217"
|
||||
y="96.725029">VM</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="221.94038"
|
||||
y="120.62296"
|
||||
id="text4647-4-6-3-3"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan40041-3-0"
|
||||
x="221.94038"
|
||||
y="120.62296">OpenStack</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="271.53641"
|
||||
y="62.631157"
|
||||
id="text4647-4-6-9-8-3"><tspan
|
||||
sodipodi:role="line"
|
||||
x="271.53641"
|
||||
y="62.631157"
|
||||
id="tspan40116-6-0">Kubernetes</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="276.98682"
|
||||
y="70.27581"
|
||||
id="text4647-4-6-9-5-0-9"><tspan
|
||||
sodipodi:role="line"
|
||||
x="276.98682"
|
||||
y="70.27581"
|
||||
id="tspan40116-8-4-2">(Worker)</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="227.66977"
|
||||
y="129.83018"
|
||||
id="text4647-4-6-9-5-0-9-1"><tspan
|
||||
sodipodi:role="line"
|
||||
x="227.66977"
|
||||
y="129.83018"
|
||||
id="tspan40116-8-4-2-3">(Worker)</tspan></text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 15 KiB |
212
specs/2024.1/intro-cilium/index.rst
Normal file
212
specs/2024.1/intro-cilium/index.rst
Normal file
@ -0,0 +1,212 @@
|
||||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
================================================================
|
||||
Cilium CNI for high-performance network connectivity for VNF/CNF
|
||||
================================================================
|
||||
|
||||
Introducing Cilium CNI for high-performance network connectivity for VNF/CNF.
|
||||
|
||||
https://blueprints.launchpad.net/tacker/+spec/intro-cilium
|
||||
|
||||
Problem description
|
||||
===================
|
||||
|
||||
One of the pain point of tacker is that it hasn't been implemented any
|
||||
network optimization mechanism by default while we've targeted vRAN usecases
|
||||
in which high performance network connectivity is required.
|
||||
It's available for VMs or containers to attach any dedicated hardware
|
||||
acceleration device such as virtio or SR-IOV via neutron or OVN.
|
||||
|
||||
However, such a network acceleration technology is not so suitable for a
|
||||
case in which so many entities are run on distributed nodes for covering
|
||||
wide area of data plane. Especially for container usecase, it's more difficult
|
||||
because implementation of virtual device is not so mature or routing is
|
||||
not designed well as known as a complexity in service mesh.
|
||||
|
||||
Cilium is for providing, securing, and observing network connectivity between
|
||||
workloads, fueled by the revolutionary Kernel technology eBPF [#cilium]_.
|
||||
Although the performance of network throughput is less than other
|
||||
technologies, it's still not so bad comparing with.
|
||||
|
||||
.. image:: img/cilium-usage1.png
|
||||
:width: 580
|
||||
|
||||
Use Cases
|
||||
---------
|
||||
|
||||
Cilium supports several kind of usecases of networking including
|
||||
high-performance CNI, L4 load-balancer or BGP based on eBPF technology.
|
||||
One of the effective usage is to avoid a complexity of traditional service mesh
|
||||
as described in the previous section.
|
||||
|
||||
Cilium Service Mesh is for replacing traditional service mesh frameworks
|
||||
by the mesh layer directly into the kernel using eBPF without sidecar proxies.
|
||||
It manages connectivity at both the networking and application protocol layers,
|
||||
handling protocols like IP, TCP, UDP, HTTP, Kafka, gRPC, and DNS with greater
|
||||
efficiency.
|
||||
|
||||
With Cilium's Cluster Mesh for multi-cluster networking, you can connect the
|
||||
networks of multiple clusters in such as way that pods in each cluster can
|
||||
discover and access services in all other clusters of the mesh,
|
||||
provided all the clusters run Cilium as their CNI [#cilium_mesh]_.
|
||||
This allows effectively joining multiple clusters into a large unified network,
|
||||
regardless of the Kubernetes distribution or location each of them is running.
|
||||
|
||||
.. image:: img/cilium-multinodes.png
|
||||
|
||||
Although there are a lot of useful example usecases for Tacker's service
|
||||
scope, we focus on the most basic usecases to be implemented as
|
||||
samples in this spec.
|
||||
In the all usecases, Tacker is able to deploy VNFs/CNFs on nodes in which
|
||||
Cilium CNI is activated.
|
||||
|
||||
Single Kubernetes node on All-in-one devstack environment
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The first usecase is to deploy a single Kubernetes node on all-in-one devstack
|
||||
environment. It's one of the simplest usecase and supposed to mainly be used
|
||||
for development for test Cilium networking.
|
||||
|
||||
.. image:: img/usecase1.svg
|
||||
:width: 400
|
||||
|
||||
Multi-nodes Kubernetes cluster on multi-node OpenStack
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The second usecase is to deploy a multi-node Kubernetes node on multiple
|
||||
OpenStack nodes for running some more complex or realistic scenarios of
|
||||
Cilium networking.
|
||||
|
||||
In this usecase, Kubernetes master node is separated from OpenStack controller
|
||||
node because of duplicated default port of cilium and an OpenStack service.
|
||||
|
||||
.. image:: img/usecase2.svg
|
||||
:width: 1000
|
||||
|
||||
Multi-nodes Kubernetes nodes from a VNF package
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The final usecase in this spec is to deploy a multi-node Kubernetes node
|
||||
deployed with Tacker's VNF package for auto-healing or auto-scaling
|
||||
OpenStack nodes for running some more complex or realistic scenarios of
|
||||
Cilium networking.
|
||||
All Kubernetes services are on the OpenStack worker node.
|
||||
|
||||
.. image:: img/usecase3.svg
|
||||
:width: 880
|
||||
|
||||
Proposed change
|
||||
===============
|
||||
|
||||
The purpose of this spec is to introduce simple usecases using Cilium
|
||||
networking with eBPF or XDP.
|
||||
We need to update devstack scripts for installing Cilium not only in
|
||||
Tacker's repo but also
|
||||
devstack-plugin-container's repo [#devstack-plugin-container]_.
|
||||
|
||||
In this updated devstack script, ``CONTAINER_ENGINE`` should be set to
|
||||
CRI-O because Docker is not supported as the default runtime in Kubelet
|
||||
anymore and causes a trouble sometimes.
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Data model impact
|
||||
-----------------
|
||||
|
||||
None
|
||||
|
||||
REST API impact
|
||||
---------------
|
||||
|
||||
None
|
||||
|
||||
Security impact
|
||||
---------------
|
||||
|
||||
None
|
||||
|
||||
Notifications impact
|
||||
--------------------
|
||||
|
||||
None
|
||||
|
||||
Other end user impact
|
||||
---------------------
|
||||
|
||||
None
|
||||
|
||||
Performance Impact
|
||||
------------------
|
||||
|
||||
None
|
||||
|
||||
Other deployer impact
|
||||
---------------------
|
||||
|
||||
None
|
||||
|
||||
Developer impact
|
||||
----------------
|
||||
|
||||
None
|
||||
|
||||
Upgrade impact
|
||||
--------------
|
||||
|
||||
None
|
||||
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
|
||||
Primary assignee:
|
||||
|
||||
* Yasufumi Ogawa <yasufum.o@gmail.com> <yasufumi.ogawa@ntt.com>
|
||||
|
||||
Work Items
|
||||
----------
|
||||
|
||||
* Replace container runtime from docker to CRI-O.
|
||||
* Support devstack script for installing cilium CNI instead of flannel.
|
||||
* Fix compatible combination of versions of Kubernetes, container runtime and
|
||||
golang.
|
||||
* Disable kuryr-kubernetes.
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
None
|
||||
|
||||
|
||||
Testing
|
||||
=======
|
||||
|
||||
None
|
||||
|
||||
|
||||
Documentation Impact
|
||||
====================
|
||||
|
||||
* Update a devstack setup guides for setting up cilium.
|
||||
* Add an overview of usecases as an introduction.
|
||||
* Add each instruction of deployment for the usecases as a detailed
|
||||
instruction.
|
||||
* Add a cilium usage guides for operators considering cases such as trouble
|
||||
shooting of cilium or using eBPF functionalities directly.
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
.. [#cilium] https://cilium.io/
|
||||
.. [#cilium_mesh] https://cilium.io/use-cases/cluster-mesh/
|
||||
.. [#devstack-plugin-container] https://opendev.org/openstack/devstack-plugin-container
|
Loading…
Reference in New Issue
Block a user