diff --git a/pkg/controller/feed/reconcile_test.go b/pkg/controller/feed/reconcile_test.go index 2b4f90c493a..7d3c7ac88a0 100644 --- a/pkg/controller/feed/reconcile_test.go +++ b/pkg/controller/feed/reconcile_test.go @@ -481,6 +481,9 @@ func getNewStartJob() *batchv1.Job { }, Spec: batchv1.JobSpec{ Template: corev1.PodTemplateSpec{ + ObjectMeta: metav1.ObjectMeta{ + Annotations: map[string]string{"sidecar.istio.io/inject": "false"}, + }, Spec: corev1.PodSpec{ Containers: []corev1.Container{{ Name: "feedlet", diff --git a/pkg/controller/feed/resources/job.go b/pkg/controller/feed/resources/job.go index 066047d373a..c2dcfb0a443 100644 --- a/pkg/controller/feed/resources/job.go +++ b/pkg/controller/feed/resources/job.go @@ -38,6 +38,8 @@ const ( OperationStartFeed Operation = "START" // OperationStopFeed specifies a feed should be stopped OperationStopFeed = "STOP" + // istio side car injection annotation + sidecarIstioInjectAnnotation = "sidecar.istio.io/inject" ) // EnvVar specifies the names of the environment variables passed to the @@ -183,11 +185,16 @@ func makePodTemplate(feed *feedsv1alpha1.Feed, source *feedsv1alpha1.EventSource } return &corev1.PodTemplateSpec{ + ObjectMeta: metav1.ObjectMeta{ + // don't inject Istio sidecar + // so if the feed can to access external services during StartFeed/StopFeed + Annotations: map[string]string{sidecarIstioInjectAnnotation: "false"}, + }, Spec: corev1.PodSpec{ ServiceAccountName: feed.Spec.ServiceAccountName, RestartPolicy: corev1.RestartPolicyNever, Containers: []corev1.Container{ - { + corev1.Container{ Name: "feedlet", Image: source.Spec.Image, ImagePullPolicy: corev1.PullIfNotPresent,