Add cilium to flux
This commit is contained in:
62
infra/configs/bgp-cluster-config.yaml
Normal file
62
infra/configs/bgp-cluster-config.yaml
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
apiVersion: cilium.io/v2alpha1
|
||||||
|
kind: CiliumBGPClusterConfig
|
||||||
|
metadata:
|
||||||
|
name: router
|
||||||
|
spec:
|
||||||
|
bgpInstances:
|
||||||
|
- name: "main"
|
||||||
|
localASN: 65000
|
||||||
|
peers:
|
||||||
|
- name: barracuda
|
||||||
|
peerASN: 65000
|
||||||
|
peerAddress: 2001:470:61a3:100:ffff:ffff:ffff:ffff
|
||||||
|
peerConfigRef:
|
||||||
|
name: cilium-peer
|
||||||
|
---
|
||||||
|
apiVersion: cilium.io/v2alpha1
|
||||||
|
kind: CiliumBGPPeerConfig
|
||||||
|
metadata:
|
||||||
|
name: cilium-peer
|
||||||
|
spec:
|
||||||
|
timers:
|
||||||
|
keepAliveTimeSeconds: 3
|
||||||
|
holdTimeSeconds: 9
|
||||||
|
connectRetryTimeSeconds: 12
|
||||||
|
gracefulRestart:
|
||||||
|
enabled: true
|
||||||
|
restartTimeSeconds: 60
|
||||||
|
families:
|
||||||
|
- afi: ipv4
|
||||||
|
safi: unicast
|
||||||
|
advertisements:
|
||||||
|
matchLabels:
|
||||||
|
advertise: bgp
|
||||||
|
- afi: ipv6
|
||||||
|
safi: unicast
|
||||||
|
advertisements:
|
||||||
|
matchLabels:
|
||||||
|
advertise: bgp
|
||||||
|
---
|
||||||
|
apiVersion: cilium.io/v2alpha1
|
||||||
|
kind: CiliumBGPAdvertisement
|
||||||
|
metadata:
|
||||||
|
name: bgp-advertisements
|
||||||
|
labels:
|
||||||
|
advertise: bgp
|
||||||
|
spec:
|
||||||
|
advertisements:
|
||||||
|
- advertisementType: "CiliumPodIPPool"
|
||||||
|
# Wanting to advertise all pools
|
||||||
|
# https://docs.cilium.io/en/v1.16/network/bgp-control-plane/bgp-control-plane-v2/#multipool-ipam
|
||||||
|
selector:
|
||||||
|
matchExpressions:
|
||||||
|
- { key: somekey, operator: NotIn, values: ["never-used-value"] }
|
||||||
|
- advertisementType: Service
|
||||||
|
service:
|
||||||
|
addresses:
|
||||||
|
# Not advertising ClusterIP - kubeproxyreplacement should? translate them directly to pod ips
|
||||||
|
# Not advertising ExternalIP - they should be reachable via static config
|
||||||
|
- LoadBalancerIP
|
||||||
|
selector:
|
||||||
|
matchExpressions:
|
||||||
|
- { key: somekey, operator: NotIn, values: ["never-used-value"] }
|
||||||
8
infra/configs/loadbalancer-ippool.yaml
Normal file
8
infra/configs/loadbalancer-ippool.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: "cilium.io/v2alpha1"
|
||||||
|
kind: CiliumLoadBalancerIPPool
|
||||||
|
metadata:
|
||||||
|
name: "blue-pool"
|
||||||
|
spec:
|
||||||
|
blocks:
|
||||||
|
- cidr: 10.44.0.0/16
|
||||||
|
- cidr: 2001:470:61a3:400::/112
|
||||||
106
infra/controllers/cilium.yaml
Normal file
106
infra/controllers/cilium.yaml
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: kube-system
|
||||||
|
---
|
||||||
|
apiVersion: source.toolkit.fluxcd.io/v1
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: cilium
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
interval: 24h
|
||||||
|
url: https://helm.cilium.com/stable
|
||||||
|
---
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: cilium
|
||||||
|
namespace: kube-system
|
||||||
|
spec:
|
||||||
|
interval: 30m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: cilium
|
||||||
|
version: 1.16.6
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: cilium
|
||||||
|
namespace: kube-system
|
||||||
|
interval: 12h
|
||||||
|
values:
|
||||||
|
# Talos specific
|
||||||
|
# https://www.talos.dev/v1.9/kubernetes-guides/network/deploying-cilium/
|
||||||
|
kubeProxyReplacement: true
|
||||||
|
|
||||||
|
securityContext:
|
||||||
|
capabilities:
|
||||||
|
ciliumAgent:
|
||||||
|
- CHOWN
|
||||||
|
- KILL
|
||||||
|
- NET_ADMIN
|
||||||
|
- NET_RAW
|
||||||
|
- IPC_LOCK
|
||||||
|
- SYS_ADMIN
|
||||||
|
- SYS_RESOURCE
|
||||||
|
- DAC_OVERRIDE
|
||||||
|
- FOWNER
|
||||||
|
- SETGID
|
||||||
|
- SETUID
|
||||||
|
cleanCiliumState:
|
||||||
|
- NET_ADMIN
|
||||||
|
- SYS_ADMIN
|
||||||
|
- SYS_RESOURCE
|
||||||
|
|
||||||
|
cgroup:
|
||||||
|
autoMount:
|
||||||
|
enabled: false
|
||||||
|
hostRoot: /sys/fs/cgroup
|
||||||
|
|
||||||
|
k8sServiceHost: localhost
|
||||||
|
k8sServicePort: 7445
|
||||||
|
|
||||||
|
# Homelab
|
||||||
|
routingMode: native
|
||||||
|
ipv6:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
# Enable managing of IP Pools via CRD
|
||||||
|
ipam:
|
||||||
|
mode: multi-pool
|
||||||
|
operator:
|
||||||
|
autoCreateCiliumPodIPPools:
|
||||||
|
default:
|
||||||
|
# In line with controlplane.yml
|
||||||
|
ipv4:
|
||||||
|
cidrs:
|
||||||
|
- 10.42.0.0/16
|
||||||
|
maskSize: 24
|
||||||
|
ipv6:
|
||||||
|
cidrs:
|
||||||
|
- 2001:470:61a3:200::/104
|
||||||
|
maskSize: 120
|
||||||
|
|
||||||
|
# Disable masquerading, ipv4 is done at router level
|
||||||
|
enableIPv4Masquerade: false
|
||||||
|
enableIPv6Masquerade: false
|
||||||
|
|
||||||
|
# Enable peering announcing routes via BGP
|
||||||
|
bgpControlPlane:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
# Decrease requests
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 0
|
||||||
|
|
||||||
|
operator:
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 0
|
||||||
|
|
||||||
|
envoy:
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 0
|
||||||
@@ -1,10 +1,13 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
|
- controllers/cilium.yaml
|
||||||
- controllers/nginx.yaml
|
- controllers/nginx.yaml
|
||||||
- controllers/dns-public.yaml
|
- controllers/dns-public.yaml
|
||||||
- controllers/cert-manager.yaml
|
- controllers/cert-manager.yaml
|
||||||
- controllers/openebs.yaml
|
- controllers/openebs.yaml
|
||||||
- diskpools/zoma-dibaiyin-hdd.yaml
|
- diskpools/zoma-dibaiyin-hdd.yaml
|
||||||
|
- configs/bgp-cluster-config.yaml
|
||||||
|
- configs/loadbalancer-ippool.yaml
|
||||||
- configs/cluster-issuer.yaml
|
- configs/cluster-issuer.yaml
|
||||||
- configs/single-hdd-sc.yaml
|
- configs/single-hdd-sc.yaml
|
||||||
|
|||||||
Reference in New Issue
Block a user