🐛 Fix the effect of proxy config port changes

This commit is contained in:
M. Mert Yildiran 2023-05-10 01:28:43 +03:00
parent 1d7d242e6c
commit f68fed0de8
No known key found for this signature in database
GPG Key ID: DA5D6DCBB758A461
21 changed files with 98 additions and 66 deletions

View File

@ -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

View File

@ -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",
} }

View File

@ -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 }}",
} }

View File

@ -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
} }

View File

@ -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)

View File

@ -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")
} }

View File

@ -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)

View File

@ -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)
} }

View File

@ -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")

View File

@ -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 {

View File

@ -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 {

View File

@ -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 {

View File

@ -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 }}'

View File

@ -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

View File

@ -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 }}'

View File

@ -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: []

View File

@ -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,

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
} }