diff --git a/cmd/check/serverConnection.go b/cmd/check/serverConnection.go index 4c61043cd..6c640a3c0 100644 --- a/cmd/check/serverConnection.go +++ b/cmd/check/serverConnection.go @@ -12,14 +12,14 @@ func ServerConnection(kubernetesProvider *kubernetes.Provider) 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!") } else { connectedToHub = true 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!") } else { connectedToFront = true diff --git a/cmd/console.go b/cmd/console.go index 42dc6359a..592f1bc6a 100644 --- a/cmd/console.go +++ b/cmd/console.go @@ -36,12 +36,12 @@ func init() { 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") } 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)) if err != nil || response.StatusCode != 200 { 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) 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{ 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", } diff --git a/cmd/helmChart.go b/cmd/helmChart.go index a8603da01..88390f0b4 100644 --- a/cmd/helmChart.go +++ b/cmd/helmChart.go @@ -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.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[4]": "{{ .Values.tap.proxy.worker.srvport }}", "spec.template.spec.containers[0].command[6]": "{{ .Values.tap.packetcapture }}", } diff --git a/cmd/manifests.go b/cmd/manifests.go index 51f882ee7..6f539f0d3 100644 --- a/cmd/manifests.go +++ b/cmd/manifests.go @@ -146,7 +146,7 @@ func generateManifests() ( ImagePullPolicy: config.Config.ImagePullPolicy(), ImagePullSecrets: config.Config.ImagePullSecrets(), 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 { return } diff --git a/cmd/pro.go b/cmd/pro.go index 38d5c1bd6..efa32df8c 100644 --- a/cmd/pro.go +++ b/cmd/pro.go @@ -40,19 +40,19 @@ func init() { 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") } 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)) if err != nil || response.StatusCode != 200 { log.Info().Msg(fmt.Sprintf(utils.Yellow, "Couldn't connect to Hub. Establishing proxy...")) 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:") utils.OpenBrowser(PRO_URL) diff --git a/cmd/proxy.go b/cmd/proxy.go index fbfa75479..7fa8a97b8 100644 --- a/cmd/proxy.go +++ b/cmd/proxy.go @@ -24,7 +24,7 @@ func init() { 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.ProxyHubPortLabel, defaultTapConfig.Proxy.Hub.SrcPort, "Provide a custom port for the Hub 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.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") } diff --git a/cmd/proxyRunner.go b/cmd/proxyRunner.go index 4ec473426..351a36269 100644 --- a/cmd/proxyRunner.go +++ b/cmd/proxyRunner.go @@ -63,12 +63,12 @@ func runProxy(block bool, noBrowser 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)) if err == nil && response.StatusCode == 200 { log.Info(). 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.") okToOpen("Hub", hubUrl, true) @@ -79,8 +79,8 @@ func runProxy(block bool, noBrowser bool) { kubernetes.HubServiceName, kubernetes.HubPodName, configStructs.ProxyHubPortLabel, - config.Config.Tap.Proxy.Hub.SrcPort, - config.Config.Tap.Proxy.Hub.DstPort, + config.Config.Tap.Proxy.Hub.Port, + configStructs.ContainerPort, "/echo", ) connector := connect.NewConnector(hubUrl, connect.DefaultRetries, connect.DefaultTimeout) @@ -93,12 +93,12 @@ func runProxy(block bool, noBrowser bool) { 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)) if err == nil && response.StatusCode == 200 { log.Info(). 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.") okToOpen("Kubeshark", frontUrl, noBrowser) @@ -109,8 +109,8 @@ func runProxy(block bool, noBrowser bool) { kubernetes.FrontServiceName, kubernetes.FrontPodName, configStructs.ProxyFrontPortLabel, - config.Config.Tap.Proxy.Front.SrcPort, - config.Config.Tap.Proxy.Front.DstPort, + config.Config.Tap.Proxy.Front.Port, + configStructs.ContainerPort, "", ) connector := connect.NewConnector(frontUrl, connect.DefaultRetries, connect.DefaultTimeout) diff --git a/cmd/scripts.go b/cmd/scripts.go index 29d30632a..866adfb48 100644 --- a/cmd/scripts.go +++ b/cmd/scripts.go @@ -34,7 +34,7 @@ func init() { 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") } @@ -44,14 +44,14 @@ func runScripts() { 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)) if err != nil || response.StatusCode != 200 { log.Info().Msg(fmt.Sprintf(utils.Yellow, "Couldn't connect to Hub. Establishing proxy...")) 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) } diff --git a/cmd/tap.go b/cmd/tap.go index 8ac0695cf..e4b4018dc 100644 --- a/cmd/tap.go +++ b/cmd/tap.go @@ -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().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().Uint16(configStructs.ProxyFrontPortLabel, defaultTapConfig.Proxy.Front.SrcPort, "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.ProxyFrontPortLabel, defaultTapConfig.Proxy.Front.Port, "Provide a custom port for the front-end 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().StringSliceP(configStructs.NamespacesLabel, "n", defaultTapConfig.Namespaces, "Namespaces selector") tapCmd.Flags().StringP(configStructs.SelfNamespaceLabel, "s", defaultTapConfig.SelfNamespace, "Self-namespace of Kubeshark") diff --git a/cmd/tapPcapRunner.go b/cmd/tapPcapRunner.go index c89ff7667..1d3e9ac41 100644 --- a/cmd/tapPcapRunner.go +++ b/cmd/tapPcapRunner.go @@ -13,6 +13,7 @@ import ( "github.com/docker/docker/client" "github.com/docker/go-connections/nat" "github.com/kubeshark/kubeshark/config" + "github.com/kubeshark/kubeshark/config/configStructs" "github.com/kubeshark/kubeshark/docker" "github.com/kubeshark/kubeshark/internal/connect" "github.com/kubeshark/kubeshark/kubernetes" @@ -141,10 +142,10 @@ func createAndStartContainers( hostConfigFront := &container.HostConfig{ 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, - 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{ "REACT_APP_DEFAULT_FILTER= ", "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) if err != nil { @@ -165,16 +166,16 @@ func createAndStartContainers( hostConfigHub := &container.HostConfig{ 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, - 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 { cmdHub = append(cmdHub, fmt.Sprintf("-%s", config.DebugFlag)) } @@ -183,13 +184,13 @@ func createAndStartContainers( Image: imageHub, Cmd: cmdHub, 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) if err != nil { 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 { 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) // License @@ -337,10 +338,10 @@ func pcap(tarPath string) { } 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:")) - 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))) if !config.Config.HeadlessMode { diff --git a/cmd/tapRunner.go b/cmd/tapRunner.go index 0455b0324..87af89bae 100644 --- a/cmd/tapRunner.go +++ b/cmd/tapRunner.go @@ -60,7 +60,7 @@ func tap() { 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)) - 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) if err != nil { @@ -409,8 +409,8 @@ func postHubStarted(ctx context.Context, kubernetesProvider *kubernetes.Provider kubernetes.HubServiceName, kubernetes.HubPodName, configStructs.ProxyHubPortLabel, - config.Config.Tap.Proxy.Hub.SrcPort, - config.Config.Tap.Proxy.Hub.DstPort, + config.Config.Tap.Proxy.Hub.Port, + configStructs.ContainerPort, "/echo", ) @@ -460,7 +460,7 @@ func postHubStarted(ctx context.Context, kubernetesProvider *kubernetes.Provider if !update { // 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:")) } @@ -476,12 +476,12 @@ func postFrontStarted(ctx context.Context, kubernetesProvider *kubernetes.Provid kubernetes.FrontServiceName, kubernetes.FrontPodName, configStructs.ProxyFrontPortLabel, - config.Config.Tap.Proxy.Front.SrcPort, - config.Config.Tap.Proxy.Front.DstPort, + config.Config.Tap.Proxy.Front.Port, + 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))) if !config.Config.HeadlessMode { diff --git a/config/configStructs/tapConfig.go b/config/configStructs/tapConfig.go index 4bd9c1c7a..18593b8e7 100644 --- a/config/configStructs/tapConfig.go +++ b/config/configStructs/tapConfig.go @@ -26,6 +26,8 @@ const ( TlsLabel = "tls" IgnoreTaintedLabel = "ignoreTainted" DebugLabel = "debug" + ContainerPort = 80 + ContainerPortStr = "80" ) type ResourceLimits struct { @@ -44,18 +46,17 @@ type ResourceRequirements struct { } type WorkerConfig struct { - SrcPort uint16 `yaml:"port" default:"8897"` - DstPort uint16 `yaml:"srvport" default:"8897"` + SrvPort uint16 `yaml:"srvport" default:"8897"` } type HubConfig struct { - SrcPort uint16 `yaml:"port" default:"8898"` - DstPort uint16 `yaml:"srvport" default:"80"` + Port uint16 `yaml:"port" default:"8898"` + SrvPort uint16 `yaml:"srvport" default:"8898"` } type FrontConfig struct { - SrcPort uint16 `yaml:"port" default:"8899"` - DstPort uint16 `yaml:"srvport" default:"80"` + Port uint16 `yaml:"port" default:"8899"` + SrvPort uint16 `yaml:"srvport" default:"8899"` } type ProxyConfig struct { diff --git a/helm-chart/templates/04-hub-pod.yaml b/helm-chart/templates/04-hub-pod.yaml index 2eb21e839..50dd8e0f8 100644 --- a/helm-chart/templates/04-hub-pod.yaml +++ b/helm-chart/templates/04-hub-pod.yaml @@ -28,6 +28,9 @@ spec: image: '{{ .Values.tap.docker.registry }}/hub:{{ .Values.tap.docker.tag }}' imagePullPolicy: '{{ .Values.tap.docker.imagepullpolicy }}' name: kubeshark-hub + ports: + - containerPort: 80 + hostPort: 8898 resources: limits: cpu: '{{ .Values.tap.resources.hub.limits.cpu }}' diff --git a/helm-chart/templates/06-front-pod.yaml b/helm-chart/templates/06-front-pod.yaml index d1edfa985..75784242d 100644 --- a/helm-chart/templates/06-front-pod.yaml +++ b/helm-chart/templates/06-front-pod.yaml @@ -22,6 +22,9 @@ spec: image: '{{ .Values.tap.docker.registry }}/front:{{ .Values.tap.docker.tag }}' imagePullPolicy: '{{ .Values.tap.docker.imagepullpolicy }}' name: kubeshark-front + ports: + - containerPort: 80 + hostPort: 8899 readinessProbe: failureThreshold: 3 periodSeconds: 1 diff --git a/helm-chart/templates/09-worker-daemon-set.yaml b/helm-chart/templates/09-worker-daemon-set.yaml index 47853f6f6..46f3ae1a8 100644 --- a/helm-chart/templates/09-worker-daemon-set.yaml +++ b/helm-chart/templates/09-worker-daemon-set.yaml @@ -32,7 +32,7 @@ spec: - -i - any - -port - - "8897" + - '{{ .Values.tap.proxy.worker.srvport }}' - -packet-capture - '{{ .Values.tap.packetcapture }}' - -servicemesh @@ -42,6 +42,9 @@ spec: image: '{{ .Values.tap.docker.registry }}/worker:{{ .Values.tap.docker.tag }}' imagePullPolicy: '{{ .Values.tap.docker.imagepullpolicy }}' name: kubeshark-worker-daemon-set + ports: + - containerPort: 80 + hostPort: 8897 resources: limits: cpu: '{{ .Values.tap.resources.worker.limits.cpu }}' diff --git a/helm-chart/values.yaml b/helm-chart/values.yaml index f348eab4c..8b0c0319c 100644 --- a/helm-chart/values.yaml +++ b/helm-chart/values.yaml @@ -6,14 +6,13 @@ tap: imagepullsecrets: [] proxy: worker: - port: 8897 srvport: 8897 hub: port: 8898 - srvport: 80 + srvport: 8898 front: port: 8899 - srvport: 80 + srvport: 8899 host: 127.0.0.1 regex: .* namespaces: [] diff --git a/kubernetes/provider.go b/kubernetes/provider.go index 2b93d481d..adbcf825f 100644 --- a/kubernetes/provider.go +++ b/kubernetes/provider.go @@ -225,8 +225,12 @@ func (provider *Provider) BuildHubPod(opts *PodOptions) (*core.Pod, error) { containers := []core.Container{ { - Name: opts.PodName, - Image: opts.PodImage, + Name: opts.PodName, + Image: opts.PodImage, + Ports: []core.ContainerPort{{ + HostPort: int32(config.Config.Tap.Proxy.Hub.SrvPort), + ContainerPort: configStructs.ContainerPort, + }}, ImagePullPolicy: opts.ImagePullPolicy, Command: command, Resources: core.ResourceRequirements{ @@ -322,15 +326,19 @@ func (provider *Provider) BuildFrontPod(opts *PodOptions, hubHost string, hubPor containers := []core.Container{ { - Name: opts.PodName, - Image: docker.GetFrontImage(), + Name: opts.PodName, + Image: docker.GetFrontImage(), + Ports: []core.ContainerPort{{ + HostPort: int32(config.Config.Tap.Proxy.Front.SrvPort), + ContainerPort: configStructs.ContainerPort, + }}, ImagePullPolicy: opts.ImagePullPolicy, VolumeMounts: volumeMounts, ReadinessProbe: &core.Probe{ FailureThreshold: 3, ProbeHandler: core.ProbeHandler{ TCPSocket: &core.TCPSocketAction{ - Port: intstr.Parse("80"), + Port: intstr.Parse(configStructs.ContainerPortStr), }, }, PeriodSeconds: 1, @@ -419,8 +427,8 @@ func (provider *Provider) BuildHubService(namespace string) *core.Service { Ports: []core.ServicePort{ { Name: HubServiceName, - TargetPort: intstr.FromInt(80), - Port: 80, + TargetPort: intstr.FromInt(configStructs.ContainerPort), + Port: configStructs.ContainerPort, }, }, Type: core.ServiceTypeClusterIP, @@ -444,8 +452,8 @@ func (provider *Provider) BuildFrontService(namespace string) *core.Service { Ports: []core.ServicePort{ { Name: FrontServiceName, - TargetPort: intstr.FromInt(80), - Port: 80, + TargetPort: intstr.FromInt(configStructs.ContainerPort), + Port: configStructs.ContainerPort, }, }, Type: core.ServiceTypeClusterIP, @@ -758,7 +766,7 @@ func (provider *Provider) BuildWorkerDaemonSet( "-i", "any", "-port", - "8897", + fmt.Sprintf("%d", config.Config.Tap.Proxy.Worker.SrvPort), "-packet-capture", config.Config.Tap.PacketCapture, } @@ -867,8 +875,12 @@ func (provider *Provider) BuildWorkerDaemonSet( // Containers containers := []core.Container{ { - Name: podName, - Image: podImage, + Name: podName, + Image: podImage, + Ports: []core.ContainerPort{{ + HostPort: int32(config.Config.Tap.Proxy.Worker.SrvPort), + ContainerPort: configStructs.ContainerPort, + }}, ImagePullPolicy: imagePullPolicy, VolumeMounts: volumeMounts, Command: command, diff --git a/manifests/04-hub-pod.yaml b/manifests/04-hub-pod.yaml index ea2ee5cc6..d414e8888 100644 --- a/manifests/04-hub-pod.yaml +++ b/manifests/04-hub-pod.yaml @@ -26,6 +26,9 @@ spec: image: docker.io/kubeshark/hub:latest imagePullPolicy: Always name: kubeshark-hub + ports: + - containerPort: 80 + hostPort: 8898 resources: limits: cpu: 750m diff --git a/manifests/06-front-pod.yaml b/manifests/06-front-pod.yaml index b0bb19768..88b6359ed 100644 --- a/manifests/06-front-pod.yaml +++ b/manifests/06-front-pod.yaml @@ -22,6 +22,9 @@ spec: image: docker.io/kubeshark/front:latest imagePullPolicy: Always name: kubeshark-front + ports: + - containerPort: 80 + hostPort: 8899 readinessProbe: failureThreshold: 3 periodSeconds: 1 diff --git a/manifests/09-worker-daemon-set.yaml b/manifests/09-worker-daemon-set.yaml index 53c7ae0fd..92a4354f2 100644 --- a/manifests/09-worker-daemon-set.yaml +++ b/manifests/09-worker-daemon-set.yaml @@ -42,6 +42,9 @@ spec: image: docker.io/kubeshark/worker:latest imagePullPolicy: Always name: kubeshark-worker-daemon-set + ports: + - containerPort: 80 + hostPort: 8897 resources: limits: cpu: 750m diff --git a/resources/createResources.go b/resources/createResources.go index 196c35dc8..83ef2e9ee 100644 --- a/resources/createResources.go +++ b/resources/createResources.go @@ -94,7 +94,7 @@ func createSelfHubPod(ctx context.Context, kubernetesProvider *kubernetes.Provid } 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 { return err }