Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

EKS Cluster w/ IPVS

TODO

Prerequisites:

Ensure that you have the following tools installed locally:

  1. aws cli
  2. kubectl
  3. terraform

Deploy

To provision this example:

terraform init
terraform apply

Enter yes at command prompt to apply

Validate

The following command will update the kubeconfig on your local machine and allow you to interact with your EKS Cluster using kubectl to validate the deployment.

  1. Run update-kubeconfig command:
aws eks --region us-east-1 update-kubeconfig --name ipv4-prefix-delegation
  1. View the configmap of kube-proxy for IPVS settings:
kubectl -n kube-system get configmap kube-proxy-config -o yaml

# Output should look similar to below (truncated for brevity)
  iptables:
    masqueradeAll: false
    masqueradeBit: 14
    minSyncPeriod: 0s
    syncPeriod: 30s
  ipvs:
    excludeCIDRs: null
    minSyncPeriod: 0s
    scheduler: "lc"
    syncPeriod: 30s
  kind: KubeProxyConfiguration
  metricsBindAddress: 0.0.0.0:10249
  mode: "ipvs"
  1. Inspect the logs of kube-proxy for IPVS setttings:
kubectl logs kube-proxy-nqcwp -n kube-system | grep ipvs

# Output should look similar to below (truncated for brevity)
I1217 22:12:56.578440       1 server_others.go:269] "Using ipvs Proxier"
I1217 22:12:56.578460       1 server_others.go:271] "Creating dualStackProxier for ipvs"
I1217 22:12:56.578818       1 proxier.go:506] "ipvs sync params" ipFamily=IPv4 minSyncPeriod="0s" syncPeriod="30s" burstSyncs=2
I1217 22:12:56.588651       1 proxier.go:1010] "Not syncing ipvs rules until Services and Endpoints have been received from master"

Destroy

To teardown and remove the resources created in this example:

terraform destroy -auto-approve