Skip to content

nikatar/egress-cilium-node-ha-operator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

It is simple k8s operator based on Flant shell-operator for egress HA-mode of Cilium.

Cilium has an awesome feature called egress, that allows you to redirect outbound traffic form specific pods to specific nodes(via labels).

As you know, in Kubernetes nodes can appear and disappear just like pods. But you can allocate a pool of nodes for outbound traffic for some(or all) apps with this Cilium feature. This is a very common case, for example, if you need to send a WhiteList IPs to your third partners.

Unfortunately, community version of Cilium doesn't have HA-mode for egress.

This operator implements a simple HA-mode for egress. It is assumed that you have 2 "low", "empty" nodes for egress (similar to ingress) with label node-role.kubernetes.io/egress: "true": egress-1 & egress-2. Let's say that by default the node for egress outbound traffic is called egress-1. If this node goes into state "Not Ready", this operator will override all manifests for egress and replace this node there with reserve egress-2.

This process takes about 30s.

Deployment

  • build image & push to your registry

  • edit manifests in operator.yaml

  • kubectl -n <namespace> apply -f operator.yaml

  • exapmle dir contains example manifest for CiliumEgressGatewayPolicy

About

Simple k8s operator for HA egress cilium

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published