Usage of /usr/bin/kube-router:
--advertise-cluster-ip Add Cluster IP of the service to the RIB so that it gets advertises to the BGP peers.
--advertise-external-ip Add External IP of service to the RIB so that it gets advertised to the BGP peers.
--advertise-loadbalancer-ip Add LoadBalancer IP of service status as set by the LB provider to the RIB so that it gets advertised to the BGP peers.
--advertise-pod-cidr Add Node's POD cidr to the RIB so that it gets advertised to the BGP peers. (default true)
--auto-mtu Auto detect and set the largest possible MTU for kube-bridge and pod interfaces (also accounts for IPIP overlay network when enabled). (default true)
--bfd-desired-min-tx-interval uint32 The desired min interval in milliseconds for GoBGP to transmit BFD control packets. (default 1000)
--bfd-detection-multiplier uint32 BFD failure detection multiplier. Must be between 1-255. (default 3)
--bfd-port uint32 UDP port for BFD control packets (default 3784)
--bfd-required-min-rx-interval uint32 Min interval in milliseconds for GoBGP to receive BFD control packets. (default 1000)
--bgp-graceful-restart Enables the BGP Graceful Restart capability so that routes are preserved on unexpected restarts
--bgp-graceful-restart-deferral-time duration BGP Graceful restart deferral time according to RFC4724 4.1, maximum 18h. (default 6m0s)
--bgp-graceful-restart-time duration BGP Graceful restart time according to RFC4724 3, maximum 4095s. (default 1m30s)
--bgp-holdtime duration This parameter is mainly used to modify the holdtime declared to BGP peer. When kube-router goes down abnormally, the local saving time of BGP route will be affected. Holdtime must be in the range 3s to 18h12m16s. (default 1m30s)
--bgp-port uint32 The port open for incoming BGP connections and to use for connecting with other BGP peers. (default 179)
--cache-sync-timeout duration The timeout for cache synchronization (e.g. '5s', '1m'). Must be greater than 0. (default 1m0s)
--cleanup-config Cleanup iptables rules, ipvs, ipset configuration and exit.
--cluster-asn uint ASN number under which cluster nodes will run iBGP.
--disable-source-dest-check Disable the source-dest-check attribute for AWS EC2 instances. When this option is false, it must be set some other way. (default true)
--enable-bfd Enable BFD for GoBGP
--enable-cni Enable CNI plugin. Disable if you want to use kube-router features alongside another CNI plugin. (default true)
--enable-ibgp Enables peering with nodes with the same ASN, if disabled will only peer with external BGP peers (default true)
--enable-ipv4 Enables IPv4 support (default true)
--enable-ipv6 Enables IPv6 support
--enable-overlay When enable-overlay is set to true, IP-in-IP tunneling is used for pod-to-pod networking across nodes in different subnets. When set to false no tunneling is used and routing infrastructure is expected to route traffic for pod-to-pod networking across nodes in different subnets (default true)
--enable-pod-egress SNAT traffic from Pods to destinations outside the cluster. (default true)
--enable-pprof Enables pprof for debugging performance and memory leak issues.
--excluded-cidrs strings Excluded CIDRs are used to exclude IPVS rules from deletion.
--gobgp-admin-address string Address for GoBGP server. Used in combination with gobgp-admin-port to expose GoBGP for administrative purposes. Setting this to empty string will default the address to 127.0.0.1. (default "127.0.0.1")
--gobgp-admin-port uint16 Port to connect to GoBGP for administrative purposes. Setting this to 0 will disable the GoBGP gRPC server. (default 50051)
--hairpin-mode Add iptables rules for every Service Endpoint to support hairpin traffic.
--health-addr string Health check address to listen on (Default: all interfaces; ensure to configure the 'livenessProbe' to use the same IP address)
--health-port uint16 Health check port, 0 = Disabled (default 20244)
-h, --help Print usage information.
--hostname-override string Overrides the NodeName of the node. Set this if kube-router is unable to determine your NodeName automatically.
--injected-routes-sync-period duration The delay between route table synchronizations (e.g. '5s', '1m', '2h22m'). Must be greater than 0. (default 1m0s)
--iptables-sync-period duration The delay between iptables rule synchronizations (e.g. '5s', '1m'). Must be greater than 0. (default 5m0s)
--ipvs-graceful-period duration The graceful period before removing destinations from IPVS services (e.g. '5s', '1m', '2h22m'). Must be greater than 0. (default 30s)
--ipvs-graceful-termination Enables the experimental IPVS graceful termination capability
--ipvs-permit-all Enables rule to accept all incoming traffic to service VIP's on the node. (default true)
--ipvs-sync-period duration The delay between ipvs config synchronizations (e.g. '5s', '1m', '2h22m'). Must be greater than 0. (default 5m0s)
--kubeconfig string Path to kubeconfig file with authorization information (the master location is set by the master flag).
--loadbalancer-default-class Handle loadbalancer services without a class (default true)
--loadbalancer-ip-range strings CIDR values from which loadbalancer services addresses are assigned (can be specified multiple times). Also used by the proxy module to validate loadBalancerIPs when --strict-external-ip-validation is enabled.
--loadbalancer-sync-period duration The delay between checking for missed services (e.g. '5s', '1m'). Must be greater than 0. (default 1m0s)
--masquerade-all SNAT all traffic to cluster IP/node port.
--master string The address of the Kubernetes API server (overrides any value in kubeconfig).
--metrics-addr string Prometheus metrics address to listen on, (Default: all interfaces)
--metrics-path string Prometheus metrics path (default "/metrics")
--metrics-port uint16 Prometheus metrics port, (Default 0, Disabled)
--netpol-default-deny Default policy to use for pods to have before NetworkPolicy is applied
--nodeport-bindon-all-ip For service of NodePort type create IPVS service that listens on all IP's of the node.
--nodes-full-mesh Each node in the cluster will setup BGP peering with rest of the nodes. (default true)
--overlay-encap string Valid encapsulation types are "ipip" or "fou" (if set to "fou", the udp port can be specified via "overlay-encap-port") (default "ipip")
--overlay-encap-port uint16 Overlay tunnel encapsulation port (only used for "fou" encapsulation) (default 5555)
--overlay-type string Possible values: subnet,full - When set to "subnet", the default, default "--enable-overlay=true" behavior is used. When set to "full", it changes "--enable-overlay=true" default behavior so that IP-in-IP tunneling is used for pod-to-pod networking across nodes regardless of the subnet the nodes are in. (default "subnet")
--override-nexthop Override the next-hop in bgp routes sent to peers with the local ip.
--peer-router-asns uints ASN numbers of the BGP peer to which cluster nodes will advertise cluster ip and node's pod cidr. (default [])
--peer-router-ips ipSlice The ip address of the external router to which all nodes will peer and advertise the cluster ip and pod cidr's. (default [])
--peer-router-multihop-ttl uint8 Enable eBGP multihop supports -- sets multihop-ttl. (Relevant only if ttl >= 2)
--peer-router-passwords strings Password for authenticating against the BGP peer defined with "--peer-router-ips".
--peer-router-passwords-file string Path to file containing password for authenticating against the BGP peer defined with "--peer-router-ips". --peer-router-passwords will be preferred if both are set.
--peer-router-ports uints The remote port of the external BGP to which all nodes will peer. If not set, default BGP port (179) will be used. (default [])
--router-id string BGP router-id. Must be specified in a ipv6 only cluster, "generate" can be specified to generate the router id.
--routes-sync-period duration The delay between route updates and advertisements (e.g. '5s', '1m', '2h22m'). Must be greater than 0. (default 5m0s)
--run-firewall Enables Network Policy -- sets up iptables to provide ingress firewall for pods. (default true)
--run-loadbalancer Enable loadbalancer address allocator
--run-router Enables Pod Networking -- Advertises and learns the routes to Pods via iBGP. (default true)
--run-service-proxy Enables Service Proxy -- sets up IPVS for Kubernetes Services. (default true)
--runtime-endpoint string Path to CRI compatible container runtime socket (used for DSR mode). Currently known working with containerd.
--service-cluster-ip-range strings CIDR values from which service cluster IPs are assigned (can be specified up to 2 times) (default [10.96.0.0/12])
--service-external-ip-range strings Specify external IP CIDRs that are used for inter-cluster communication (can be specified multiple times). Also used by the proxy module to validate externalIPs when --strict-external-ip-validation is enabled.
--service-node-port-range string NodePort range specified with either a hyphen or colon (default "30000-32767")
--service-tcp-timeout duration Specify TCP timeout for IPVS services in standard duration syntax (e.g. '5s', '1m'), default 0s preserves default system value (default: 0s)
--service-tcpfin-timeout duration Specify TCP FIN timeout for IPVS services in standard duration syntax (e.g. '5s', '1m'), default 0s preserves default system value (default: 0s)
--service-udp-timeout duration Specify UDP timeout for IPVS services in standard duration syntax (e.g. '5s', '1m'), default 0s preserves default system value (default: 0s)
--strict-external-ip-validation When enabled, the proxy module validates externalIPs and loadBalancerIPs against configured CIDR ranges (--service-external-ip-range and --loadbalancer-ip-range). When strict mode is enabled and no range is configured, all externalIPs / loadBalancerIPs are rejected (default-deny). Disable this flag to restore previous behavior of accepting all IPs without validation. (default true)
--use-nftables-for-netpol [Experimental] Use nftables instead of iptables for the network policy controller. Requires nft >= 1.0.1 and kernel nftables support. (default false)
-v, --v string log level for V logs (default "0")
-V, --version Print version information.
Options (79)
| Option | Description | Source |
|---|---|---|
--advertise-cluster-ip | Add Cluster IP of the service to the RIB so that it gets advertises to the BGP peers. | help |
--advertise-external-ip | Add External IP of service to the RIB so that it gets advertised to the BGP peers. | help |
--advertise-loadbalancer-ip | Add LoadBalancer IP of service status as set by the LB provider to the RIB so that it gets advertised to the BGP peers. | help |
--advertise-pod-cidr | Add Node's POD cidr to the RIB so that it gets advertised to the BGP peers. | help |
--auto-mtu | Auto detect and set the largest possible MTU for kube-bridge and pod interfaces (also accounts for IPIP overlay network when enabled). | help |
--bfd-desired-min-tx-interval uint32 | The desired min interval in milliseconds for GoBGP to transmit BFD control packets. | help |
--bfd-detection-multiplier uint32 | BFD failure detection multiplier. | help |
--bfd-port uint32 | UDP port for BFD control packets (default 3784) | help |
--bfd-required-min-rx-interval uint32 | Min interval in milliseconds for GoBGP to receive BFD control packets. | help |
--bgp-graceful-restart | Enables the BGP Graceful Restart capability so that routes are preserved on unexpected restarts | help |
--bgp-graceful-restart-deferral-time duration | BGP Graceful restart deferral time according to RFC4724 4.1, maximum 18h. | help |
--bgp-graceful-restart-time duration | BGP Graceful restart time according to RFC4724 3, maximum 4095s. | help |
--bgp-holdtime duration | This parameter is mainly used to modify the holdtime declared to BGP peer. | help |
--bgp-port uint32 | The port open for incoming BGP connections and to use for connecting with other BGP peers. | help |
--cache-sync-timeout duration | The timeout for cache synchronization (e.g. '5s', '1m'). | help |
--cleanup-config | Cleanup iptables rules, ipvs, ipset configuration and exit. | help |
--cluster-asn uint | ASN number under which cluster nodes will run iBGP. | help |
--disable-source-dest-check | Disable the source-dest-check attribute for AWS EC2 instances. | help |
--enable-bfd | Enable BFD for GoBGP | help |
--enable-cni | Enable CNI plugin. | help |
--enable-ibgp | Enables peering with nodes with the same ASN, if disabled will only peer with external BGP peers (default true) | help |
--enable-ipv4 | Enables IPv4 support (default true) | help |
--enable-ipv6 | Enables IPv6 support | help |
--enable-overlay | When enable-overlay is set to true, IP-in-IP tunneling is used for pod-to-pod networking across nodes in different subnets. | help |
--enable-pod-egress | SNAT traffic from Pods to destinations outside the cluster. | help |
--enable-pprof | Enables pprof for debugging performance and memory leak issues. | help |
--excluded-cidrs strings | Excluded CIDRs are used to exclude IPVS rules from deletion. | help |
--gobgp-admin-address string | Address for GoBGP server. | help |
--gobgp-admin-port uint16 | Port to connect to GoBGP for administrative purposes. | help |
--hairpin-mode | Add iptables rules for every Service Endpoint to support hairpin traffic. | help |
--health-addr string | Health check address to listen on (Default: all interfaces; | help |
--health-port uint16 | Health check port, 0 = Disabled (default 20244) | help |
-h, --help | Print usage information. | help |
--hostname-override string | Overrides the NodeName of the node. | help |
--injected-routes-sync-period duration | The delay between route table synchronizations (e.g. '5s', '1m', '2h22m'). | help |
--iptables-sync-period duration | The delay between iptables rule synchronizations (e.g. '5s', '1m'). | help |
--ipvs-graceful-period duration | The graceful period before removing destinations from IPVS services (e.g. '5s', '1m', '2h22m'). | help |
--ipvs-graceful-termination | Enables the experimental IPVS graceful termination capability | help |
--ipvs-permit-all | Enables rule to accept all incoming traffic to service VIP's on the node. | help |
--ipvs-sync-period duration | The delay between ipvs config synchronizations (e.g. '5s', '1m', '2h22m'). | help |
--kubeconfig string | Path to kubeconfig file with authorization information (the master location is set by the master flag). | help |
--loadbalancer-default-class | Handle loadbalancer services without a class (default true) | help |
--loadbalancer-ip-range strings | CIDR values from which loadbalancer services addresses are assigned (can be specified multiple times). | help |
--loadbalancer-sync-period duration | The delay between checking for missed services (e.g. '5s', '1m'). | help |
--masquerade-all | SNAT all traffic to cluster IP/node port. | help |
--master string | The address of the Kubernetes API server (overrides any value in kubeconfig). | help |
--metrics-addr string | Prometheus metrics address to listen on, (Default: all interfaces) | help |
--metrics-path string | Prometheus metrics path (default "/metrics") | help |
--metrics-port uint16 | Prometheus metrics port, (Default 0, Disabled) | help |
--netpol-default-deny | Default policy to use for pods to have before NetworkPolicy is applied | help |
--nodeport-bindon-all-ip | For service of NodePort type create IPVS service that listens on all IP's of the node. | help |
--nodes-full-mesh | Each node in the cluster will setup BGP peering with rest of the nodes. | help |
--overlay-encap string | Valid encapsulation types are "ipip" or "fou" (if set to "fou", the udp port can be specified via "overlay-encap-port") (default "ipip") | help |
--overlay-encap-port uint16 | Overlay tunnel encapsulation port (only used for "fou" encapsulation) (default 5555) | help |
--overlay-type string | Possible values: subnet,full - When set to "subnet", the default, default "--enable-overlay=true" behavior is used. | help |
--override-nexthop | Override the next-hop in bgp routes sent to peers with the local ip. | help |
--peer-router-asns uints | ASN numbers of the BGP peer to which cluster nodes will advertise cluster ip and node's pod cidr. | help |
--peer-router-ips ipSlice | The ip address of the external router to which all nodes will peer and advertise the cluster ip and pod cidr's. | help |
--peer-router-multihop-ttl uint8 | Enable eBGP multihop supports -- sets multihop-ttl. | help |
--peer-router-passwords strings | Password for authenticating against the BGP peer defined with "--peer-router-ips". | help |
--peer-router-passwords-file string | Path to file containing password for authenticating against the BGP peer defined with "--peer-router-ips". | help |
--peer-router-ports uints | The remote port of the external BGP to which all nodes will peer. | help |
--router-id string | BGP router-id. | help |
--routes-sync-period duration | The delay between route updates and advertisements (e.g. '5s', '1m', '2h22m'). | help |
--run-firewall | Enables Network Policy -- sets up iptables to provide ingress firewall for pods. | help |
--run-loadbalancer | Enable loadbalancer address allocator | help |
--run-router | Enables Pod Networking -- Advertises and learns the routes to Pods via iBGP. | help |
--run-service-proxy | Enables Service Proxy -- sets up IPVS for Kubernetes Services. | help |
--runtime-endpoint string | Path to CRI compatible container runtime socket (used for DSR mode). | help |
--service-cluster-ip-range strings | CIDR values from which service cluster IPs are assigned (can be specified up to 2 times) (default [10.96.0.0/12]) | help |
--service-external-ip-range strings | Specify external IP CIDRs that are used for inter-cluster communication (can be specified multiple times). | help |
--service-node-port-range string | NodePort range specified with either a hyphen or colon (default "30000-32767") | help |
--service-tcp-timeout duration | Specify TCP timeout for IPVS services in standard duration syntax (e.g. '5s', '1m'), default 0s preserves default system value (default: 0s) | help |
--service-tcpfin-timeout duration | Specify TCP FIN timeout for IPVS services in standard duration syntax (e.g. '5s', '1m'), default 0s preserves default system value (default: 0s) | help |
--service-udp-timeout duration | Specify UDP timeout for IPVS services in standard duration syntax (e.g. '5s', '1m'), default 0s preserves default system value (default: 0s) | help |
--strict-external-ip-validation | When enabled, the proxy module validates externalIPs and loadBalancerIPs against configured CIDR ranges (--service-external-ip-range and --loadbalancer-ip-range). | help |
--use-nftables-for-netpol | [Experimental] Use nftables instead of iptables for the network policy controller. | help |
-v, --v string | log level for V logs (default "0") | help |
-V, --version | Print version information. | help |