deploy metallb to internal cluster and rebove ingress
This commit is contained in:
46
cluster/metallb-operator-appset.yaml
Normal file
46
cluster/metallb-operator-appset.yaml
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: ApplicationSet
|
||||||
|
metadata:
|
||||||
|
name: metallb-operator
|
||||||
|
namespace: openshift-gitops
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
goTemplate: true
|
||||||
|
goTemplateOptions: ["missingkey=error"]
|
||||||
|
generators:
|
||||||
|
# - clusters: {} # Variable is .name
|
||||||
|
- list: # Variable is .cluster
|
||||||
|
elements:
|
||||||
|
- cluster: internal
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
name: '{{.cluster}}-metallb-operator'
|
||||||
|
annotations:
|
||||||
|
argocd.argoproj.io/sync-wave: "2"
|
||||||
|
spec:
|
||||||
|
destination:
|
||||||
|
name: '{{.cluster}}'
|
||||||
|
namespace: metallb-system
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
path: cluster/metallb-operator/overlays/{{.cluster}}
|
||||||
|
repoURL: https://github.com/rblundon/homelab.git
|
||||||
|
targetRevision: HEAD
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
syncOptions:
|
||||||
|
- RespectIgnoreDifferences=true
|
||||||
|
- CreateNamespace=true
|
||||||
|
managedNamespaceMetadata:
|
||||||
|
labels:
|
||||||
|
argocd.argoproj.io/managed-by: argocd
|
||||||
|
ignoreDifferences:
|
||||||
|
- group: apps
|
||||||
|
kind: Deployment
|
||||||
|
jsonPointers:
|
||||||
|
- /spec/replicas
|
||||||
11
cluster/metallb-operator/base/bgp_advertisement.yaml
Normal file
11
cluster/metallb-operator/base/bgp_advertisement.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
apiVersion: metallb.io/v1beta1
|
||||||
|
kind: BGPAdvertisement
|
||||||
|
metadata:
|
||||||
|
name: bgp-advert
|
||||||
|
namespace: metallb-system
|
||||||
|
spec:
|
||||||
|
aggregationLength: 32
|
||||||
|
aggregationLengthV6: 128
|
||||||
|
ipAddressPools:
|
||||||
|
- bgp-ip-addresspool
|
||||||
15
cluster/metallb-operator/base/kustomization.yaml
Normal file
15
cluster/metallb-operator/base/kustomization.yaml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
|
||||||
|
commonAnnotations:
|
||||||
|
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
|
||||||
|
|
||||||
|
resources:
|
||||||
|
# Operator deployment
|
||||||
|
- namespace.yaml
|
||||||
|
- subscription.yaml
|
||||||
|
- operatorgroup.yaml
|
||||||
|
# Deploy cluster resources
|
||||||
|
- metallb.yaml
|
||||||
|
- bgp_advertisement.yaml
|
||||||
7
cluster/metallb-operator/base/metallb.yaml
Normal file
7
cluster/metallb-operator/base/metallb.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
apiVersion: metallb.io/v1beta1
|
||||||
|
kind: MetalLB
|
||||||
|
metadata:
|
||||||
|
name: metallb
|
||||||
|
namespace: metallb-system
|
||||||
|
spec: {}
|
||||||
13
cluster/metallb-operator/base/namespace.yaml
Normal file
13
cluster/metallb-operator/base/namespace.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
kubernetes.io/metadata.name: metallb-system
|
||||||
|
name: metallb-system
|
||||||
|
argocd.argoproj.io/managed-by: openshift-gitops-operator
|
||||||
|
openshift.io/cluster-monitoring: 'true'
|
||||||
|
name: metallb-system
|
||||||
|
spec:
|
||||||
|
finalizers:
|
||||||
|
- kubernetes
|
||||||
9
cluster/metallb-operator/base/operatorgroup.yaml
Normal file
9
cluster/metallb-operator/base/operatorgroup.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
apiVersion: operators.coreos.com/v1
|
||||||
|
kind: OperatorGroup
|
||||||
|
metadata:
|
||||||
|
name: metallb-operator
|
||||||
|
namespace: metallb-system
|
||||||
|
#spec:
|
||||||
|
# targetNamespaces:
|
||||||
|
# - metallb-system
|
||||||
12
cluster/metallb-operator/base/subscription.yaml
Normal file
12
cluster/metallb-operator/base/subscription.yaml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
apiVersion: operators.coreos.com/v1alpha1
|
||||||
|
kind: Subscription
|
||||||
|
metadata:
|
||||||
|
name: metallb-operator
|
||||||
|
namespace: metallb-system
|
||||||
|
spec:
|
||||||
|
channel: stable
|
||||||
|
installPlanApproval: Automatic #Manual
|
||||||
|
name: metallb-operator
|
||||||
|
source: redhat-operators
|
||||||
|
sourceNamespace: openshift-marketplace
|
||||||
12
cluster/metallb-operator/external/bgp_peer.yaml
vendored
Normal file
12
cluster/metallb-operator/external/bgp_peer.yaml
vendored
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
apiVersion: metallb.io/v1beta2
|
||||||
|
kind: BGPPeer
|
||||||
|
metadata:
|
||||||
|
name: bgp-peer-worlddrive
|
||||||
|
namespace: metallb-system
|
||||||
|
spec:
|
||||||
|
disableMP: false
|
||||||
|
myASN: 65003
|
||||||
|
peerASN: 65002
|
||||||
|
peerAddress: 10.1.71.1
|
||||||
|
peerPort: 179
|
||||||
12
cluster/metallb-operator/external/ip_addresspool.yaml
vendored
Normal file
12
cluster/metallb-operator/external/ip_addresspool.yaml
vendored
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
apiVersion: metallb.io/v1beta1
|
||||||
|
kind: IPAddressPool
|
||||||
|
metadata:
|
||||||
|
name: bgp-ip-addresspool
|
||||||
|
namespace: metallb-system
|
||||||
|
spec:
|
||||||
|
addresses:
|
||||||
|
- 10.1.182.0/24
|
||||||
|
autoAssign: true
|
||||||
|
avoidBuggyIPs: false
|
||||||
|
|
||||||
12
cluster/metallb-operator/internal/bgp_peer.yaml
Normal file
12
cluster/metallb-operator/internal/bgp_peer.yaml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
apiVersion: metallb.io/v1beta2
|
||||||
|
kind: BGPPeer
|
||||||
|
metadata:
|
||||||
|
name: bgp-peer-worlddrive
|
||||||
|
namespace: metallb-system
|
||||||
|
spec:
|
||||||
|
disableMP: false
|
||||||
|
myASN: 65001
|
||||||
|
peerASN: 65002
|
||||||
|
peerAddress: 10.1.71.1
|
||||||
|
peerPort: 179
|
||||||
12
cluster/metallb-operator/internal/ip_addresspool.yaml
Normal file
12
cluster/metallb-operator/internal/ip_addresspool.yaml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
apiVersion: metallb.io/v1beta1
|
||||||
|
kind: IPAddressPool
|
||||||
|
metadata:
|
||||||
|
name: bgp-ip-addresspool
|
||||||
|
namespace: metallb-system
|
||||||
|
spec:
|
||||||
|
addresses:
|
||||||
|
- 10.1.82.0/24
|
||||||
|
autoAssign: true
|
||||||
|
avoidBuggyIPs: false
|
||||||
|
|
||||||
10
cluster/metallb-operator/internal/kustomization.yaml
Normal file
10
cluster/metallb-operator/internal/kustomization.yaml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
|
||||||
|
commonAnnotations:
|
||||||
|
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
|
||||||
|
|
||||||
|
resources:
|
||||||
|
- ../../base
|
||||||
|
- bgp_peer.yaml
|
||||||
|
- ip_addresspool.yaml
|
||||||
Reference in New Issue
Block a user