Erwin Müller

Ku­ber­netes Clus­ter Architecture

This shows the topol­o­gy of the com­po­nents in the new andrea‑1 cluster.

an­drea-1-clus­ter

The di­a­gram was cre­at­ed with PlantUML.

allow_mixing
'top to bottom direction

abstract class "Node" as node
abstract class "Constrol-node" as cnode
component cilium
component "cilium-operator" as ciliumoperator
component coredns
component etcd
component "hubble-relay" as hubblerelay
component "kube-apiserver" as apiserver
component "kube-controller-manager" as controllermanager
component "kube-proxy" as proxy
component "kube-scheduler" as scheduler
component "nfs-subdir-external-provisioner" as nfs

node <|-d- cnode

cilium "3" <--* node
coredns "2" <---* node
proxy "3" <----* node
nfs "3" <-----* node

ciliumoperator "1" <--* cnode
etcd "1" <---* cnode
hubblerelay "1" <----* cnode
apiserver "1" <-----* cnode
controllermanager "1" <-----* cnode
scheduler "1" <------* cnode

object "andrea-node-3.muellerpublic.de" as node3
object "andrea-node-4.muellerpublic.de" as node4
object "andrea-node-5.muellerpublic.de" as node5

cnode <|... node3
node <|... node4
node <|... node5

component "cert-manager" as certmanager
component "ingress-nginx" as ingressnginx
component "loki-0" as loki0
component "promtail-3" as promtail3
component "promtail-4" as promtail4
component "promtail-5" as promtail5
component "postgrescluster-pgha1-3" as pgha13
component "postgrescluster-pgha1-4" as pgha14
component "postgrescluster-pgha1-5" as pgha15
component "postgrescluster-pgbouncer-3" as pgha1bouncer3
component "postgrescluster-pgbouncer-4" as pgha1bouncer4
component "postgrescluster-pgbouncer-5" as pgha1bouncer5
component prometheus
component "redis-replicas-0" as redisrepl0
component "redis-replicas-1" as redisrepl1
component "redis-replicas-2" as redisrepl2
component "redis-master-0" as redismaster0
component "vault-0" as vault0
component "vault-1" as vault1
component "vault-2" as vault2

loki0 "1"         <-u-* node3
promtail3 "1"     <-u--* node3
pgha13 "1"        <-u---* node3
pgha1bouncer3 "1" <-u----* node3
prometheus "1"    <-u-----* node3
redisrepl2 "1"    <-u------* node3
vault2 "1"        <-u-------* node3

component keycloak
component wordpress
component matomo

certmanager "1"   <-u-* node4
ingressnginx "1"  <-u--* node4
keycloak "1"      <-u---* node4
promtail4 "1"     <-u-----* node4
pgha14 "1"        <-u------* node4
pgha1bouncer4 "1" <-u-------* node4
redismaster0 "1"  <-u--------* node4
redisrepl1 "1"    <-u---------* node4
vault1 "1"        <-u----------* node4
wordpress "2"     <-u-----------* node4
matomo "1"        <-u------------* node4

component gitea
component jenkins
component redmine
component "openldap-0" as openldap0

gitea "1"         <-u-* node5
jenkins "1"       <-u--* node5
redmine "1"       <-u---* node5
openldap0 "1"     <-u----* node5
promtail5 "1"     <-u-----* node5
pgha15 "1"        <-u------* node5
pgha1bouncer5 "1" <-u-------* node5
redisrepl0 "1"    <-u---------* node5
vault0 "1"        <-u----------* node5

Leave a Reply

Your email address will not be published.