Kubernetes Build

From Wizard Rants
Revision as of 06:40, 28 January 2022 by Northrup2 (talk | contribs)
Jump to navigation Jump to search

Physical Build Out

Physical Information

Network Layout
VLAN Name VLAN ID Network
Management 2 10.1.2.0/24
Physical Nodes 3 10.1.3.0/24
NLB East 10 10.1.10.0/24
NLB West 11 10.1.11.0/24
K8S Edge East 15 10.1.15.0/24
K8S Edge West 16 10.1.16.0/24
K8S Masters East 20 10.1.20.0/24
K8S Masters West 21 10.1.21.0/24
K8S Nodes East 30 10.1.30.0/24
K8S Nodes West 31 10.1.31.0.24
Physical Node
Node Name MAC Address IP Address
j 7085.c2d3.0d36
a 7085.c2d1.7efc
r 7085.c2d4.7fab
v 7085.c2d3.0b93
i 7085.c2d3.0d4a
s 7085.c2d3.1053

Kubernetes Network
Pod Network CIDR 10.60.0.0/16

Node Build Out

Physical Node US Node Name EU Node Name Etcd Node NLB Node
j us-ctrl-01 eu-wrk-01 eu-etcd-01 us-nlb-01
a us-ctrl-02 eu-wrk-02 eu-etcd-02 us-nlb-02
r us-wrk-01 eu-wrk-03 eu-etcd-03 us-nlb-03
v us-wrk-02 eu-wrk-04 us-etcd-01 eu-nlb-01
i us-wrk-03 eu-ctrl-01 us-etcd-02 eu-nlb-02
s us-wrk-04 eu-ctrl-02 us-etcd-03 eu-nlb-03

HA Config for Etcd & K8S Masters

Two virtual IP addresses, 10.1.10.5 and 10.1.10.6, are shared between us-nlb-01 and us-nlb-02.

HAProxy Configuration

Heartbeat Configuration Files

ha.cf
authkeys
haresources

us-nlb-[01,02] have heartbeat installed to manage the shared IP addresses between the two.

10.1.10.5 is for usage as the Etcd load-balanced IP address
10.1.10.6 is for usage as the Kubernetes API endpoint

Kubernetes Installation

Certificate Authority
Kubernetes Config Files
Data Encryption
Bootstrapping etcd
Bootstrapping K8S Controllers
Bootstrapping K8S Workers
Configure Kubectl
Installing Cilium / Network Routing
Installing CoreDNS
Kubernetes Terms

Building Upon Kubernetes

CNI Networking : Cilium
Service Mesh : Istio
LoadBalancing : MetalLB

Services To Deploy

Vault

Prometheus

Fluentd

elasticsearch

grafana

Additional Elements

Harbor

Rook

GitLab

jaeger

Open Policy Agent

kured