optimize code

This commit is contained in:
wencaiwulue
2021-08-07 21:22:57 +08:00
parent d9516c84b3
commit 80bf081154
5 changed files with 19 additions and 8 deletions

View File

@@ -79,7 +79,7 @@ func prepare() {
if err != nil {
log.Fatal(err)
}
pod, err := remote.CreateServerOutbound(clientset, namespace, trafficManager.String())
pod, err := remote.CreateServerOutbound(clientset, namespace, &trafficManager, k8sCIDR)
if err != nil {
log.Fatal(err)
}

View File

@@ -39,7 +39,7 @@ func AddCleanUpResourceHandler(client *kubernetes.Clientset, namespace string, s
}
}
for _, s := range strings.Split(services, ",") {
util.ScaleDeploymentReplicasTo(client, s, namespace, 1)
util.ScaleDeploymentReplicasTo(client, namespace, s, 1)
newName := s + "-" + "shadow"
deletePod(client, newName, namespace)
}

View File

@@ -12,11 +12,12 @@ import (
"k8s.io/kubectl/pkg/polymorphichelpers"
"k8s.io/kubectl/pkg/util/podutils"
"kubevpn/util"
"net"
"sort"
"time"
)
func CreateServerOutbound(clientset *kubernetes.Clientset, namespace, serverIp string) (*v1.Pod, error) {
func CreateServerOutbound(clientset *kubernetes.Clientset, namespace string, serverIp, nodeCIDR *net.IPNet) (*v1.Pod, error) {
firstPod, i, err3 := polymorphichelpers.GetFirstPod(clientset.CoreV1(),
namespace,
fields.OneTermEqualSelector("app", util.TrafficManager).String(),
@@ -51,8 +52,8 @@ func CreateServerOutbound(clientset *kubernetes.Clientset, namespace, serverIp s
"iptables -P INPUT ACCEPT;" +
"iptables -P FORWARD ACCEPT;" +
"iptables -t nat -A POSTROUTING -s 192.168.254.0/24 -o eth0 -j MASQUERADE;" +
"iptables -t nat -A POSTROUTING -s 172.20.0.0/16 -o eth0 -j MASQUERADE;" +
"gost -L socks5://:10800 -L tun://:8421?net=" + serverIp + " -D",
"iptables -t nat -A POSTROUTING -s " + nodeCIDR.String() + " -o eth0 -j MASQUERADE;" +
"gost -L socks5://:10800 -L tun://:8421?net=" + serverIp.String() + " -D",
},
// todo get pod ip
Lifecycle: &v1.Lifecycle{
@@ -196,7 +197,7 @@ func updateReplicasToZeroAndGetLabels(clientset *kubernetes.Clientset, namespace
return nil
}
log.Info("prepare to expose local service to remote service: " + service)
util.ScaleDeploymentReplicasTo(clientset, service, namespace, 0)
util.ScaleDeploymentReplicasTo(clientset, namespace, service, 0)
labels := getLabels(clientset, namespace, service)
if labels == nil {
log.Info("fail to create shadow")

View File

@@ -28,7 +28,17 @@ func TestCreateServer(t *testing.T) {
log.Fatal(err)
}
server, err := CreateServerOutbound(clientset, "test", "192.168.254.100/24")
i := &net.IPNet{
IP: net.ParseIP("192.168.254.100"),
Mask: net.IPv4Mask(255, 255, 255, 0),
}
j := &net.IPNet{
IP: net.ParseIP("172.20.0.0"),
Mask: net.IPv4Mask(255, 255, 0, 0),
}
server, err := CreateServerOutbound(clientset, "test", i, j)
fmt.Println(server)
}

View File

@@ -138,7 +138,7 @@ func PortForwardPod(config *rest.Config, clientset *kubernetes.Clientset, podNam
return nil
}
func ScaleDeploymentReplicasTo(options *kubernetes.Clientset, name, namespace string, replicas int32) {
func ScaleDeploymentReplicasTo(options *kubernetes.Clientset, namespace, name string, replicas int32) {
err := retry.OnError(
retry.DefaultRetry,
func(err error) bool { return err != nil },