mirror of
https://github.com/kubeshark/kubeshark.git
synced 2025-07-06 04:48:40 +00:00
🐛 Fix the effect of proxy config port changes
This commit is contained in:
parent
1d7d242e6c
commit
f68fed0de8
@ -12,14 +12,14 @@ func ServerConnection(kubernetesProvider *kubernetes.Provider) bool {
|
|||||||
|
|
||||||
var connectedToHub, connectedToFront bool
|
var connectedToHub, connectedToFront bool
|
||||||
|
|
||||||
if err := checkProxy(kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.SrcPort), "/echo", kubernetesProvider); err != nil {
|
if err := checkProxy(kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.Port), "/echo", kubernetesProvider); err != nil {
|
||||||
log.Error().Err(err).Msg("Couldn't connect to Hub using proxy!")
|
log.Error().Err(err).Msg("Couldn't connect to Hub using proxy!")
|
||||||
} else {
|
} else {
|
||||||
connectedToHub = true
|
connectedToHub = true
|
||||||
log.Info().Msg("Connected successfully to Hub using proxy.")
|
log.Info().Msg("Connected successfully to Hub using proxy.")
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := checkProxy(kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Front.SrcPort), "", kubernetesProvider); err != nil {
|
if err := checkProxy(kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Front.Port), "", kubernetesProvider); err != nil {
|
||||||
log.Error().Err(err).Msg("Couldn't connect to Front using proxy!")
|
log.Error().Err(err).Msg("Couldn't connect to Front using proxy!")
|
||||||
} else {
|
} else {
|
||||||
connectedToFront = true
|
connectedToFront = true
|
||||||
|
@ -36,12 +36,12 @@ func init() {
|
|||||||
log.Debug().Err(err).Send()
|
log.Debug().Err(err).Send()
|
||||||
}
|
}
|
||||||
|
|
||||||
consoleCmd.Flags().Uint16(configStructs.ProxyHubPortLabel, defaultTapConfig.Proxy.Hub.SrcPort, "Provide a custom port for the Hub")
|
consoleCmd.Flags().Uint16(configStructs.ProxyHubPortLabel, defaultTapConfig.Proxy.Hub.Port, "Provide a custom port for the Hub")
|
||||||
consoleCmd.Flags().String(configStructs.ProxyHostLabel, defaultTapConfig.Proxy.Host, "Provide a custom host for the Hub")
|
consoleCmd.Flags().String(configStructs.ProxyHostLabel, defaultTapConfig.Proxy.Host, "Provide a custom host for the Hub")
|
||||||
}
|
}
|
||||||
|
|
||||||
func runConsole() {
|
func runConsole() {
|
||||||
hubUrl := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.SrcPort)
|
hubUrl := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.Port)
|
||||||
response, err := http.Get(fmt.Sprintf("%s/echo", hubUrl))
|
response, err := http.Get(fmt.Sprintf("%s/echo", hubUrl))
|
||||||
if err != nil || response.StatusCode != 200 {
|
if err != nil || response.StatusCode != 200 {
|
||||||
log.Info().Msg(fmt.Sprintf(utils.Yellow, "Couldn't connect to Hub. Establishing proxy..."))
|
log.Info().Msg(fmt.Sprintf(utils.Yellow, "Couldn't connect to Hub. Establishing proxy..."))
|
||||||
@ -51,10 +51,10 @@ func runConsole() {
|
|||||||
interrupt := make(chan os.Signal, 1)
|
interrupt := make(chan os.Signal, 1)
|
||||||
signal.Notify(interrupt, os.Interrupt)
|
signal.Notify(interrupt, os.Interrupt)
|
||||||
|
|
||||||
log.Info().Str("host", config.Config.Tap.Proxy.Host).Uint16("port", config.Config.Tap.Proxy.Hub.SrcPort).Msg("Connecting to:")
|
log.Info().Str("host", config.Config.Tap.Proxy.Host).Uint16("port", config.Config.Tap.Proxy.Hub.Port).Msg("Connecting to:")
|
||||||
u := url.URL{
|
u := url.URL{
|
||||||
Scheme: "ws",
|
Scheme: "ws",
|
||||||
Host: fmt.Sprintf("%s:%d", config.Config.Tap.Proxy.Host, config.Config.Tap.Proxy.Hub.SrcPort),
|
Host: fmt.Sprintf("%s:%d", config.Config.Tap.Proxy.Host, config.Config.Tap.Proxy.Hub.Port),
|
||||||
Path: "/scripts/logs",
|
Path: "/scripts/logs",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -174,6 +174,7 @@ var workerDaemonSetMappings = map[string]interface{}{
|
|||||||
"spec.template.spec.containers[0].resources.requests.cpu": "{{ .Values.tap.resources.worker.requests.cpu }}",
|
"spec.template.spec.containers[0].resources.requests.cpu": "{{ .Values.tap.resources.worker.requests.cpu }}",
|
||||||
"spec.template.spec.containers[0].resources.requests.memory": "{{ .Values.tap.resources.worker.requests.memory }}",
|
"spec.template.spec.containers[0].resources.requests.memory": "{{ .Values.tap.resources.worker.requests.memory }}",
|
||||||
"spec.template.spec.containers[0].command[0]": "{{ .Values.tap.debug | ternary \"./worker -debug\" \"./worker\" }}",
|
"spec.template.spec.containers[0].command[0]": "{{ .Values.tap.debug | ternary \"./worker -debug\" \"./worker\" }}",
|
||||||
|
"spec.template.spec.containers[0].command[4]": "{{ .Values.tap.proxy.worker.srvport }}",
|
||||||
"spec.template.spec.containers[0].command[6]": "{{ .Values.tap.packetcapture }}",
|
"spec.template.spec.containers[0].command[6]": "{{ .Values.tap.packetcapture }}",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -146,7 +146,7 @@ func generateManifests() (
|
|||||||
ImagePullPolicy: config.Config.ImagePullPolicy(),
|
ImagePullPolicy: config.Config.ImagePullPolicy(),
|
||||||
ImagePullSecrets: config.Config.ImagePullSecrets(),
|
ImagePullSecrets: config.Config.ImagePullSecrets(),
|
||||||
Debug: config.Config.Tap.Debug,
|
Debug: config.Config.Tap.Debug,
|
||||||
}, config.Config.Tap.Proxy.Host, fmt.Sprintf("%d", config.Config.Tap.Proxy.Hub.SrcPort))
|
}, config.Config.Tap.Proxy.Host, fmt.Sprintf("%d", config.Config.Tap.Proxy.Hub.Port))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -40,19 +40,19 @@ func init() {
|
|||||||
log.Debug().Err(err).Send()
|
log.Debug().Err(err).Send()
|
||||||
}
|
}
|
||||||
|
|
||||||
proCmd.Flags().Uint16(configStructs.ProxyHubPortLabel, defaultTapConfig.Proxy.Hub.SrcPort, "Provide a custom port for the Hub")
|
proCmd.Flags().Uint16(configStructs.ProxyHubPortLabel, defaultTapConfig.Proxy.Hub.Port, "Provide a custom port for the Hub")
|
||||||
proCmd.Flags().String(configStructs.ProxyHostLabel, defaultTapConfig.Proxy.Host, "Provide a custom host for the Hub")
|
proCmd.Flags().String(configStructs.ProxyHostLabel, defaultTapConfig.Proxy.Host, "Provide a custom host for the Hub")
|
||||||
}
|
}
|
||||||
|
|
||||||
func acquireLicense() {
|
func acquireLicense() {
|
||||||
hubUrl := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.SrcPort)
|
hubUrl := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.Port)
|
||||||
response, err := http.Get(fmt.Sprintf("%s/echo", hubUrl))
|
response, err := http.Get(fmt.Sprintf("%s/echo", hubUrl))
|
||||||
if err != nil || response.StatusCode != 200 {
|
if err != nil || response.StatusCode != 200 {
|
||||||
log.Info().Msg(fmt.Sprintf(utils.Yellow, "Couldn't connect to Hub. Establishing proxy..."))
|
log.Info().Msg(fmt.Sprintf(utils.Yellow, "Couldn't connect to Hub. Establishing proxy..."))
|
||||||
runProxy(false, true)
|
runProxy(false, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
connector = connect.NewConnector(kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.SrcPort), connect.DefaultRetries, connect.DefaultTimeout)
|
connector = connect.NewConnector(kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.Port), connect.DefaultRetries, connect.DefaultTimeout)
|
||||||
|
|
||||||
log.Info().Str("url", PRO_URL).Msg("Opening in the browser:")
|
log.Info().Str("url", PRO_URL).Msg("Opening in the browser:")
|
||||||
utils.OpenBrowser(PRO_URL)
|
utils.OpenBrowser(PRO_URL)
|
||||||
|
@ -24,7 +24,7 @@ func init() {
|
|||||||
log.Debug().Err(err).Send()
|
log.Debug().Err(err).Send()
|
||||||
}
|
}
|
||||||
|
|
||||||
proxyCmd.Flags().Uint16(configStructs.ProxyFrontPortLabel, defaultTapConfig.Proxy.Front.SrcPort, "Provide a custom port for the front-end proxy/port-forward")
|
proxyCmd.Flags().Uint16(configStructs.ProxyFrontPortLabel, defaultTapConfig.Proxy.Front.Port, "Provide a custom port for the front-end proxy/port-forward")
|
||||||
proxyCmd.Flags().Uint16(configStructs.ProxyHubPortLabel, defaultTapConfig.Proxy.Hub.SrcPort, "Provide a custom port for the Hub proxy/port-forward")
|
proxyCmd.Flags().Uint16(configStructs.ProxyHubPortLabel, defaultTapConfig.Proxy.Hub.Port, "Provide a custom port for the Hub proxy/port-forward")
|
||||||
proxyCmd.Flags().String(configStructs.ProxyHostLabel, defaultTapConfig.Proxy.Host, "Provide a custom host for the proxy/port-forward")
|
proxyCmd.Flags().String(configStructs.ProxyHostLabel, defaultTapConfig.Proxy.Host, "Provide a custom host for the proxy/port-forward")
|
||||||
}
|
}
|
||||||
|
@ -63,12 +63,12 @@ func runProxy(block bool, noBrowser bool) {
|
|||||||
|
|
||||||
var establishedProxy bool
|
var establishedProxy bool
|
||||||
|
|
||||||
hubUrl := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.SrcPort)
|
hubUrl := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.Port)
|
||||||
response, err := http.Get(fmt.Sprintf("%s/echo", hubUrl))
|
response, err := http.Get(fmt.Sprintf("%s/echo", hubUrl))
|
||||||
if err == nil && response.StatusCode == 200 {
|
if err == nil && response.StatusCode == 200 {
|
||||||
log.Info().
|
log.Info().
|
||||||
Str("service", kubernetes.HubServiceName).
|
Str("service", kubernetes.HubServiceName).
|
||||||
Int("port", int(config.Config.Tap.Proxy.Hub.SrcPort)).
|
Int("port", int(config.Config.Tap.Proxy.Hub.Port)).
|
||||||
Msg("Found a running service.")
|
Msg("Found a running service.")
|
||||||
|
|
||||||
okToOpen("Hub", hubUrl, true)
|
okToOpen("Hub", hubUrl, true)
|
||||||
@ -79,8 +79,8 @@ func runProxy(block bool, noBrowser bool) {
|
|||||||
kubernetes.HubServiceName,
|
kubernetes.HubServiceName,
|
||||||
kubernetes.HubPodName,
|
kubernetes.HubPodName,
|
||||||
configStructs.ProxyHubPortLabel,
|
configStructs.ProxyHubPortLabel,
|
||||||
config.Config.Tap.Proxy.Hub.SrcPort,
|
config.Config.Tap.Proxy.Hub.Port,
|
||||||
config.Config.Tap.Proxy.Hub.DstPort,
|
configStructs.ContainerPort,
|
||||||
"/echo",
|
"/echo",
|
||||||
)
|
)
|
||||||
connector := connect.NewConnector(hubUrl, connect.DefaultRetries, connect.DefaultTimeout)
|
connector := connect.NewConnector(hubUrl, connect.DefaultRetries, connect.DefaultTimeout)
|
||||||
@ -93,12 +93,12 @@ func runProxy(block bool, noBrowser bool) {
|
|||||||
okToOpen("Hub", hubUrl, true)
|
okToOpen("Hub", hubUrl, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
frontUrl := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Front.SrcPort)
|
frontUrl := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Front.Port)
|
||||||
response, err = http.Get(fmt.Sprintf("%s/", frontUrl))
|
response, err = http.Get(fmt.Sprintf("%s/", frontUrl))
|
||||||
if err == nil && response.StatusCode == 200 {
|
if err == nil && response.StatusCode == 200 {
|
||||||
log.Info().
|
log.Info().
|
||||||
Str("service", kubernetes.FrontServiceName).
|
Str("service", kubernetes.FrontServiceName).
|
||||||
Int("port", int(config.Config.Tap.Proxy.Front.SrcPort)).
|
Int("port", int(config.Config.Tap.Proxy.Front.Port)).
|
||||||
Msg("Found a running service.")
|
Msg("Found a running service.")
|
||||||
|
|
||||||
okToOpen("Kubeshark", frontUrl, noBrowser)
|
okToOpen("Kubeshark", frontUrl, noBrowser)
|
||||||
@ -109,8 +109,8 @@ func runProxy(block bool, noBrowser bool) {
|
|||||||
kubernetes.FrontServiceName,
|
kubernetes.FrontServiceName,
|
||||||
kubernetes.FrontPodName,
|
kubernetes.FrontPodName,
|
||||||
configStructs.ProxyFrontPortLabel,
|
configStructs.ProxyFrontPortLabel,
|
||||||
config.Config.Tap.Proxy.Front.SrcPort,
|
config.Config.Tap.Proxy.Front.Port,
|
||||||
config.Config.Tap.Proxy.Front.DstPort,
|
configStructs.ContainerPort,
|
||||||
"",
|
"",
|
||||||
)
|
)
|
||||||
connector := connect.NewConnector(frontUrl, connect.DefaultRetries, connect.DefaultTimeout)
|
connector := connect.NewConnector(frontUrl, connect.DefaultRetries, connect.DefaultTimeout)
|
||||||
|
@ -34,7 +34,7 @@ func init() {
|
|||||||
log.Debug().Err(err).Send()
|
log.Debug().Err(err).Send()
|
||||||
}
|
}
|
||||||
|
|
||||||
scriptsCmd.Flags().Uint16(configStructs.ProxyHubPortLabel, defaultTapConfig.Proxy.Hub.SrcPort, "Provide a custom port for the Hub")
|
scriptsCmd.Flags().Uint16(configStructs.ProxyHubPortLabel, defaultTapConfig.Proxy.Hub.Port, "Provide a custom port for the Hub")
|
||||||
scriptsCmd.Flags().String(configStructs.ProxyHostLabel, defaultTapConfig.Proxy.Host, "Provide a custom host for the Hub")
|
scriptsCmd.Flags().String(configStructs.ProxyHostLabel, defaultTapConfig.Proxy.Host, "Provide a custom host for the Hub")
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -44,14 +44,14 @@ func runScripts() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
hubUrl := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.SrcPort)
|
hubUrl := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.Port)
|
||||||
response, err := http.Get(fmt.Sprintf("%s/echo", hubUrl))
|
response, err := http.Get(fmt.Sprintf("%s/echo", hubUrl))
|
||||||
if err != nil || response.StatusCode != 200 {
|
if err != nil || response.StatusCode != 200 {
|
||||||
log.Info().Msg(fmt.Sprintf(utils.Yellow, "Couldn't connect to Hub. Establishing proxy..."))
|
log.Info().Msg(fmt.Sprintf(utils.Yellow, "Couldn't connect to Hub. Establishing proxy..."))
|
||||||
runProxy(false, true)
|
runProxy(false, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
connector = connect.NewConnector(kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.SrcPort), connect.DefaultRetries, connect.DefaultTimeout)
|
connector = connect.NewConnector(kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.Port), connect.DefaultRetries, connect.DefaultTimeout)
|
||||||
|
|
||||||
watchScripts(true)
|
watchScripts(true)
|
||||||
}
|
}
|
||||||
|
@ -47,8 +47,8 @@ func init() {
|
|||||||
tapCmd.Flags().StringP(configStructs.DockerTagLabel, "t", defaultTapConfig.Docker.Tag, "The tag of the Docker images that are going to be pulled")
|
tapCmd.Flags().StringP(configStructs.DockerTagLabel, "t", defaultTapConfig.Docker.Tag, "The tag of the Docker images that are going to be pulled")
|
||||||
tapCmd.Flags().String(configStructs.DockerImagePullPolicy, defaultTapConfig.Docker.ImagePullPolicy, "ImagePullPolicy for the Docker images")
|
tapCmd.Flags().String(configStructs.DockerImagePullPolicy, defaultTapConfig.Docker.ImagePullPolicy, "ImagePullPolicy for the Docker images")
|
||||||
tapCmd.Flags().StringSlice(configStructs.DockerImagePullSecrets, defaultTapConfig.Docker.ImagePullSecrets, "ImagePullSecrets for the Docker images")
|
tapCmd.Flags().StringSlice(configStructs.DockerImagePullSecrets, defaultTapConfig.Docker.ImagePullSecrets, "ImagePullSecrets for the Docker images")
|
||||||
tapCmd.Flags().Uint16(configStructs.ProxyFrontPortLabel, defaultTapConfig.Proxy.Front.SrcPort, "Provide a custom port for the front-end proxy/port-forward")
|
tapCmd.Flags().Uint16(configStructs.ProxyFrontPortLabel, defaultTapConfig.Proxy.Front.Port, "Provide a custom port for the front-end proxy/port-forward")
|
||||||
tapCmd.Flags().Uint16(configStructs.ProxyHubPortLabel, defaultTapConfig.Proxy.Hub.SrcPort, "Provide a custom port for the Hub proxy/port-forward")
|
tapCmd.Flags().Uint16(configStructs.ProxyHubPortLabel, defaultTapConfig.Proxy.Hub.Port, "Provide a custom port for the Hub proxy/port-forward")
|
||||||
tapCmd.Flags().String(configStructs.ProxyHostLabel, defaultTapConfig.Proxy.Host, "Provide a custom host for the proxy/port-forward")
|
tapCmd.Flags().String(configStructs.ProxyHostLabel, defaultTapConfig.Proxy.Host, "Provide a custom host for the proxy/port-forward")
|
||||||
tapCmd.Flags().StringSliceP(configStructs.NamespacesLabel, "n", defaultTapConfig.Namespaces, "Namespaces selector")
|
tapCmd.Flags().StringSliceP(configStructs.NamespacesLabel, "n", defaultTapConfig.Namespaces, "Namespaces selector")
|
||||||
tapCmd.Flags().StringP(configStructs.SelfNamespaceLabel, "s", defaultTapConfig.SelfNamespace, "Self-namespace of Kubeshark")
|
tapCmd.Flags().StringP(configStructs.SelfNamespaceLabel, "s", defaultTapConfig.SelfNamespace, "Self-namespace of Kubeshark")
|
||||||
|
@ -13,6 +13,7 @@ import (
|
|||||||
"github.com/docker/docker/client"
|
"github.com/docker/docker/client"
|
||||||
"github.com/docker/go-connections/nat"
|
"github.com/docker/go-connections/nat"
|
||||||
"github.com/kubeshark/kubeshark/config"
|
"github.com/kubeshark/kubeshark/config"
|
||||||
|
"github.com/kubeshark/kubeshark/config/configStructs"
|
||||||
"github.com/kubeshark/kubeshark/docker"
|
"github.com/kubeshark/kubeshark/docker"
|
||||||
"github.com/kubeshark/kubeshark/internal/connect"
|
"github.com/kubeshark/kubeshark/internal/connect"
|
||||||
"github.com/kubeshark/kubeshark/kubernetes"
|
"github.com/kubeshark/kubeshark/kubernetes"
|
||||||
@ -141,10 +142,10 @@ func createAndStartContainers(
|
|||||||
|
|
||||||
hostConfigFront := &container.HostConfig{
|
hostConfigFront := &container.HostConfig{
|
||||||
PortBindings: nat.PortMap{
|
PortBindings: nat.PortMap{
|
||||||
nat.Port(fmt.Sprintf("%d/tcp", config.Config.Tap.Proxy.Front.DstPort)): []nat.PortBinding{
|
nat.Port(fmt.Sprintf("%d/tcp", configStructs.ContainerPort)): []nat.PortBinding{
|
||||||
{
|
{
|
||||||
HostIP: hostIP,
|
HostIP: hostIP,
|
||||||
HostPort: fmt.Sprintf("%d", config.Config.Tap.Proxy.Front.SrcPort),
|
HostPort: fmt.Sprintf("%d", config.Config.Tap.Proxy.Front.Port),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -156,7 +157,7 @@ func createAndStartContainers(
|
|||||||
Env: []string{
|
Env: []string{
|
||||||
"REACT_APP_DEFAULT_FILTER= ",
|
"REACT_APP_DEFAULT_FILTER= ",
|
||||||
"REACT_APP_HUB_HOST= ",
|
"REACT_APP_HUB_HOST= ",
|
||||||
fmt.Sprintf("REACT_APP_HUB_PORT=%d", config.Config.Tap.Proxy.Hub.SrcPort),
|
fmt.Sprintf("REACT_APP_HUB_PORT=%d", config.Config.Tap.Proxy.Hub.Port),
|
||||||
},
|
},
|
||||||
}, hostConfigFront, nil, nil, nameFront)
|
}, hostConfigFront, nil, nil, nameFront)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -165,16 +166,16 @@ func createAndStartContainers(
|
|||||||
|
|
||||||
hostConfigHub := &container.HostConfig{
|
hostConfigHub := &container.HostConfig{
|
||||||
PortBindings: nat.PortMap{
|
PortBindings: nat.PortMap{
|
||||||
nat.Port(fmt.Sprintf("%d/tcp", config.Config.Tap.Proxy.Hub.DstPort)): []nat.PortBinding{
|
nat.Port(fmt.Sprintf("%d/tcp", config.Config.Tap.Proxy.Hub.SrvPort)): []nat.PortBinding{
|
||||||
{
|
{
|
||||||
HostIP: hostIP,
|
HostIP: hostIP,
|
||||||
HostPort: fmt.Sprintf("%d", config.Config.Tap.Proxy.Hub.SrcPort),
|
HostPort: fmt.Sprintf("%d", config.Config.Tap.Proxy.Hub.Port),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
cmdHub := []string{"-port", fmt.Sprintf("%d", config.Config.Tap.Proxy.Hub.DstPort)}
|
cmdHub := []string{"-port", fmt.Sprintf("%d", config.Config.Tap.Proxy.Hub.SrvPort)}
|
||||||
if config.DebugMode {
|
if config.DebugMode {
|
||||||
cmdHub = append(cmdHub, fmt.Sprintf("-%s", config.DebugFlag))
|
cmdHub = append(cmdHub, fmt.Sprintf("-%s", config.DebugFlag))
|
||||||
}
|
}
|
||||||
@ -183,13 +184,13 @@ func createAndStartContainers(
|
|||||||
Image: imageHub,
|
Image: imageHub,
|
||||||
Cmd: cmdHub,
|
Cmd: cmdHub,
|
||||||
Tty: false,
|
Tty: false,
|
||||||
ExposedPorts: nat.PortSet{nat.Port(fmt.Sprintf("%d/tcp", config.Config.Tap.Proxy.Hub.DstPort)): {}},
|
ExposedPorts: nat.PortSet{nat.Port(fmt.Sprintf("%d/tcp", config.Config.Tap.Proxy.Hub.SrvPort)): {}},
|
||||||
}, hostConfigHub, nil, nil, nameHub)
|
}, hostConfigHub, nil, nil, nameHub)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
cmdWorker := []string{"-f", "./import", "-port", fmt.Sprintf("%d", config.Config.Tap.Proxy.Worker.DstPort)}
|
cmdWorker := []string{"-f", "./import", "-port", fmt.Sprintf("%d", config.Config.Tap.Proxy.Worker.SrvPort)}
|
||||||
if config.DebugMode {
|
if config.DebugMode {
|
||||||
cmdWorker = append(cmdWorker, fmt.Sprintf("-%s", config.DebugFlag))
|
cmdWorker = append(cmdWorker, fmt.Sprintf("-%s", config.DebugFlag))
|
||||||
}
|
}
|
||||||
@ -328,7 +329,7 @@ func pcap(tarPath string) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
connector = connect.NewConnector(kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.SrcPort), connect.DefaultRetries, connect.DefaultTimeout)
|
connector = connect.NewConnector(kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.Port), connect.DefaultRetries, connect.DefaultTimeout)
|
||||||
connector.PostWorkerPodToHub(workerPod)
|
connector.PostWorkerPodToHub(workerPod)
|
||||||
|
|
||||||
// License
|
// License
|
||||||
@ -337,10 +338,10 @@ func pcap(tarPath string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
log.Info().
|
log.Info().
|
||||||
Str("url", kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.SrcPort)).
|
Str("url", kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.Port)).
|
||||||
Msg(fmt.Sprintf(utils.Green, "Hub is available at:"))
|
Msg(fmt.Sprintf(utils.Green, "Hub is available at:"))
|
||||||
|
|
||||||
url := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Front.SrcPort)
|
url := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Front.Port)
|
||||||
log.Info().Str("url", url).Msg(fmt.Sprintf(utils.Green, fmt.Sprintf("%s is available at:", misc.Software)))
|
log.Info().Str("url", url).Msg(fmt.Sprintf(utils.Green, fmt.Sprintf("%s is available at:", misc.Software)))
|
||||||
|
|
||||||
if !config.Config.HeadlessMode {
|
if !config.Config.HeadlessMode {
|
||||||
|
@ -60,7 +60,7 @@ func tap() {
|
|||||||
Str("limit", config.Config.Tap.StorageLimit).
|
Str("limit", config.Config.Tap.StorageLimit).
|
||||||
Msg(fmt.Sprintf("%s will store the traffic up to a limit (per node). Oldest TCP/UDP streams will be removed once the limit is reached.", misc.Software))
|
Msg(fmt.Sprintf("%s will store the traffic up to a limit (per node). Oldest TCP/UDP streams will be removed once the limit is reached.", misc.Software))
|
||||||
|
|
||||||
connector = connect.NewConnector(kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.SrcPort), connect.DefaultRetries, connect.DefaultTimeout)
|
connector = connect.NewConnector(kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.Port), connect.DefaultRetries, connect.DefaultTimeout)
|
||||||
|
|
||||||
kubernetesProvider, err := getKubernetesProviderForCli(false, false)
|
kubernetesProvider, err := getKubernetesProviderForCli(false, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -409,8 +409,8 @@ func postHubStarted(ctx context.Context, kubernetesProvider *kubernetes.Provider
|
|||||||
kubernetes.HubServiceName,
|
kubernetes.HubServiceName,
|
||||||
kubernetes.HubPodName,
|
kubernetes.HubPodName,
|
||||||
configStructs.ProxyHubPortLabel,
|
configStructs.ProxyHubPortLabel,
|
||||||
config.Config.Tap.Proxy.Hub.SrcPort,
|
config.Config.Tap.Proxy.Hub.Port,
|
||||||
config.Config.Tap.Proxy.Hub.DstPort,
|
configStructs.ContainerPort,
|
||||||
"/echo",
|
"/echo",
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -460,7 +460,7 @@ func postHubStarted(ctx context.Context, kubernetesProvider *kubernetes.Provider
|
|||||||
|
|
||||||
if !update {
|
if !update {
|
||||||
// Hub proxy URL
|
// Hub proxy URL
|
||||||
url := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.SrcPort)
|
url := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.Port)
|
||||||
log.Info().Str("url", url).Msg(fmt.Sprintf(utils.Green, "Hub is available at:"))
|
log.Info().Str("url", url).Msg(fmt.Sprintf(utils.Green, "Hub is available at:"))
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -476,12 +476,12 @@ func postFrontStarted(ctx context.Context, kubernetesProvider *kubernetes.Provid
|
|||||||
kubernetes.FrontServiceName,
|
kubernetes.FrontServiceName,
|
||||||
kubernetes.FrontPodName,
|
kubernetes.FrontPodName,
|
||||||
configStructs.ProxyFrontPortLabel,
|
configStructs.ProxyFrontPortLabel,
|
||||||
config.Config.Tap.Proxy.Front.SrcPort,
|
config.Config.Tap.Proxy.Front.Port,
|
||||||
config.Config.Tap.Proxy.Front.DstPort,
|
configStructs.ContainerPort,
|
||||||
"",
|
"",
|
||||||
)
|
)
|
||||||
|
|
||||||
url := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Front.SrcPort)
|
url := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Front.Port)
|
||||||
log.Info().Str("url", url).Msg(fmt.Sprintf(utils.Green, fmt.Sprintf("%s is available at:", misc.Software)))
|
log.Info().Str("url", url).Msg(fmt.Sprintf(utils.Green, fmt.Sprintf("%s is available at:", misc.Software)))
|
||||||
|
|
||||||
if !config.Config.HeadlessMode {
|
if !config.Config.HeadlessMode {
|
||||||
|
@ -26,6 +26,8 @@ const (
|
|||||||
TlsLabel = "tls"
|
TlsLabel = "tls"
|
||||||
IgnoreTaintedLabel = "ignoreTainted"
|
IgnoreTaintedLabel = "ignoreTainted"
|
||||||
DebugLabel = "debug"
|
DebugLabel = "debug"
|
||||||
|
ContainerPort = 80
|
||||||
|
ContainerPortStr = "80"
|
||||||
)
|
)
|
||||||
|
|
||||||
type ResourceLimits struct {
|
type ResourceLimits struct {
|
||||||
@ -44,18 +46,17 @@ type ResourceRequirements struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type WorkerConfig struct {
|
type WorkerConfig struct {
|
||||||
SrcPort uint16 `yaml:"port" default:"8897"`
|
SrvPort uint16 `yaml:"srvport" default:"8897"`
|
||||||
DstPort uint16 `yaml:"srvport" default:"8897"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type HubConfig struct {
|
type HubConfig struct {
|
||||||
SrcPort uint16 `yaml:"port" default:"8898"`
|
Port uint16 `yaml:"port" default:"8898"`
|
||||||
DstPort uint16 `yaml:"srvport" default:"80"`
|
SrvPort uint16 `yaml:"srvport" default:"8898"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type FrontConfig struct {
|
type FrontConfig struct {
|
||||||
SrcPort uint16 `yaml:"port" default:"8899"`
|
Port uint16 `yaml:"port" default:"8899"`
|
||||||
DstPort uint16 `yaml:"srvport" default:"80"`
|
SrvPort uint16 `yaml:"srvport" default:"8899"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ProxyConfig struct {
|
type ProxyConfig struct {
|
||||||
|
@ -28,6 +28,9 @@ spec:
|
|||||||
image: '{{ .Values.tap.docker.registry }}/hub:{{ .Values.tap.docker.tag }}'
|
image: '{{ .Values.tap.docker.registry }}/hub:{{ .Values.tap.docker.tag }}'
|
||||||
imagePullPolicy: '{{ .Values.tap.docker.imagepullpolicy }}'
|
imagePullPolicy: '{{ .Values.tap.docker.imagepullpolicy }}'
|
||||||
name: kubeshark-hub
|
name: kubeshark-hub
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
hostPort: 8898
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: '{{ .Values.tap.resources.hub.limits.cpu }}'
|
cpu: '{{ .Values.tap.resources.hub.limits.cpu }}'
|
||||||
|
@ -22,6 +22,9 @@ spec:
|
|||||||
image: '{{ .Values.tap.docker.registry }}/front:{{ .Values.tap.docker.tag }}'
|
image: '{{ .Values.tap.docker.registry }}/front:{{ .Values.tap.docker.tag }}'
|
||||||
imagePullPolicy: '{{ .Values.tap.docker.imagepullpolicy }}'
|
imagePullPolicy: '{{ .Values.tap.docker.imagepullpolicy }}'
|
||||||
name: kubeshark-front
|
name: kubeshark-front
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
hostPort: 8899
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
periodSeconds: 1
|
periodSeconds: 1
|
||||||
|
@ -32,7 +32,7 @@ spec:
|
|||||||
- -i
|
- -i
|
||||||
- any
|
- any
|
||||||
- -port
|
- -port
|
||||||
- "8897"
|
- '{{ .Values.tap.proxy.worker.srvport }}'
|
||||||
- -packet-capture
|
- -packet-capture
|
||||||
- '{{ .Values.tap.packetcapture }}'
|
- '{{ .Values.tap.packetcapture }}'
|
||||||
- -servicemesh
|
- -servicemesh
|
||||||
@ -42,6 +42,9 @@ spec:
|
|||||||
image: '{{ .Values.tap.docker.registry }}/worker:{{ .Values.tap.docker.tag }}'
|
image: '{{ .Values.tap.docker.registry }}/worker:{{ .Values.tap.docker.tag }}'
|
||||||
imagePullPolicy: '{{ .Values.tap.docker.imagepullpolicy }}'
|
imagePullPolicy: '{{ .Values.tap.docker.imagepullpolicy }}'
|
||||||
name: kubeshark-worker-daemon-set
|
name: kubeshark-worker-daemon-set
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
hostPort: 8897
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: '{{ .Values.tap.resources.worker.limits.cpu }}'
|
cpu: '{{ .Values.tap.resources.worker.limits.cpu }}'
|
||||||
|
@ -6,14 +6,13 @@ tap:
|
|||||||
imagepullsecrets: []
|
imagepullsecrets: []
|
||||||
proxy:
|
proxy:
|
||||||
worker:
|
worker:
|
||||||
port: 8897
|
|
||||||
srvport: 8897
|
srvport: 8897
|
||||||
hub:
|
hub:
|
||||||
port: 8898
|
port: 8898
|
||||||
srvport: 80
|
srvport: 8898
|
||||||
front:
|
front:
|
||||||
port: 8899
|
port: 8899
|
||||||
srvport: 80
|
srvport: 8899
|
||||||
host: 127.0.0.1
|
host: 127.0.0.1
|
||||||
regex: .*
|
regex: .*
|
||||||
namespaces: []
|
namespaces: []
|
||||||
|
@ -227,6 +227,10 @@ func (provider *Provider) BuildHubPod(opts *PodOptions) (*core.Pod, error) {
|
|||||||
{
|
{
|
||||||
Name: opts.PodName,
|
Name: opts.PodName,
|
||||||
Image: opts.PodImage,
|
Image: opts.PodImage,
|
||||||
|
Ports: []core.ContainerPort{{
|
||||||
|
HostPort: int32(config.Config.Tap.Proxy.Hub.SrvPort),
|
||||||
|
ContainerPort: configStructs.ContainerPort,
|
||||||
|
}},
|
||||||
ImagePullPolicy: opts.ImagePullPolicy,
|
ImagePullPolicy: opts.ImagePullPolicy,
|
||||||
Command: command,
|
Command: command,
|
||||||
Resources: core.ResourceRequirements{
|
Resources: core.ResourceRequirements{
|
||||||
@ -324,13 +328,17 @@ func (provider *Provider) BuildFrontPod(opts *PodOptions, hubHost string, hubPor
|
|||||||
{
|
{
|
||||||
Name: opts.PodName,
|
Name: opts.PodName,
|
||||||
Image: docker.GetFrontImage(),
|
Image: docker.GetFrontImage(),
|
||||||
|
Ports: []core.ContainerPort{{
|
||||||
|
HostPort: int32(config.Config.Tap.Proxy.Front.SrvPort),
|
||||||
|
ContainerPort: configStructs.ContainerPort,
|
||||||
|
}},
|
||||||
ImagePullPolicy: opts.ImagePullPolicy,
|
ImagePullPolicy: opts.ImagePullPolicy,
|
||||||
VolumeMounts: volumeMounts,
|
VolumeMounts: volumeMounts,
|
||||||
ReadinessProbe: &core.Probe{
|
ReadinessProbe: &core.Probe{
|
||||||
FailureThreshold: 3,
|
FailureThreshold: 3,
|
||||||
ProbeHandler: core.ProbeHandler{
|
ProbeHandler: core.ProbeHandler{
|
||||||
TCPSocket: &core.TCPSocketAction{
|
TCPSocket: &core.TCPSocketAction{
|
||||||
Port: intstr.Parse("80"),
|
Port: intstr.Parse(configStructs.ContainerPortStr),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PeriodSeconds: 1,
|
PeriodSeconds: 1,
|
||||||
@ -419,8 +427,8 @@ func (provider *Provider) BuildHubService(namespace string) *core.Service {
|
|||||||
Ports: []core.ServicePort{
|
Ports: []core.ServicePort{
|
||||||
{
|
{
|
||||||
Name: HubServiceName,
|
Name: HubServiceName,
|
||||||
TargetPort: intstr.FromInt(80),
|
TargetPort: intstr.FromInt(configStructs.ContainerPort),
|
||||||
Port: 80,
|
Port: configStructs.ContainerPort,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Type: core.ServiceTypeClusterIP,
|
Type: core.ServiceTypeClusterIP,
|
||||||
@ -444,8 +452,8 @@ func (provider *Provider) BuildFrontService(namespace string) *core.Service {
|
|||||||
Ports: []core.ServicePort{
|
Ports: []core.ServicePort{
|
||||||
{
|
{
|
||||||
Name: FrontServiceName,
|
Name: FrontServiceName,
|
||||||
TargetPort: intstr.FromInt(80),
|
TargetPort: intstr.FromInt(configStructs.ContainerPort),
|
||||||
Port: 80,
|
Port: configStructs.ContainerPort,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Type: core.ServiceTypeClusterIP,
|
Type: core.ServiceTypeClusterIP,
|
||||||
@ -758,7 +766,7 @@ func (provider *Provider) BuildWorkerDaemonSet(
|
|||||||
"-i",
|
"-i",
|
||||||
"any",
|
"any",
|
||||||
"-port",
|
"-port",
|
||||||
"8897",
|
fmt.Sprintf("%d", config.Config.Tap.Proxy.Worker.SrvPort),
|
||||||
"-packet-capture",
|
"-packet-capture",
|
||||||
config.Config.Tap.PacketCapture,
|
config.Config.Tap.PacketCapture,
|
||||||
}
|
}
|
||||||
@ -869,6 +877,10 @@ func (provider *Provider) BuildWorkerDaemonSet(
|
|||||||
{
|
{
|
||||||
Name: podName,
|
Name: podName,
|
||||||
Image: podImage,
|
Image: podImage,
|
||||||
|
Ports: []core.ContainerPort{{
|
||||||
|
HostPort: int32(config.Config.Tap.Proxy.Worker.SrvPort),
|
||||||
|
ContainerPort: configStructs.ContainerPort,
|
||||||
|
}},
|
||||||
ImagePullPolicy: imagePullPolicy,
|
ImagePullPolicy: imagePullPolicy,
|
||||||
VolumeMounts: volumeMounts,
|
VolumeMounts: volumeMounts,
|
||||||
Command: command,
|
Command: command,
|
||||||
|
@ -26,6 +26,9 @@ spec:
|
|||||||
image: docker.io/kubeshark/hub:latest
|
image: docker.io/kubeshark/hub:latest
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
name: kubeshark-hub
|
name: kubeshark-hub
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
hostPort: 8898
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: 750m
|
cpu: 750m
|
||||||
|
@ -22,6 +22,9 @@ spec:
|
|||||||
image: docker.io/kubeshark/front:latest
|
image: docker.io/kubeshark/front:latest
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
name: kubeshark-front
|
name: kubeshark-front
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
hostPort: 8899
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
periodSeconds: 1
|
periodSeconds: 1
|
||||||
|
@ -42,6 +42,9 @@ spec:
|
|||||||
image: docker.io/kubeshark/worker:latest
|
image: docker.io/kubeshark/worker:latest
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
name: kubeshark-worker-daemon-set
|
name: kubeshark-worker-daemon-set
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
hostPort: 8897
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: 750m
|
cpu: 750m
|
||||||
|
@ -94,7 +94,7 @@ func createSelfHubPod(ctx context.Context, kubernetesProvider *kubernetes.Provid
|
|||||||
}
|
}
|
||||||
|
|
||||||
func createFrontPod(ctx context.Context, kubernetesProvider *kubernetes.Provider, opts *kubernetes.PodOptions) error {
|
func createFrontPod(ctx context.Context, kubernetesProvider *kubernetes.Provider, opts *kubernetes.PodOptions) error {
|
||||||
pod, err := kubernetesProvider.BuildFrontPod(opts, config.Config.Tap.Proxy.Host, fmt.Sprintf("%d", config.Config.Tap.Proxy.Hub.SrcPort))
|
pod, err := kubernetesProvider.BuildFrontPod(opts, config.Config.Tap.Proxy.Host, fmt.Sprintf("%d", config.Config.Tap.Proxy.Hub.Port))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user