mirror of
https://github.com/kubenetworks/kubevpn.git
synced 2025-12-24 11:51:13 +08:00
optimize code
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
@@ -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 },
|
||||
|
||||
Reference in New Issue
Block a user