You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
884 lines
134 KiB
884 lines
134 KiB
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta name="generator" content="Asciidoctor 2.0.10">
|
|
<meta name="description" content="Dockerfile instructions">
|
|
<meta name="keywords" content="Dockerfile">
|
|
<meta name="author" content="Apostolos rootApostolos@swarmlab.io">
|
|
<title>Cloud computing - Service mesh and microservices networking!</title>
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
|
|
<style>
|
|
/* Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */
|
|
/* Uncomment @import statement to use as custom stylesheet */
|
|
/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
|
|
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}
|
|
audio,video{display:inline-block}
|
|
audio:not([controls]){display:none;height:0}
|
|
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
|
|
a{background:none}
|
|
a:focus{outline:thin dotted}
|
|
a:active,a:hover{outline:0}
|
|
h1{font-size:2em;margin:.67em 0}
|
|
abbr[title]{border-bottom:1px dotted}
|
|
b,strong{font-weight:bold}
|
|
dfn{font-style:italic}
|
|
hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
|
|
mark{background:#ff0;color:#000}
|
|
code,kbd,pre,samp{font-family:monospace;font-size:1em}
|
|
pre{white-space:pre-wrap}
|
|
q{quotes:"\201C" "\201D" "\2018" "\2019"}
|
|
small{font-size:80%}
|
|
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
|
|
sup{top:-.5em}
|
|
sub{bottom:-.25em}
|
|
img{border:0}
|
|
svg:not(:root){overflow:hidden}
|
|
figure{margin:0}
|
|
fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
|
|
legend{border:0;padding:0}
|
|
button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
|
|
button,input{line-height:normal}
|
|
button,select{text-transform:none}
|
|
button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
|
|
button[disabled],html input[disabled]{cursor:default}
|
|
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
|
|
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
|
|
textarea{overflow:auto;vertical-align:top}
|
|
table{border-collapse:collapse;border-spacing:0}
|
|
*,*::before,*::after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
|
|
html,body{font-size:100%}
|
|
body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}
|
|
a:hover{cursor:pointer}
|
|
img,object,embed{max-width:100%;height:auto}
|
|
object,embed{height:100%}
|
|
img{-ms-interpolation-mode:bicubic}
|
|
.left{float:left!important}
|
|
.right{float:right!important}
|
|
.text-left{text-align:left!important}
|
|
.text-right{text-align:right!important}
|
|
.text-center{text-align:center!important}
|
|
.text-justify{text-align:justify!important}
|
|
.hide{display:none}
|
|
img,object,svg{display:inline-block;vertical-align:middle}
|
|
textarea{height:auto;min-height:50px}
|
|
select{width:100%}
|
|
.center{margin-left:auto;margin-right:auto}
|
|
.stretch{width:100%}
|
|
.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
|
|
div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
|
|
a{color:#2156a5;text-decoration:underline;line-height:inherit}
|
|
a:hover,a:focus{color:#1d4b8f}
|
|
a img{border:0}
|
|
p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
|
|
p aside{font-size:.875em;line-height:1.35;font-style:italic}
|
|
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
|
|
h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
|
|
h1{font-size:2.125em}
|
|
h2{font-size:1.6875em}
|
|
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
|
|
h4,h5{font-size:1.125em}
|
|
h6{font-size:1em}
|
|
hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
|
|
em,i{font-style:italic;line-height:inherit}
|
|
strong,b{font-weight:bold;line-height:inherit}
|
|
small{font-size:60%;line-height:inherit}
|
|
code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
|
|
ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
|
|
ul,ol{margin-left:1.5em}
|
|
ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
|
|
ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
|
|
ul.square{list-style-type:square}
|
|
ul.circle{list-style-type:circle}
|
|
ul.disc{list-style-type:disc}
|
|
ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
|
|
dl dt{margin-bottom:.3125em;font-weight:bold}
|
|
dl dd{margin-bottom:1.25em}
|
|
abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
|
|
abbr{text-transform:none}
|
|
blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
|
|
blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
|
|
blockquote cite::before{content:"\2014 \0020"}
|
|
blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
|
|
blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
|
|
@media screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
|
|
h1{font-size:2.75em}
|
|
h2{font-size:2.3125em}
|
|
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
|
|
h4{font-size:1.4375em}}
|
|
table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
|
|
table thead,table tfoot{background:#f7f8f7}
|
|
table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
|
|
table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
|
|
table tr.even,table tr.alt{background:#f8f8f7}
|
|
table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
|
|
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
|
|
h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
|
|
.clearfix::before,.clearfix::after,.float-group::before,.float-group::after{content:" ";display:table}
|
|
.clearfix::after,.float-group::after{clear:both}
|
|
:not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}
|
|
:not(pre)>code.nobreak{word-wrap:normal}
|
|
:not(pre)>code.nowrap{white-space:nowrap}
|
|
pre{color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;line-height:1.45;text-rendering:optimizeSpeed}
|
|
pre code,pre pre{color:inherit;font-size:inherit;line-height:inherit}
|
|
pre>code{display:block}
|
|
pre.nowrap,pre.nowrap pre{white-space:pre;word-wrap:normal}
|
|
em em{font-style:normal}
|
|
strong strong{font-weight:400}
|
|
.keyseq{color:rgba(51,51,51,.8)}
|
|
kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
|
|
.keyseq kbd:first-child{margin-left:0}
|
|
.keyseq kbd:last-child{margin-right:0}
|
|
.menuseq,.menuref{color:#000}
|
|
.menuseq b:not(.caret),.menuref{font-weight:inherit}
|
|
.menuseq{word-spacing:-.02em}
|
|
.menuseq b.caret{font-size:1.25em;line-height:.8}
|
|
.menuseq i.caret{font-weight:bold;text-align:center;width:.45em}
|
|
b.button::before,b.button::after{position:relative;top:-1px;font-weight:400}
|
|
b.button::before{content:"[";padding:0 3px 0 2px}
|
|
b.button::after{content:"]";padding:0 2px 0 3px}
|
|
p a>code:hover{color:rgba(0,0,0,.9)}
|
|
#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
|
|
#header::before,#header::after,#content::before,#content::after,#footnotes::before,#footnotes::after,#footer::before,#footer::after{content:" ";display:table}
|
|
#header::after,#content::after,#footnotes::after,#footer::after{clear:both}
|
|
#content{margin-top:1.25em}
|
|
#content::before{content:none}
|
|
#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
|
|
#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}
|
|
#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}
|
|
#header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
|
|
#header .details span:first-child{margin-left:-.125em}
|
|
#header .details span.email a{color:rgba(0,0,0,.85)}
|
|
#header .details br{display:none}
|
|
#header .details br+span::before{content:"\00a0\2013\00a0"}
|
|
#header .details br+span.author::before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
|
|
#header .details br+span#revremark::before{content:"\00a0|\00a0"}
|
|
#header #revnumber{text-transform:capitalize}
|
|
#header #revnumber::after{content:"\00a0"}
|
|
#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
|
|
#toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}
|
|
#toc>ul{margin-left:.125em}
|
|
#toc ul.sectlevel0>li>a{font-style:italic}
|
|
#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
|
|
#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
|
|
#toc li{line-height:1.3334;margin-top:.3334em}
|
|
#toc a{text-decoration:none}
|
|
#toc a:active{text-decoration:underline}
|
|
#toctitle{color:#7a2518;font-size:1.2em}
|
|
@media screen and (min-width:768px){#toctitle{font-size:1.375em}
|
|
body.toc2{padding-left:15em;padding-right:0}
|
|
#toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
|
|
#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
|
|
#toc.toc2>ul{font-size:.9em;margin-bottom:0}
|
|
#toc.toc2 ul ul{margin-left:0;padding-left:1em}
|
|
#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
|
|
body.toc2.toc-right{padding-left:0;padding-right:15em}
|
|
body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}
|
|
@media screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
|
|
#toc.toc2{width:20em}
|
|
#toc.toc2 #toctitle{font-size:1.375em}
|
|
#toc.toc2>ul{font-size:.95em}
|
|
#toc.toc2 ul ul{padding-left:1.25em}
|
|
body.toc2.toc-right{padding-left:0;padding-right:20em}}
|
|
#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
|
|
#content #toc>:first-child{margin-top:0}
|
|
#content #toc>:last-child{margin-bottom:0}
|
|
#footer{max-width:100%;background:rgba(0,0,0,.8);padding:1.25em}
|
|
#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
|
|
#content{margin-bottom:.625em}
|
|
.sect1{padding-bottom:.625em}
|
|
@media screen and (min-width:768px){#content{margin-bottom:1.25em}
|
|
.sect1{padding-bottom:1.25em}}
|
|
.sect1:last-child{padding-bottom:0}
|
|
.sect1+.sect1{border-top:1px solid #e7e7e9}
|
|
#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
|
|
#content h1>a.anchor::before,h2>a.anchor::before,h3>a.anchor::before,#toctitle>a.anchor::before,.sidebarblock>.content>.title>a.anchor::before,h4>a.anchor::before,h5>a.anchor::before,h6>a.anchor::before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
|
|
#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
|
|
#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
|
|
#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
|
|
details,.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
|
|
details>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}
|
|
.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
|
|
table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}
|
|
.paragraph.lead>p,#preamble>.sectionbody>[class="paragraph"]:first-of-type p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}
|
|
table.tableblock #preamble>.sectionbody>[class="paragraph"]:first-of-type p{font-size:inherit}
|
|
.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
|
|
.admonitionblock>table td.icon{text-align:center;width:80px}
|
|
.admonitionblock>table td.icon img{max-width:none}
|
|
.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
|
|
.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6)}
|
|
.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
|
|
.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
|
|
.exampleblock>.content>:first-child{margin-top:0}
|
|
.exampleblock>.content>:last-child{margin-bottom:0}
|
|
.sidebarblock{border-style:solid;border-width:1px;border-color:#dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;-webkit-border-radius:4px;border-radius:4px}
|
|
.sidebarblock>:first-child{margin-top:0}
|
|
.sidebarblock>:last-child{margin-bottom:0}
|
|
.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
|
|
.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
|
|
.literalblock pre,.listingblock>.content>pre{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;overflow-x:auto;padding:1em;font-size:.8125em}
|
|
@media screen and (min-width:768px){.literalblock pre,.listingblock>.content>pre{font-size:.90625em}}
|
|
@media screen and (min-width:1280px){.literalblock pre,.listingblock>.content>pre{font-size:1em}}
|
|
.literalblock pre,.listingblock>.content>pre:not(.highlight),.listingblock>.content>pre[class="highlight"],.listingblock>.content>pre[class^="highlight "]{background:#f7f7f8}
|
|
.literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}
|
|
.listingblock>.content{position:relative}
|
|
.listingblock code[data-lang]::before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}
|
|
.listingblock:hover code[data-lang]::before{display:block}
|
|
.listingblock.terminal pre .command::before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}
|
|
.listingblock.terminal pre .command:not([data-prompt])::before{content:"$"}
|
|
.listingblock pre.highlightjs{padding:0}
|
|
.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
|
|
.listingblock pre.prettyprint{border-width:0}
|
|
.prettyprint{background:#f7f7f8}
|
|
pre.prettyprint .linenums{line-height:1.45;margin-left:2em}
|
|
pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}
|
|
pre.prettyprint li code[data-lang]::before{opacity:1}
|
|
pre.prettyprint li:not(:first-child) code[data-lang]::before{display:none}
|
|
table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}
|
|
table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}
|
|
table.linenotable td.code{padding-left:.75em}
|
|
table.linenotable td.linenos{border-right:1px solid currentColor;opacity:.35;padding-right:.5em}
|
|
pre.pygments .lineno{border-right:1px solid currentColor;opacity:.35;display:inline-block;margin-right:.75em}
|
|
pre.pygments .lineno::before{content:"";margin-right:-.125em}
|
|
.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
|
|
.quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}
|
|
.quoteblock blockquote,.quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
|
|
.quoteblock blockquote{margin:0;padding:0;border:0}
|
|
.quoteblock blockquote::before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
|
|
.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
|
|
.quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}
|
|
.verseblock{margin:0 1em 1.25em}
|
|
.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
|
|
.verseblock pre strong{font-weight:400}
|
|
.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
|
|
.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
|
|
.quoteblock .attribution br,.verseblock .attribution br{display:none}
|
|
.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
|
|
.quoteblock.abstract blockquote::before,.quoteblock.excerpt blockquote::before,.quoteblock .quoteblock blockquote::before{display:none}
|
|
.quoteblock.abstract blockquote,.quoteblock.abstract p,.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{line-height:1.6;word-spacing:0}
|
|
.quoteblock.abstract{margin:0 1em 1.25em;display:block}
|
|
.quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}
|
|
.quoteblock.excerpt>blockquote,.quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}
|
|
.quoteblock.excerpt,.quoteblock .quoteblock{margin-left:0}
|
|
.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}
|
|
.quoteblock.excerpt .attribution,.quoteblock .quoteblock .attribution{color:inherit;text-align:left;margin-right:0}
|
|
table.tableblock{max-width:100%;border-collapse:separate}
|
|
p.tableblock:last-child{margin-bottom:0}
|
|
td.tableblock>.content>:last-child{margin-bottom:-1.25em}
|
|
td.tableblock>.content>:last-child.sidebarblock{margin-bottom:0}
|
|
table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
|
|
table.grid-all>thead>tr>.tableblock,table.grid-all>tbody>tr>.tableblock{border-width:0 1px 1px 0}
|
|
table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}
|
|
table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}
|
|
table.grid-rows>thead>tr>.tableblock,table.grid-rows>tbody>tr>.tableblock{border-width:0 0 1px}
|
|
table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}
|
|
table.grid-all>*>tr>.tableblock:last-child,table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}
|
|
table.grid-all>tbody>tr:last-child>.tableblock,table.grid-all>thead:last-child>tr>.tableblock,table.grid-rows>tbody>tr:last-child>.tableblock,table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}
|
|
table.frame-all{border-width:1px}
|
|
table.frame-sides{border-width:0 1px}
|
|
table.frame-topbot,table.frame-ends{border-width:1px 0}
|
|
table.stripes-all tr,table.stripes-odd tr:nth-of-type(odd),table.stripes-even tr:nth-of-type(even),table.stripes-hover tr:hover{background:#f8f8f7}
|
|
th.halign-left,td.halign-left{text-align:left}
|
|
th.halign-right,td.halign-right{text-align:right}
|
|
th.halign-center,td.halign-center{text-align:center}
|
|
th.valign-top,td.valign-top{vertical-align:top}
|
|
th.valign-bottom,td.valign-bottom{vertical-align:bottom}
|
|
th.valign-middle,td.valign-middle{vertical-align:middle}
|
|
table thead th,table tfoot th{font-weight:bold}
|
|
tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
|
|
tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
|
|
p.tableblock>code:only-child{background:none;padding:0}
|
|
p.tableblock{font-size:1em}
|
|
ol{margin-left:1.75em}
|
|
ul li ol{margin-left:1.5em}
|
|
dl dd{margin-left:1.125em}
|
|
dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
|
|
ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
|
|
ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none}
|
|
ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em}
|
|
ul.unstyled,ol.unstyled{margin-left:0}
|
|
ul.checklist{margin-left:.625em}
|
|
ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}
|
|
ul.checklist li>p:first-child>input[type="checkbox"]:first-child{margin-right:.25em}
|
|
ul.inline{display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}
|
|
ul.inline>li{margin-left:1.25em}
|
|
.unstyled dl dt{font-weight:400;font-style:normal}
|
|
ol.arabic{list-style-type:decimal}
|
|
ol.decimal{list-style-type:decimal-leading-zero}
|
|
ol.loweralpha{list-style-type:lower-alpha}
|
|
ol.upperalpha{list-style-type:upper-alpha}
|
|
ol.lowerroman{list-style-type:lower-roman}
|
|
ol.upperroman{list-style-type:upper-roman}
|
|
ol.lowergreek{list-style-type:lower-greek}
|
|
.hdlist>table,.colist>table{border:0;background:none}
|
|
.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
|
|
td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
|
|
td.hdlist1{font-weight:bold;padding-bottom:1.25em}
|
|
.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
|
|
.colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}
|
|
.colist td:not([class]):first-child img{max-width:none}
|
|
.colist td:not([class]):last-child{padding:.25em 0}
|
|
.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
|
|
.imageblock.left{margin:.25em .625em 1.25em 0}
|
|
.imageblock.right{margin:.25em 0 1.25em .625em}
|
|
.imageblock>.title{margin-bottom:0}
|
|
.imageblock.thumb,.imageblock.th{border-width:6px}
|
|
.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
|
|
.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
|
|
.image.left{margin-right:.625em}
|
|
.image.right{margin-left:.625em}
|
|
a.image{text-decoration:none;display:inline-block}
|
|
a.image object{pointer-events:none}
|
|
sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
|
|
sup.footnote a,sup.footnoteref a{text-decoration:none}
|
|
sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
|
|
#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
|
|
#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}
|
|
#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}
|
|
#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none;margin-left:-1.05em}
|
|
#footnotes .footnote:last-of-type{margin-bottom:0}
|
|
#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
|
|
.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
|
|
.gist .file-data>table td.line-data{width:99%}
|
|
div.unbreakable{page-break-inside:avoid}
|
|
.big{font-size:larger}
|
|
.small{font-size:smaller}
|
|
.underline{text-decoration:underline}
|
|
.overline{text-decoration:overline}
|
|
.line-through{text-decoration:line-through}
|
|
.aqua{color:#00bfbf}
|
|
.aqua-background{background:#00fafa}
|
|
.black{color:#000}
|
|
.black-background{background:#000}
|
|
.blue{color:#0000bf}
|
|
.blue-background{background:#0000fa}
|
|
.fuchsia{color:#bf00bf}
|
|
.fuchsia-background{background:#fa00fa}
|
|
.gray{color:#606060}
|
|
.gray-background{background:#7d7d7d}
|
|
.green{color:#006000}
|
|
.green-background{background:#007d00}
|
|
.lime{color:#00bf00}
|
|
.lime-background{background:#00fa00}
|
|
.maroon{color:#600000}
|
|
.maroon-background{background:#7d0000}
|
|
.navy{color:#000060}
|
|
.navy-background{background:#00007d}
|
|
.olive{color:#606000}
|
|
.olive-background{background:#7d7d00}
|
|
.purple{color:#600060}
|
|
.purple-background{background:#7d007d}
|
|
.red{color:#bf0000}
|
|
.red-background{background:#fa0000}
|
|
.silver{color:#909090}
|
|
.silver-background{background:#bcbcbc}
|
|
.teal{color:#006060}
|
|
.teal-background{background:#007d7d}
|
|
.white{color:#bfbfbf}
|
|
.white-background{background:#fafafa}
|
|
.yellow{color:#bfbf00}
|
|
.yellow-background{background:#fafa00}
|
|
span.icon>.fa{cursor:default}
|
|
a span.icon>.fa{cursor:inherit}
|
|
.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
|
|
.admonitionblock td.icon .icon-note::before{content:"\f05a";color:#19407c}
|
|
.admonitionblock td.icon .icon-tip::before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
|
|
.admonitionblock td.icon .icon-warning::before{content:"\f071";color:#bf6900}
|
|
.admonitionblock td.icon .icon-caution::before{content:"\f06d";color:#bf3400}
|
|
.admonitionblock td.icon .icon-important::before{content:"\f06a";color:#bf0000}
|
|
.conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
|
|
.conum[data-value] *{color:#fff!important}
|
|
.conum[data-value]+b{display:none}
|
|
.conum[data-value]::after{content:attr(data-value)}
|
|
pre .conum[data-value]{position:relative;top:-.125em}
|
|
b.conum *{color:inherit!important}
|
|
.conum:not([data-value]):empty{display:none}
|
|
dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
|
|
h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
|
|
p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
|
|
p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
|
|
p{margin-bottom:1.25rem}
|
|
.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
|
|
.exampleblock>.content{background:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
|
|
.print-only{display:none!important}
|
|
@page{margin:1.25cm .75cm}
|
|
@media print{*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
|
|
html{font-size:80%}
|
|
a{color:inherit!important;text-decoration:underline!important}
|
|
a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
|
|
a[href^="http:"]:not(.bare)::after,a[href^="https:"]:not(.bare)::after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
|
|
abbr[title]::after{content:" (" attr(title) ")"}
|
|
pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
|
|
thead{display:table-header-group}
|
|
svg{max-width:100%}
|
|
p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
|
|
h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
|
|
#toc,.sidebarblock,.exampleblock>.content{background:none!important}
|
|
#toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}
|
|
body.book #header{text-align:center}
|
|
body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}
|
|
body.book #header .details{border:0!important;display:block;padding:0!important}
|
|
body.book #header .details span:first-child{margin-left:0!important}
|
|
body.book #header .details br{display:block}
|
|
body.book #header .details br+span::before{content:none!important}
|
|
body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
|
|
body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
|
|
.listingblock code[data-lang]::before{display:block}
|
|
#footer{padding:0 .9375em}
|
|
.hide-on-print{display:none!important}
|
|
.print-only{display:block!important}
|
|
.hide-for-print{display:none!important}
|
|
.show-for-print{display:inherit!important}}
|
|
@media print,amzn-kf8{#header>h1:first-child{margin-top:1.25rem}
|
|
.sect1{padding:0!important}
|
|
.sect1+.sect1{border:0}
|
|
#footer{background:none}
|
|
#footer-text{color:rgba(0,0,0,.6);font-size:.9em}}
|
|
@media amzn-kf8{#header,#content,#footnotes,#footer{padding:0}}
|
|
</style>
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
|
</head>
|
|
<body class="article toc2 toc-right">
|
|
<div id="header">
|
|
<h1>Cloud computing - Service mesh and microservices networking!</h1>
|
|
<div class="details">
|
|
<span id="author" class="author">Apostolos rootApostolos@swarmlab.io</span><br>
|
|
</div>
|
|
<div id="toc" class="toc2">
|
|
<div id="toctitle">Table of contents</div>
|
|
<ul class="sectlevel1">
|
|
<li><a href="#_general_info">1. General info:</a>
|
|
<ul class="sectlevel2">
|
|
<li><a href="#_timeframe">1.1. Timeframe:</a></li>
|
|
<li><a href="#_what_will_i_learn">1.2. What will i learn?</a></li>
|
|
<li><a href="#_what_tools_will_i_need">1.3. What tools will I need</a>
|
|
<ul class="sectlevel3">
|
|
<li><a href="#_swarmlab_io_hybrid">1.3.1. Swarmlab.io hybrid</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#_what_students_can_take_this_course">1.4. What students can take this course</a></li>
|
|
<li><a href="#_how_is_the_course_going_to_take_place">1.5. How is the course going to take place</a></li>
|
|
<li><a href="#_will_there_be_some_kind_of_examcertificate_what_will_i_gain">1.6. Will there be some kind of exam/certificate? What will i gain?</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#_course_description">2. Course Description</a>
|
|
<ul class="sectlevel2">
|
|
<li><a href="#_cloud_microservice">2.1. Cloud & microservice</a>
|
|
<ul class="sectlevel3">
|
|
<li><a href="#_docker_app">2.1.1. docker app</a></li>
|
|
<li><a href="#_docker_swarm">2.1.2. docker swarm</a></li>
|
|
<li><a href="#_orchestration">2.1.3. Orchestration</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#_administer_and_maintain_a_swarm_of_docker_engines">2.2. Administer and maintain a swarm of Docker Engines</a>
|
|
<ul class="sectlevel3">
|
|
<li><a href="#_manager_nodes">2.2.1. manager nodes</a></li>
|
|
<li><a href="#_monitor_swarm_health">2.2.2. Monitor swarm health</a></li>
|
|
<li><a href="#_scheduling_services_on_a_docker_swarm_mode_cluster">2.2.3. Scheduling Services on a Docker Swarm Mode Cluster</a></li>
|
|
<li><a href="#_ansible">2.2.4. ansible</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#_create_service_on_nodes">2.3. Create service on nodes</a></li>
|
|
<li><a href="#_monitoring_service_applications_communication">2.4. Monitoring - service applications communication</a>
|
|
<ul class="sectlevel3">
|
|
<li><a href="#_real_time_datalog_collection">2.4.1. Real-Time data/Log Collection</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#_create_nosql_db_mongo_cluster">2.5. create noSQL DB (mongo cluster)</a>
|
|
<ul class="sectlevel3">
|
|
<li><a href="#_create_replicas">2.5.1. create replicas</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#_central_web_admin_interface">2.6. central web admin interface</a>
|
|
<ul class="sectlevel3">
|
|
<li><a href="#_vuejs">2.6.1. vuejs</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div id="content">
|
|
<div id="preamble">
|
|
<div class="sectionbody">
|
|
<div class="sidebarblock">
|
|
<div class="content">
|
|
<div class="title">Service mesh and microservices networking</div>
|
|
<div class="paragraph">
|
|
<p>We will be trying to create a swarm implementation that will allow communication between all of the members/nodes.</p>
|
|
</div>
|
|
<div class="admonitionblock note">
|
|
<table>
|
|
<tr>
|
|
<td class="icon">
|
|
<i class="fa icon-note" title="Note"></i>
|
|
</td>
|
|
<td class="content">
|
|
<div class="paragraph">
|
|
<div class="title">Imaging a swarm</div>
|
|
<p><span class="image"><img src="data:image/png;base64,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" alt="Swarm"></span></p>
|
|
</div>
|
|
<div class="paragraph">
|
|
<p>To undertand this better lets look at the picture bellow and imagine that red dots are iot devices that can send and receive and black ones are clients that gather data.</p>
|
|
</div>
|
|
<div class="paragraph">
|
|
<div class="title">Architecture of swarm communication</div>
|
|
<p><span class="image"><img src="data:image/png;base64,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" alt="Swarm Gateway"></span></p>
|
|
</div>
|
|
<div class="ulist">
|
|
<ul>
|
|
<li>
|
|
<p>Red Node: Server/Client and Gateway Role</p>
|
|
</li>
|
|
<li>
|
|
<p>Black and Red Node: Client Role</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="paragraph">
|
|
<p><strong>To make our life easier at this task we will be using the following tools…​</strong></p>
|
|
</div>
|
|
<div class="ulist">
|
|
<ul>
|
|
<li>
|
|
<p>Docker <span class="image"><a class="image" href="https://en.wikipedia.org/wiki/Docker_(software)" target="_blank" rel="noopener"><img src="data:image/png;base64," alt="link icon 16"></a></span></p>
|
|
</li>
|
|
<li>
|
|
<p>Ansible <span class="image"><a class="image" href="https://en.wikipedia.org/wiki/Ansible_(software)" target="_blank" rel="noopener"><img src="data:image/png;base64," alt="link icon 16"></a></span></p>
|
|
</li>
|
|
<li>
|
|
<p>NodeJS <span class="image"><a class="image" href="https://en.wikipedia.org/wiki/Node.js" target="_blank" rel="noopener"><img src="data:image/png;base64," alt="link icon 16"></a></span></p>
|
|
</li>
|
|
<li>
|
|
<p>VueJS <span class="image"><a class="image" href="https://en.wikipedia.org/wiki/Vue.js" target="_blank" rel="noopener"><img src="data:image/png;base64," alt="link icon 16"></a></span></p>
|
|
</li>
|
|
<li>
|
|
<p>Redis <span class="image"><a class="image" href="https://en.wikipedia.org/wiki/Redis" target="_blank" rel="noopener"><img src="data:image/png;base64," alt="link icon 16"></a></span></p>
|
|
</li>
|
|
<li>
|
|
<p>MongoDB <span class="image"><a class="image" href="https://en.wikipedia.org/wiki/MongoDB" target="_blank" rel="noopener"><img src="data:image/png;base64," alt="link icon 16"></a></span></p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sect1">
|
|
<h2 id="_general_info">1. General info:</h2>
|
|
<div class="sectionbody">
|
|
<div class="sect2">
|
|
<h3 id="_timeframe">1.1. Timeframe:</h3>
|
|
<div class="paragraph">
|
|
<p>This is a project that will be deleveloped thoughout the semester 2021.</p>
|
|
</div>
|
|
<div class="literalblock">
|
|
<div class="title">Courses Time: 11.00-13.00</div>
|
|
<div class="content">
|
|
<pre>Date</pre>
|
|
</div>
|
|
</div>
|
|
<div class="ulist">
|
|
<ul>
|
|
<li>
|
|
<p>2021-03-13, 2021-03-20, 2021-03-27</p>
|
|
</li>
|
|
<li>
|
|
<p>2021-04-03, 2021-04-10, 2021-04-17, 2021-04-24</p>
|
|
</li>
|
|
<li>
|
|
<p>2021-05-15, 2021-05-22, 2021-05-29, 2021-06-05</p>
|
|
</li>
|
|
<li>
|
|
<p>2021-06-12, 2021-06-19</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="admonitionblock note">
|
|
<table>
|
|
<tr>
|
|
<td class="icon">
|
|
<i class="fa icon-note" title="Note"></i>
|
|
</td>
|
|
<td class="content">
|
|
<div class="ulist">
|
|
<ul>
|
|
<li>
|
|
<p>The link to participate will be <strong>announced here</strong>.</p>
|
|
</li>
|
|
<li>
|
|
<p>You can also see detailed information about the sessions etc in the <strong>callendar</strong> (main page of the swarmlab client) after installation (see section "What tools will I need")</p>
|
|
</li>
|
|
<li>
|
|
<p>For any questions you can visit our community page on <a href="https://gitter.im/swarmlab-hybrid/community" target="_blank" rel="noopener">gitter</a></p>
|
|
</li>
|
|
<li>
|
|
<p>If none of the above solved your problem, you can always use good old-fashioned <a href="mailto:support@swarmlab.io">email!</a></p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="sect2">
|
|
<h3 id="_what_will_i_learn">1.2. What will i learn?</h3>
|
|
<div class="paragraph">
|
|
<p>You will learn to code, coordinate and orchestrate a swarm of self-acting nodes.</p>
|
|
</div>
|
|
</div>
|
|
<div class="sect2">
|
|
<h3 id="_what_tools_will_i_need">1.3. What tools will I need</h3>
|
|
<div class="paragraph">
|
|
<p>Internet and a PC</p>
|
|
</div>
|
|
<div class="paragraph">
|
|
<p>You should also have <strong>installed swarmlab</strong> to be able to recreate the steps and if you wish contribute to projects and communicate with your schoolmates.</p>
|
|
</div>
|
|
<div class="sect3">
|
|
<h4 id="_swarmlab_io_hybrid">1.3.1. Swarmlab.io hybrid</h4>
|
|
<div class="paragraph">
|
|
<p>Follow the <a href="https://git.swarmlab.io:3000/zeus/swarmlab-hybrid#installation" target="_blank" rel="noopener">instructions</a> to install swarmlab-hybrid</p>
|
|
</div>
|
|
<div class="paragraph">
|
|
<p>See also</p>
|
|
</div>
|
|
<div class="videoblock">
|
|
<div class="content">
|
|
<iframe src="https://player.vimeo.com/video/507040807" frameborder="0" allowfullscreen></iframe>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sect2">
|
|
<h3 id="_what_students_can_take_this_course">1.4. What students can take this course</h3>
|
|
<div class="paragraph">
|
|
<p>Any student with basic knowledge of networking and computer programming should be able to cope with the needs.</p>
|
|
</div>
|
|
</div>
|
|
<div class="sect2">
|
|
<h3 id="_how_is_the_course_going_to_take_place">1.5. How is the course going to take place</h3>
|
|
<div class="paragraph">
|
|
<p>The course will be divided into following parts</p>
|
|
</div>
|
|
<div class="ulist">
|
|
<ul>
|
|
<li>
|
|
<p>A list of videos, asciinemas and instructions explaining the project</p>
|
|
</li>
|
|
<li>
|
|
<p>lectures BASED ON THE VIDEOS for deeper analysis and questions</p>
|
|
</li>
|
|
<li>
|
|
<p>and a <a href="https://gitter.im/swarmlab-hybrid/community" target="_blank" rel="noopener">Gitter</a> for further conversations and answers to any of your questions</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="sect2">
|
|
<h3 id="_will_there_be_some_kind_of_examcertificate_what_will_i_gain">1.6. Will there be some kind of exam/certificate? What will i gain?</h3>
|
|
<div class="ulist">
|
|
<ul>
|
|
<li>
|
|
<p>The will NOT be an exam or certificate.</p>
|
|
</li>
|
|
<li>
|
|
<p>You will gain contributions in form of commits and merge requests into larger projects, which you can then add to your C.V. and upgrade it.</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="admonitionblock tip">
|
|
<table>
|
|
<tr>
|
|
<td class="icon">
|
|
<i class="fa icon-tip" title="Tip"></i>
|
|
</td>
|
|
<td class="content">
|
|
Just to give some context, <strong>contribution of code is regarded as the most important factor when choosing a software engineer</strong>, thus making the course very helpful for future employment
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sect1">
|
|
<h2 id="_course_description">2. Course Description</h2>
|
|
<div class="sectionbody">
|
|
<div class="sect2">
|
|
<h3 id="_cloud_microservice">2.1. Cloud & microservice</h3>
|
|
<div class="sect3">
|
|
<h4 id="_docker_app">2.1.1. docker app</h4>
|
|
<div class="paragraph">
|
|
<p>The section guides you through the following activities:</p>
|
|
</div>
|
|
<div class="ulist">
|
|
<ul>
|
|
<li>
|
|
<p>Create a Dockerized Sample application</p>
|
|
</li>
|
|
<li>
|
|
<p>Start an app container</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="sect3">
|
|
<h4 id="_docker_swarm">2.1.2. docker swarm</h4>
|
|
<div class="paragraph">
|
|
<p>The section guides you through the following activities:</p>
|
|
</div>
|
|
<div class="ulist">
|
|
<ul>
|
|
<li>
|
|
<p>initializing a cluster of Docker Engines in swarm mode</p>
|
|
</li>
|
|
<li>
|
|
<p>adding nodes to the swarm</p>
|
|
</li>
|
|
<li>
|
|
<p>deploying application services to the swarm</p>
|
|
</li>
|
|
<li>
|
|
<p>managing the swarm once you have everything running</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="sect3">
|
|
<h4 id="_orchestration">2.1.3. Orchestration</h4>
|
|
<div class="paragraph">
|
|
<p>The section guides you through the following activities:</p>
|
|
</div>
|
|
<div class="ulist">
|
|
<ul>
|
|
<li>
|
|
<p>scale our containerized applications across clouds and datacenters</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sect2">
|
|
<h3 id="_administer_and_maintain_a_swarm_of_docker_engines">2.2. Administer and maintain a swarm of Docker Engines</h3>
|
|
<div class="sect3">
|
|
<h4 id="_manager_nodes">2.2.1. manager nodes</h4>
|
|
|
|
</div>
|
|
<div class="sect3">
|
|
<h4 id="_monitor_swarm_health">2.2.2. Monitor swarm health</h4>
|
|
|
|
</div>
|
|
<div class="sect3">
|
|
<h4 id="_scheduling_services_on_a_docker_swarm_mode_cluster">2.2.3. Scheduling Services on a Docker Swarm Mode Cluster</h4>
|
|
<div class="ulist">
|
|
<ul>
|
|
<li>
|
|
<p>Scheduling Preferences</p>
|
|
</li>
|
|
<li>
|
|
<p>Rescheduling on Failure</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="sect3">
|
|
<h4 id="_ansible">2.2.4. ansible</h4>
|
|
<div class="ulist">
|
|
<ul>
|
|
<li>
|
|
<p>Using ansible to perform operations on managed nodes aka Configurations, deployment, and orchestration/automation</p>
|
|
</li>
|
|
<li>
|
|
<p>Deploying Docker Containers with Ansible</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sect2">
|
|
<h3 id="_create_service_on_nodes">2.3. Create service on nodes</h3>
|
|
<div class="paragraph">
|
|
<p>This section includes Docker images and an application for Node development using containers.</p>
|
|
</div>
|
|
<div class="paragraph">
|
|
<p>Create Real-time Application with</p>
|
|
</div>
|
|
<div class="ulist">
|
|
<ul>
|
|
<li>
|
|
<p>Node.js</p>
|
|
</li>
|
|
<li>
|
|
<p>Express.js</p>
|
|
</li>
|
|
<li>
|
|
<p>Socket.io</p>
|
|
</li>
|
|
<li>
|
|
<p>Redis</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="sect2">
|
|
<h3 id="_monitoring_service_applications_communication">2.4. Monitoring - service applications communication</h3>
|
|
<div class="sect3">
|
|
<h4 id="_real_time_datalog_collection">2.4.1. Real-Time data/Log Collection</h4>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="sect2">
|
|
<h3 id="_create_nosql_db_mongo_cluster">2.5. create noSQL DB (mongo cluster)</h3>
|
|
<div class="paragraph">
|
|
<p>A replica set is a group of mongod processes that maintain the same data set</p>
|
|
</div>
|
|
<div class="sect3">
|
|
<h4 id="_create_replicas">2.5.1. create replicas</h4>
|
|
<div class="ulist">
|
|
<ul>
|
|
<li>
|
|
<p>Replication in MongoDB</p>
|
|
</li>
|
|
<li>
|
|
<p>Change Streams</p>
|
|
<div class="ulist">
|
|
<ul>
|
|
<li>
|
|
<p>work with the change stream cursor.</p>
|
|
</li>
|
|
<li>
|
|
<p>Watch Collection/Database/Deployment etc</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sect2">
|
|
<h3 id="_central_web_admin_interface">2.6. central web admin interface</h3>
|
|
<div class="paragraph">
|
|
<p>Create a CRUD App</p>
|
|
</div>
|
|
<div class="sect3">
|
|
<h4 id="_vuejs">2.6.1. vuejs</h4>
|
|
<div class="paragraph">
|
|
<p>Create single-page application</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|