Wrap Up¶
Après concertation et modification de certaines architectures de services. La combination de tout les services Ocean décrits dans les blueprint, donne le découpage en VM suivant:
infra[1-2]
VMs hebergeant les services DHCP, TFTP et la partie exposée aux clients du service NTP.
Localisation: top ou worker
monitor1
VM hebergeant l’unique service de monitoring
prometheus
.Localisation: top
batch[1-2]
VMs hebergeant les services Slurm (
slurmd
erslurmdbd
).Localisation: top ou worker
db1
VM hebergeant la base de données utilisée par plusieurs services (
bmgr
,slurmdbd
, etc…) et le service auks.Localisation: top
i[0,10-N]conf[1-2]
VMs hebergeant les serveurs HTTP et Puppet.
Localisation: (top ou worker) + ilôt
webrelay[1-2]
VMs hebergeant les serveur HTTP proxy permettant l’accès aux depôts YUM externes entre autres.
Localisation: top
i[0,10-N]log1
VMs herbegant les serveurs
rsyslog
etconman
.Localisation: (top ou worker) + ilôt
ns[1-3]
VMs hebergeant les serveur DNS et LDAP du calculateur.
Localisation: top
nsrelay1
VM hebergeant le serveur LDAP de synchronisation (aka. serveur fusible).
Localisation: top
lb[1-2]
VM hebergeant les serveurs
HAProxy
utilisés par plusieurs autres services.Localisation: top ou worker
i[10-N]dkless[1-2]
VMs hebergeant les services dediés à l’infrastructure diskless du centre de calcul.
Localisation: ilôt
admin[1-2]
VMs servant de point d’accès au administrateurs
Localisation: top
auto1
VM herbgeant les services d’automate de centre de calcul (StackStorm)
Localisation: top
Ce qui donne, pour une machine de 2 ilôts, 3 top et 3 worker la répartition suivante (quand tout est nomimal)
![digraph "arch" {
compound=true;
ranksep="1.2 equally";
rankdir="TB";
newrank="false";
sep="+1";
subgraph cluster_top1{
graph[nodesep=0]
label="top1";
monitor1
webrelay2
ns3
admin2
}
subgraph cluster_top2{
label="top2";
graph[nodesep=0]
db1
ns1
nsrelay1
auto1
}
subgraph cluster_top3{
label="top3";
webrelay1
ns2
admin1
}
subgraph cluster_worker1{
label="worker1";
infra1
batch2
lb2
}
subgraph cluster_worker2{
label="worker2";
infra2
i0conf1
i0log1
}
subgraph cluster_worker3{
label="worker3";
batch1
i0conf2
lb1
}
"monitor1" -> "topswitch1"[ltail=cluster_top1]
"db1" -> "topswitch2"[ltail=cluster_top2]
"admin1" -> "topswitch1"[ltail=cluster_top3]
"infra1" -> "topswitch2"[ltail=cluster_worker1]
"infra2" -> "topswitch1"[ltail=cluster_worker2]
"lb1" -> "topswitch2"[ltail=cluster_worker3]
"topswitch1" -> "topswitch2"[constraint=false]
"topswitch2" -> "topswitch1"[constraint=false]
subgraph cluster20 {
subgraph clustersw20{
"islet 20 switch 1"; "islet 20 switch 2";
"islet 20 switch 1" -> "islet 20 switch 2"[constraint=false];
"islet 20 switch 2" -> "islet 20 switch 1"[constraint=false];
}
subgraph cluster_islet20{
label=islet20
"islet 20 switch 1" -> "i20conf1"[lhead=cluster_islet20];
"islet 20 switch 1" -> "i20log1"[style=invis,lhead=cluster_islet20];
"islet 20 switch 1" -> "i20dkless1"[style=invis,lhead=cluster_islet20];
i20conf1
i20log1
i20dkless1
}
subgraph cluster_islet21{
label=islet21
"islet 20 switch 2" -> "i20conf2"[lhead=cluster_islet21];
"islet 20 switch 2" -> "i20dkless2"[style=invis,lhead=cluster_islet21];
i20conf2
i20dkless2
}
}
"topswitch1" -> "islet 20 switch 1"[];
"topswitch2" -> "islet 20 switch 1"[];
"topswitch1" -> "islet 20 switch 2"[];
"topswitch2" -> "islet 20 switch 2"[];
subgraph cluster22 {
subgraph clustersw22{
"islet 22 switch 1"; "islet 22 switch 2";
"islet 22 switch 1" -> "islet 22 switch 2"[constraint=false];
"islet 22 switch 2" -> "islet 22 switch 1"[constraint=false];
}
subgraph cluster_islet22{
label=islet22
"islet 22 switch 1" -> "i22conf1"[lhead=cluster_islet22];
"islet 22 switch 1" -> "i22log1"[style=invis,lhead=cluster_islet22];
"islet 22 switch 1" -> "i22dkless1"[style=invis,lhead=cluster_islet22];
i22conf1
i22log1
i22dkless1
}
subgraph cluster_islet23{
label=islet23
"islet 22 switch 2" -> "i22conf2"[lhead=cluster_islet23];
"islet 22 switch 2" -> "i22dkless2"[style=invis,lhead=cluster_islet23];
i22conf2
i22dkless2
}
}
"topswitch1" -> "islet 22 switch 1"[];
"topswitch2" -> "islet 22 switch 1"[];
"topswitch1" -> "islet 22 switch 2"[];
"topswitch2" -> "islet 22 switch 2"[];
}](../../_images/graphviz-b143ac05f9102f7544e86291c54ac0e2a2d8b6fe.png)