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/*/jfrog
|
||||||
- path: apps/overlays/*/node-feature-discovery
|
- path: apps/overlays/*/node-feature-discovery
|
||||||
- path: apps/overlays/*/puppet
|
- path: apps/overlays/*/puppet
|
||||||
|
- path: apps/overlays/*/purelb
|
||||||
- path: apps/overlays/*/reflector-system
|
- path: apps/overlays/*/reflector-system
|
||||||
- path: apps/overlays/*/reloader-system
|
- path: apps/overlays/*/reloader-system
|
||||||
- path: apps/overlays/*/reposync
|
- path: apps/overlays/*/reposync
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ spec:
|
|||||||
- https://cloudnative-pg.github.io/charts
|
- https://cloudnative-pg.github.io/charts
|
||||||
- https://helm.elastic.co
|
- https://helm.elastic.co
|
||||||
- https://helm.releases.hashicorp.com
|
- https://helm.releases.hashicorp.com
|
||||||
|
- https://purelb.github.io/purelb/charts
|
||||||
- https://intel.github.io/helm-charts/
|
- https://intel.github.io/helm-charts/
|
||||||
- https://kubernetes-sigs.github.io/external-dns/
|
- https://kubernetes-sigs.github.io/external-dns/
|
||||||
- https://releases.rancher.com/server-charts/stable
|
- https://releases.rancher.com/server-charts/stable
|
||||||
@@ -34,6 +35,8 @@ spec:
|
|||||||
server: https://kubernetes.default.svc
|
server: https://kubernetes.default.svc
|
||||||
- namespace: 'node-feature-discovery'
|
- namespace: 'node-feature-discovery'
|
||||||
server: https://kubernetes.default.svc
|
server: https://kubernetes.default.svc
|
||||||
|
- namespace: 'purelb'
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
- namespace: 'puppet'
|
- namespace: 'puppet'
|
||||||
server: https://kubernetes.default.svc
|
server: https://kubernetes.default.svc
|
||||||
- namespace: 'reposync'
|
- namespace: 'reposync'
|
||||||
@@ -55,6 +58,8 @@ spec:
|
|||||||
kind: ValidatingWebhookConfiguration
|
kind: ValidatingWebhookConfiguration
|
||||||
- group: 'scheduling.k8s.io'
|
- group: 'scheduling.k8s.io'
|
||||||
kind: PriorityClass
|
kind: PriorityClass
|
||||||
|
- group: 'purelb.io'
|
||||||
|
kind: '*'
|
||||||
- group: 'nfd.k8s-sigs.io'
|
- group: 'nfd.k8s-sigs.io'
|
||||||
kind: NodeFeatureRule
|
kind: NodeFeatureRule
|
||||||
- group: 'deviceplugin.intel.com'
|
- group: 'deviceplugin.intel.com'
|
||||||
|
|||||||
+1
-1
@@ -18,6 +18,6 @@ while IFS= read -r -d "" k; do
|
|||||||
-summary \
|
-summary \
|
||||||
-output pretty \
|
-output pretty \
|
||||||
-verbose \
|
-verbose \
|
||||||
-skip CustomResourceDefinition,GpuDevicePlugin \
|
-skip CustomResourceDefinition,GpuDevicePlugin,LBNodeAgent,ServiceGroup \
|
||||||
"${schema_args[@]}"
|
"${schema_args[@]}"
|
||||||
done < <(find apps/overlays -name kustomization.yaml -print0)
|
done < <(find apps/overlays -name kustomization.yaml -print0)
|
||||||
|
|||||||
Reference in New Issue
Block a user