🎨 Get the front pod and service names from constants

This commit is contained in:
M. Mert Yildiran 2022-11-26 07:14:12 +03:00
parent 0736f6120c
commit b7760a7f44
No known key found for this signature in database
GPG Key ID: DA5D6DCBB758A461
6 changed files with 34 additions and 16 deletions

View File

@ -49,8 +49,8 @@ func startProxyReportErrorIfAny(kubernetesProvider *kubernetes.Provider, ctx con
provider = apiserver.NewProvider(kubernetes.GetLocalhostOnPort(srcPort), apiserver.DefaultRetries, apiserver.DefaultTimeout)
if err := provider.TestConnection(healthCheck); err != nil {
log.Printf(uiUtils.Error, "Couldn't connect to [%s].")
// cancel()
log.Printf(uiUtils.Error, fmt.Sprintf("Couldn't connect to [%s].", serviceName))
cancel()
return
}
}

View File

@ -300,7 +300,7 @@ func watchApiServerPod(ctx context.Context, kubernetesProvider *kubernetes.Provi
}
func watchFrontPod(ctx context.Context, kubernetesProvider *kubernetes.Provider, cancel context.CancelFunc) {
podExactRegex := regexp.MustCompile(fmt.Sprintf("^%s$", "front"))
podExactRegex := regexp.MustCompile(fmt.Sprintf("^%s$", kubernetes.FrontPodName))
podWatchHelper := kubernetes.NewPodWatchHelper(kubernetesProvider, podExactRegex)
eventChan, errorChan := kubernetes.FilteredWatch(ctx, podWatchHelper, []string{config.Config.KubesharkResourcesNamespace}, podWatchHelper)
isPodReady := false
@ -319,7 +319,7 @@ func watchFrontPod(ctx context.Context, kubernetesProvider *kubernetes.Provider,
case kubernetes.EventAdded:
log.Printf("Watching API Server pod loop, added")
case kubernetes.EventDeleted:
log.Printf("%s removed", "front")
log.Printf("%s removed", kubernetes.FrontPodName)
cancel()
return
case kubernetes.EventModified:
@ -420,7 +420,7 @@ func watchApiServerEvents(ctx context.Context, kubernetesProvider *kubernetes.Pr
}
func postApiServerStarted(ctx context.Context, kubernetesProvider *kubernetes.Provider, cancel context.CancelFunc) {
startProxyReportErrorIfAny(kubernetesProvider, ctx, cancel, "kubeshark-api-server", config.Config.Hub.PortForward.SrcPort, config.Config.Hub.PortForward.DstPort, "/echo")
startProxyReportErrorIfAny(kubernetesProvider, ctx, cancel, kubernetes.ApiServerServiceName, config.Config.Hub.PortForward.SrcPort, config.Config.Hub.PortForward.DstPort, "/echo")
if err := startTapperSyncer(ctx, cancel, kubernetesProvider, state.targetNamespaces, state.startTime); err != nil {
log.Printf(uiUtils.Error, fmt.Sprintf("Error starting kubeshark tapper syncer: %v", errormessage.FormatError(err)))
@ -432,7 +432,7 @@ func postApiServerStarted(ctx context.Context, kubernetesProvider *kubernetes.Pr
}
func postFrontStarted(ctx context.Context, kubernetesProvider *kubernetes.Provider, cancel context.CancelFunc) {
startProxyReportErrorIfAny(kubernetesProvider, ctx, cancel, "front", config.Config.Front.PortForward.SrcPort, config.Config.Front.PortForward.DstPort, "")
startProxyReportErrorIfAny(kubernetesProvider, ctx, cancel, kubernetes.FrontServiceName, config.Config.Front.PortForward.SrcPort, config.Config.Front.PortForward.DstPort, "")
url := kubernetes.GetLocalhostOnPort(config.Config.Front.PortForward.SrcPort)
log.Printf("Kubeshark is available at %s", url)

View File

@ -46,7 +46,7 @@ func runKubesharkView() {
return
}
log.Printf("Establishing connection to k8s cluster...")
startProxyReportErrorIfAny(kubernetesProvider, ctx, cancel, "front", config.Config.Front.PortForward.SrcPort, config.Config.Front.PortForward.DstPort, "")
startProxyReportErrorIfAny(kubernetesProvider, ctx, cancel, kubernetes.FrontServiceName, config.Config.Front.PortForward.SrcPort, config.Config.Front.PortForward.DstPort, "")
}
apiServerProvider := apiserver.NewProvider(url, apiserver.DefaultRetries, apiserver.DefaultTimeout)

View File

@ -2,7 +2,10 @@ package kubernetes
const (
KubesharkResourcesPrefix = "ks-"
FrontPodName = KubesharkResourcesPrefix + "front"
FrontServiceName = FrontPodName
ApiServerPodName = KubesharkResourcesPrefix + "hub"
ApiServerServiceName = ApiServerPodName
ClusterRoleBindingName = KubesharkResourcesPrefix + "cluster-role-binding"
ClusterRoleName = KubesharkResourcesPrefix + "cluster-role"
K8sAllNamespaces = ""

View File

@ -406,19 +406,19 @@ func (provider *Provider) BuildFrontPod(opts *ApiServerOptions, mountVolumeClaim
cpuLimit, err := resource.ParseQuantity(opts.Resources.CpuLimit)
if err != nil {
return nil, fmt.Errorf("invalid cpu limit for %s container", "front")
return nil, fmt.Errorf("invalid cpu limit for %s container", opts.PodName)
}
memLimit, err := resource.ParseQuantity(opts.Resources.MemoryLimit)
if err != nil {
return nil, fmt.Errorf("invalid memory limit for %s container", "front")
return nil, fmt.Errorf("invalid memory limit for %s container", opts.PodName)
}
cpuRequests, err := resource.ParseQuantity(opts.Resources.CpuRequests)
if err != nil {
return nil, fmt.Errorf("invalid cpu request for %s container", "front")
return nil, fmt.Errorf("invalid cpu request for %s container", opts.PodName)
}
memRequests, err := resource.ParseQuantity(opts.Resources.MemoryRequests)
if err != nil {
return nil, fmt.Errorf("invalid memory request for %s container", "front")
return nil, fmt.Errorf("invalid memory request for %s container", opts.PodName)
}
volumeMounts := []core.VolumeMount{}
@ -426,7 +426,7 @@ func (provider *Provider) BuildFrontPod(opts *ApiServerOptions, mountVolumeClaim
containers := []core.Container{
{
Name: "front",
Name: opts.PodName,
Image: "kubeshark/front:latest",
ImagePullPolicy: opts.ImagePullPolicy,
VolumeMounts: volumeMounts,
@ -459,9 +459,9 @@ func (provider *Provider) BuildFrontPod(opts *ApiServerOptions, mountVolumeClaim
pod := &core.Pod{
ObjectMeta: metav1.ObjectMeta{
Name: "front",
Name: opts.PodName,
Labels: map[string]string{
"app": "front",
"app": opts.PodName,
LabelManagedBy: provider.managedBy,
LabelCreatedBy: provider.createdBy,
},

View File

@ -53,11 +53,26 @@ func CreateTapKubesharkResources(ctx context.Context, kubernetesProvider *kubern
Profiler: profiler,
}
frontOpts := &kubernetes.ApiServerOptions{
Namespace: kubesharkResourcesNamespace,
PodName: kubernetes.FrontPodName,
PodImage: agentImage,
KratosImage: "",
KetoImage: "",
ServiceAccountName: serviceAccountName,
IsNamespaceRestricted: isNsRestrictedMode,
MaxEntriesDBSizeBytes: maxEntriesDBSizeBytes,
Resources: apiServerResources,
ImagePullPolicy: imagePullPolicy,
LogLevel: logLevel,
Profiler: profiler,
}
if err := createKubesharkApiServerPod(ctx, kubernetesProvider, opts); err != nil {
return kubesharkServiceAccountExists, err
}
if err := createFrontPod(ctx, kubernetesProvider, opts); err != nil {
if err := createFrontPod(ctx, kubernetesProvider, frontOpts); err != nil {
return kubesharkServiceAccountExists, err
}
@ -66,7 +81,7 @@ func CreateTapKubesharkResources(ctx context.Context, kubernetesProvider *kubern
return kubesharkServiceAccountExists, err
}
_, err = kubernetesProvider.CreateService(ctx, kubesharkResourcesNamespace, "front", "front", 80, int32(config.Config.Front.PortForward.DstPort), int32(config.Config.Front.PortForward.SrcPort))
_, err = kubernetesProvider.CreateService(ctx, kubesharkResourcesNamespace, kubernetes.FrontPodName, kubernetes.FrontPodName, 80, int32(config.Config.Front.PortForward.DstPort), int32(config.Config.Front.PortForward.SrcPort))
if err != nil {
return kubesharkServiceAccountExists, err
}