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