This commit is contained in:
29
metallb-system/README.md
Normal file
29
metallb-system/README.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# MetalLB
|
||||
|
||||
## Background
|
||||
|
||||
MetalLB exposes services to the outside world.
|
||||
|
||||
|
||||
## Deployment
|
||||
|
||||
To update manifests:
|
||||
|
||||
```
|
||||
curl -O https://raw.githubusercontent.com/metallb/metallb-operator/v0.13.4/bin/metallb-operator.yaml
|
||||
kubectl apply -f metallb-operator.yaml
|
||||
kubectl apply -f application.yml
|
||||
```
|
||||
|
||||
Set up BGP secrets:
|
||||
|
||||
```
|
||||
kubectl delete secret -n metallb-system mikrotik-router
|
||||
kubectl create secret -n metallb-system generic mikrotik-router --type=kubernetes.io/basic-auth --from-literal=password=...
|
||||
```
|
||||
|
||||
Eventually the external IP should show up here:
|
||||
|
||||
```
|
||||
kubectl get svc -n traefik
|
||||
```
|
60
metallb-system/application.yml
Normal file
60
metallb-system/application.yml
Normal file
@@ -0,0 +1,60 @@
|
||||
---
|
||||
apiVersion: metallb.io/v1beta1
|
||||
kind: MetalLB
|
||||
metadata:
|
||||
name: metallb
|
||||
namespace: metallb-system
|
||||
spec:
|
||||
nodeSelector:
|
||||
node-role.kubernetes.io/worker: ""
|
||||
---
|
||||
# Slice of the private Zoo subnet using MetalLB L2 method
|
||||
apiVersion: metallb.io/v1beta1
|
||||
kind: IPAddressPool
|
||||
metadata:
|
||||
name: zoo
|
||||
namespace: metallb-system
|
||||
spec:
|
||||
addresses:
|
||||
- 172.20.51.0/24
|
||||
---
|
||||
apiVersion: metallb.io/v1beta1
|
||||
kind: L2Advertisement
|
||||
metadata:
|
||||
name: zoo
|
||||
namespace: metallb-system
|
||||
spec:
|
||||
ipAddressPools:
|
||||
- zoo
|
||||
---
|
||||
# Slice of public EEnet subnet using MetalLB L3 method
|
||||
apiVersion: metallb.io/v1beta1
|
||||
kind: IPAddressPool
|
||||
metadata:
|
||||
name: eenet
|
||||
namespace: metallb-system
|
||||
spec:
|
||||
addresses:
|
||||
- 193.40.103.36/30
|
||||
---
|
||||
apiVersion: metallb.io/v1beta2
|
||||
kind: BGPPeer
|
||||
metadata:
|
||||
name: mikrotik-router
|
||||
namespace: metallb-system
|
||||
spec:
|
||||
myASN: 65530
|
||||
peerASN: 65530
|
||||
peerAddress: 172.20.0.1
|
||||
passwordSecret:
|
||||
name: mikrotik-router
|
||||
namespace: metallb-system
|
||||
---
|
||||
apiVersion: metallb.io/v1beta1
|
||||
kind: BGPAdvertisement
|
||||
metadata:
|
||||
name: eenet
|
||||
namespace: metallb-system
|
||||
spec:
|
||||
ipAddressPools:
|
||||
- eenet
|
2200
metallb-system/metallb-operator.yaml
Normal file
2200
metallb-system/metallb-operator.yaml
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user