Skip to content

Commit 5d8b106

Browse files
committed
add route for service ip range when init vpc-nat-gw (#2821)
1 parent cd4ff4f commit 5d8b106

File tree

2 files changed

+14
-8
lines changed

2 files changed

+14
-8
lines changed

dist/images/vpcnatgateway/nat-gateway.sh

+9
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,15 @@ function init() {
3333
iptables -t nat -A POSTROUTING -j SNAT_FILTER
3434
iptables -t nat -A SNAT_FILTER -j EXCLUSIVE_SNAT
3535
iptables -t nat -A SNAT_FILTER -j SHARED_SNAT
36+
37+
for rule in $@
38+
do
39+
arr=(${rule//,/ })
40+
cidr=${arr[0]}
41+
nextHop=${arr[1]}
42+
43+
exec_cmd "ip route replace $cidr via $nextHop dev eth0"
44+
done
3645
}
3746

3847

pkg/controller/vpc_nat_gateway.go

+5-8
Original file line numberDiff line numberDiff line change
@@ -289,12 +289,7 @@ func (c *Controller) handleInitVpcNatGw(key string) error {
289289
}
290290
return err
291291
}
292-
var v4Cidr string
293-
if subnet, ok := c.ipam.Subnets[gw.Spec.Subnet]; ok {
294-
v4Cidr = subnet.V4CIDR.String()
295-
} else {
296-
return fmt.Errorf("failed to get subnet %s", gw.Spec.Subnet)
297-
}
292+
// subnet for vpc-nat-gw has been checked when create vpc-nat-gw
298293

299294
if err := c.updateCrdNatGw(gw.Name); err != nil {
300295
klog.Errorf("failed to update nat gw: %v", gw.Name, err)
@@ -317,8 +312,10 @@ func (c *Controller) handleInitVpcNatGw(key string) error {
317312
}
318313
NAT_GW_CREATED_AT = pod.CreationTimestamp.Format("2006-01-02T15:04:05")
319314
klog.V(3).Infof("nat gw pod '%s' inited at %s", key, NAT_GW_CREATED_AT)
320-
if err = c.execNatGwRules(pod, natGwInit, []string{v4Cidr}); err != nil {
321-
klog.Errorf("failed to init vpc nat gateway, %v", err)
315+
316+
if err = c.execNatGwRules(pod, natGwInit, []string{fmt.Sprintf("%s,%s", c.config.ServiceClusterIPRange, pod.Annotations[util.GatewayAnnotation])}); err != nil {
317+
err = fmt.Errorf("failed to init vpc nat gateway, %v", err)
318+
klog.Error(err)
322319
return err
323320
}
324321
c.updateVpcFloatingIpQueue.Add(key)

0 commit comments

Comments
 (0)