feat!: Drop Metallb in favor of Cilium L2Announcements (#821)

This commit is contained in:
Devin Buhl authored and GitHub committed 2023-07-03 14:47:51 -04:00
1 parent 4905990750
commit 467af18b0f
34 files changed
+111 -243

No files matched your search

@@ -5,7 +5,7 @@ metadata:
name: cert-manager
namespace: cert-manager
spec:
interval: 15m
interval: 30m
chart:
spec:
chart: cert-manager
@@ -5,7 +5,7 @@ metadata:
name: echo-server
namespace: default
spec:
interval: 15m
interval: 30m
chart:
spec:
chart: app-template
@@ -5,7 +5,7 @@ metadata:
name: hajimari
namespace: default
spec:
interval: 15m
interval: 30m
chart:
spec:
chart: hajimari
@@ -5,7 +5,7 @@ metadata:
name: weave-gitops
namespace: flux-system
spec:
interval: 15m
interval: 30m
chart:
spec:
chart: weave-gitops
@@ -5,11 +5,11 @@ metadata:
name: cilium
namespace: kube-system
spec:
interval: 15m
interval: 30m
chart:
spec:
chart: cilium
version: 1.13.4
version: 1.14.0-rc.0
sourceRef:
kind: HelmRepository
name: cilium
@@ -26,19 +26,24 @@ spec:
uninstall:
keepHistory: false
values:
autoDirectNodeRoutes: true
bpf:
masquerade: true
bgp:
enabled: false
cluster:
name: home-cluster
id: 1
containerRuntime:
integration: containerd
socketPath: /var/run/k3s/containerd/containerd.sock
endpointRoutes:
enabled: true
hubble:
enabled: true
metrics:
enabled:
- dns:query;ignoreAAAA
- dns:query
- drop
- tcp
- flow
@@ -66,12 +71,12 @@ spec:
- *host
ipam:
mode: kubernetes
k8sServiceHost: "${KUBE_VIP_ADDR}"
k8sServiceHost: ${KUBE_VIP_ADDR}
k8sServicePort: 6443
ipv4NativeRoutingCIDR: ${CLUSTER_CIDR}
kubeProxyReplacement: strict
kubeProxyReplacementHealthzBindAddr: 0.0.0.0:10256
operator:
replicas: 1
rollOutPods: true
prometheus:
enabled: true
@@ -82,3 +87,11 @@ spec:
serviceMonitor:
enabled: true
rollOutCiliumPods: true
l2announcements:
enabled: true
loadBalancer:
algorithm: maglev
mode: dsr
securityContext:
privileged: true
tunnel: disabled
@@ -5,7 +5,7 @@ metadata:
name: local-path-provisioner
namespace: kube-system
spec:
interval: 15m
interval: 30m
chart:
spec:
chart: ./deploy/chart/local-path-provisioner
@@ -5,7 +5,7 @@ metadata:
name: metrics-server
namespace: kube-system
spec:
interval: 15m
interval: 30m
chart:
spec:
chart: metrics-server
@@ -5,7 +5,7 @@ metadata:
name: reloader
namespace: &namespace kube-system
spec:
interval: 15m
interval: 30m
chart:
spec:
chart: reloader
@@ -5,7 +5,7 @@ metadata:
name: kubernetes-dashboard
namespace: monitoring
spec:
interval: 15m
interval: 30m
chart:
spec:
chart: kubernetes-dashboard
@@ -5,7 +5,7 @@ metadata:
name: cloudflared
namespace: networking
spec:
interval: 15m
interval: 30m
chart:
spec:
chart: app-template
@@ -5,7 +5,7 @@ metadata:
name: &app external-dns
namespace: networking
spec:
interval: 15m
interval: 30m
chart:
spec:
chart: external-dns
@@ -5,7 +5,7 @@ metadata:
name: ingress-nginx
namespace: networking
spec:
interval: 15m
interval: 30m
chart:
spec:
chart: ingress-nginx
@@ -36,8 +36,8 @@ spec:
service:
annotations:
external-dns.alpha.kubernetes.io/hostname: "ingress.${SECRET_DOMAIN}"
loadBalancerIP: "${METALLB_INGRESS_ADDR}"
externalTrafficPolicy: Local
io.cilium/lb-ipam-ips: "${INGRESS_NGINX_ADDR}"
externalTrafficPolicy: Cluster
publishService:
enabled: true
ingressClassResource:
@@ -25,7 +25,6 @@ metadata:
spec:
dependsOn:
- name: cluster-apps-ingress-nginx-certificates
- name: cluster-apps-metallb-config
path: ./kubernetes/apps/networking/ingress-nginx/app
prune: true
sourceRef:
@@ -5,7 +5,7 @@ metadata:
name: k8s-gateway
namespace: networking
spec:
interval: 15m
interval: 30m
chart:
spec:
chart: k8s-gateway
@@ -33,5 +33,5 @@ spec:
type: LoadBalancer
port: 53
annotations:
metallb.universe.tf/loadBalancerIPs: "${METALLB_K8S_GATEWAY_ADDR}"
externalTrafficPolicy: Local
io.cilium/lb-ipam-ips: "${K8S_GATEWAY_ADDR}"
externalTrafficPolicy: Cluster
@@ -5,8 +5,6 @@ metadata:
name: cluster-apps-k8s-gateway
namespace: flux-system
spec:
dependsOn:
- name: cluster-apps-metallb-config
path: ./kubernetes/apps/networking/k8s-gateway/app
prune: true
sourceRef:
@@ -7,4 +7,3 @@ resources:
- ./external-dns/ks.yaml
- ./ingress-nginx/ks.yaml
- ./k8s-gateway/ks.yaml
- ./metallb/ks.yaml
@@ -1,33 +0,0 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: metallb
namespace: networking
spec:
interval: 15m
chart:
spec:
chart: metallb
version: 0.13.10
sourceRef:
kind: HelmRepository
name: metallb
namespace: flux-system
maxHistory: 2
install:
createNamespace: true
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
uninstall:
keepHistory: false
values:
crds:
enabled: true
speaker:
frr:
enabled: false
@@ -1,6 +0,0 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: networking
resources:
- ./helmrelease.yaml
@@ -1,5 +0,0 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: networking
resources:
- resources.yaml
@@ -1,18 +0,0 @@
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: l2-ip
namespace: networking
spec:
ipAddressPools:
- default-pool
---
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: default-pool
namespace: networking
spec:
addresses:
- "${METALLB_LB_RANGE}"
@@ -1,34 +0,0 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: cluster-apps-metallb
namespace: flux-system
spec:
path: ./kubernetes/apps/networking/metallb/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: true
interval: 30m
retryInterval: 1m
timeout: 5m
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: cluster-apps-metallb-config
namespace: flux-system
spec:
dependsOn:
- name: cluster-apps-metallb
path: ./kubernetes/apps/networking/metallb/config
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: true
interval: 30m
retryInterval: 1m
timeout: 5m
@@ -12,7 +12,6 @@ resources:
- ./jetstack.yaml
- ./k8s-gateway.yaml
- ./kubernetes-dashboard.yaml
- ./metallb.yaml
- ./metrics-server.yaml
- ./prometheus-community.yaml
- ./stakater.yaml
@@ -1,9 +0,0 @@
---
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
name: metallb
namespace: flux-system
spec:
interval: 1h
url: https://metallb.github.io/metallb