feat: migrate purelb to ArgoCD (#84)
Migrate PureLB load balancer from Terragrunt to ArgoCD/Kustomize. Deploys purelb v0.13.0 with two LBNodeAgent and two ServiceGroup CRs (common: 198.18.200.0/24, dmz: 198.18.199.0/24). Adds LBNodeAgent and ServiceGroup to kubeconform skip list (no CRD catalog schema). 💘 Generated with Crush Assisted-by: Claude Sonnet 4.6 via Crush <crush@charm.land> Reviewed-on: #84
This commit was merged in pull request #84.
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- namespace.yaml
|
||||
- lbnodeagents.yaml
|
||||
- servicegroups.yaml
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
apiVersion: purelb.io/v1
|
||||
kind: LBNodeAgent
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: lbnodeagent
|
||||
app.kubernetes.io/name: purelb
|
||||
name: common
|
||||
namespace: purelb
|
||||
spec:
|
||||
local:
|
||||
extlbint: kube-lb0
|
||||
localint: default
|
||||
sendgarp: false
|
||||
---
|
||||
apiVersion: purelb.io/v1
|
||||
kind: LBNodeAgent
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: lbnodeagent
|
||||
app.kubernetes.io/name: purelb
|
||||
name: dmz
|
||||
namespace: purelb
|
||||
spec:
|
||||
local:
|
||||
extlbint: kube-lb0
|
||||
localint: default
|
||||
sendgarp: false
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: purelb
|
||||
name: purelb
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
apiVersion: purelb.io/v1
|
||||
kind: ServiceGroup
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: servicegroup
|
||||
app.kubernetes.io/name: purelb
|
||||
name: common
|
||||
namespace: purelb
|
||||
spec:
|
||||
local:
|
||||
v4pools:
|
||||
- aggregation: /32
|
||||
pool: 198.18.200.0/24
|
||||
subnet: 198.18.200.0/24
|
||||
---
|
||||
apiVersion: purelb.io/v1
|
||||
kind: ServiceGroup
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: servicegroup
|
||||
app.kubernetes.io/name: purelb
|
||||
name: dmz
|
||||
namespace: purelb
|
||||
spec:
|
||||
local:
|
||||
v4pools:
|
||||
- aggregation: /32
|
||||
pool: 198.18.199.0/24
|
||||
subnet: 198.18.199.0/24
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
namespace: purelb
|
||||
|
||||
resources:
|
||||
- ../../../base/purelb
|
||||
|
||||
helmCharts:
|
||||
- name: purelb
|
||||
repo: https://gitlab.com/api/v4/projects/20400619/packages/helm/stable
|
||||
version: "v0.13.0"
|
||||
releaseName: purelb
|
||||
namespace: purelb
|
||||
valuesFile: values.yaml
|
||||
@@ -0,0 +1,56 @@
|
||||
image:
|
||||
repository: registry.gitlab.com/purelb/purelb
|
||||
tag: v0.13.0
|
||||
pullPolicy: Always
|
||||
|
||||
allocator:
|
||||
securityContext:
|
||||
runAsNonRoot: true
|
||||
runAsUser: 65534
|
||||
containerSecurityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- all
|
||||
readOnlyRootFilesystem: true
|
||||
tolerations: []
|
||||
|
||||
lbnodeagent:
|
||||
extlbint: kube-lb0
|
||||
localint: default
|
||||
sendgarp: false
|
||||
tolerations: []
|
||||
containerSecurityContext:
|
||||
capabilities:
|
||||
add:
|
||||
- NET_ADMIN
|
||||
- NET_RAW
|
||||
drop:
|
||||
- ALL
|
||||
readOnlyRootFilesystem: false
|
||||
runAsGroup: 0
|
||||
runAsUser: 0
|
||||
|
||||
defaultAnnouncer: PureLB
|
||||
|
||||
serviceGroup:
|
||||
create: false
|
||||
name: default
|
||||
|
||||
Prometheus:
|
||||
allocator:
|
||||
Metrics:
|
||||
enabled: false
|
||||
serviceMonitor:
|
||||
enabled: false
|
||||
prometheusRules:
|
||||
enabled: false
|
||||
lbnodeagent:
|
||||
Metrics:
|
||||
enabled: false
|
||||
serviceMonitor:
|
||||
enabled: false
|
||||
prometheusRules:
|
||||
enabled: false
|
||||
|
||||
memberlistSecretKey: 8sb7ikA5qHwQQqxc
|
||||
@@ -21,6 +21,7 @@ spec:
|
||||
- path: apps/overlays/*/jfrog
|
||||
- path: apps/overlays/*/node-feature-discovery
|
||||
- path: apps/overlays/*/puppet
|
||||
- path: apps/overlays/*/purelb
|
||||
- path: apps/overlays/*/reflector-system
|
||||
- path: apps/overlays/*/reloader-system
|
||||
- path: apps/overlays/*/reposync
|
||||
|
||||
@@ -12,6 +12,7 @@ spec:
|
||||
- https://cloudnative-pg.github.io/charts
|
||||
- https://helm.elastic.co
|
||||
- https://helm.releases.hashicorp.com
|
||||
- https://purelb.github.io/purelb/charts
|
||||
- https://intel.github.io/helm-charts/
|
||||
- https://kubernetes-sigs.github.io/external-dns/
|
||||
- https://releases.rancher.com/server-charts/stable
|
||||
@@ -34,6 +35,8 @@ spec:
|
||||
server: https://kubernetes.default.svc
|
||||
- namespace: 'node-feature-discovery'
|
||||
server: https://kubernetes.default.svc
|
||||
- namespace: 'purelb'
|
||||
server: https://kubernetes.default.svc
|
||||
- namespace: 'puppet'
|
||||
server: https://kubernetes.default.svc
|
||||
- namespace: 'reposync'
|
||||
@@ -55,6 +58,8 @@ spec:
|
||||
kind: ValidatingWebhookConfiguration
|
||||
- group: 'scheduling.k8s.io'
|
||||
kind: PriorityClass
|
||||
- group: 'purelb.io'
|
||||
kind: '*'
|
||||
- group: 'nfd.k8s-sigs.io'
|
||||
kind: NodeFeatureRule
|
||||
- group: 'deviceplugin.intel.com'
|
||||
|
||||
+1
-1
@@ -18,6 +18,6 @@ while IFS= read -r -d "" k; do
|
||||
-summary \
|
||||
-output pretty \
|
||||
-verbose \
|
||||
-skip CustomResourceDefinition,GpuDevicePlugin \
|
||||
-skip CustomResourceDefinition,GpuDevicePlugin,LBNodeAgent,ServiceGroup \
|
||||
"${schema_args[@]}"
|
||||
done < <(find apps/overlays -name kustomization.yaml -print0)
|
||||
|
||||
Reference in New Issue
Block a user