Migration e2e installation to helm (#5086)
This commit is contained in:
parent
4b5c39e97b
commit
37c24b0df5
46 changed files with 321 additions and 725 deletions
|
|
@ -178,8 +178,8 @@ var _ = framework.IngressNginxDescribe("Annotations - Proxy", func() {
|
|||
It("should build proxy next upstream", func() {
|
||||
annotations := map[string]string{
|
||||
"nginx.ingress.kubernetes.io/proxy-next-upstream": "error timeout http_502",
|
||||
"nginx.ingress.kubernetes.io/proxy-next-upstream-timeout": "10",
|
||||
"nginx.ingress.kubernetes.io/proxy-next-upstream-tries": "5",
|
||||
"nginx.ingress.kubernetes.io/proxy-next-upstream-timeout": "999999",
|
||||
"nginx.ingress.kubernetes.io/proxy-next-upstream-tries": "888888",
|
||||
}
|
||||
|
||||
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
|
||||
|
|
@ -187,9 +187,9 @@ var _ = framework.IngressNginxDescribe("Annotations - Proxy", func() {
|
|||
|
||||
f.WaitForNginxServer(host,
|
||||
func(server string) bool {
|
||||
return strings.Contains(server, "proxy_next_upstream error timeout http_502;") &&
|
||||
strings.Contains(server, "proxy_next_upstream_timeout 10;") &&
|
||||
strings.Contains(server, "proxy_next_upstream_tries 5;")
|
||||
return strings.Contains(server, "error timeout http_502;") &&
|
||||
strings.Contains(server, "999999;") &&
|
||||
strings.Contains(server, "888888;")
|
||||
})
|
||||
})
|
||||
|
||||
|
|
@ -200,15 +200,15 @@ var _ = framework.IngressNginxDescribe("Annotations - Proxy", func() {
|
|||
|
||||
f.SetNginxConfigMapData(map[string]string{
|
||||
"proxy-next-upstream": "timeout http_502",
|
||||
"proxy-next-upstream-timeout": "53",
|
||||
"proxy-next-upstream-tries": "44",
|
||||
"proxy-next-upstream-timeout": "999999",
|
||||
"proxy-next-upstream-tries": "888888",
|
||||
})
|
||||
|
||||
f.WaitForNginxServer(host,
|
||||
func(server string) bool {
|
||||
return strings.Contains(server, "proxy_next_upstream timeout http_502;") &&
|
||||
strings.Contains(server, "proxy_next_upstream_timeout 53;") &&
|
||||
strings.Contains(server, "proxy_next_upstream_tries 44;")
|
||||
return strings.Contains(server, "timeout http_502;") &&
|
||||
strings.Contains(server, "999999;") &&
|
||||
strings.Contains(server, "888888;")
|
||||
})
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ func (f *Framework) NewEchoDeploymentWithReplicas(replicas int) {
|
|||
// replicas is configurable and
|
||||
// name is configurable
|
||||
func (f *Framework) NewEchoDeploymentWithNameAndReplicas(name string, replicas int) {
|
||||
deployment := newDeployment(name, f.Namespace, "ingress-controller/echo:dev", 80, int32(replicas),
|
||||
deployment := newDeployment(name, f.Namespace, "ingress-controller/echo:1.0.0-dev", 80, int32(replicas),
|
||||
[]string{
|
||||
"openresty",
|
||||
},
|
||||
|
|
@ -329,7 +329,7 @@ func newDeployment(name, namespace, image string, port int32, replicas int32, co
|
|||
|
||||
// NewHttpbinDeployment creates a new single replica deployment of the httpbin image in a particular namespace.
|
||||
func (f *Framework) NewHttpbinDeployment() {
|
||||
f.NewDeployment(HTTPBinService, "ingress-controller/httpbin:dev", 80, 1)
|
||||
f.NewDeployment(HTTPBinService, "ingress-controller/httpbin:1.0.0-dev", 80, 1)
|
||||
}
|
||||
|
||||
// NewDeployment creates a new deployment in a particular namespace.
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ func (f *Framework) NewNewFastCGIHelloServerDeploymentWithReplicas(replicas int3
|
|||
Containers: []corev1.Container{
|
||||
{
|
||||
Name: "fastcgi-helloserver",
|
||||
Image: "ingress-controller/fastcgi-helloserver:dev",
|
||||
Image: "ingress-controller/fastcgi-helloserver:1.0.0-dev",
|
||||
Env: []corev1.EnvVar{},
|
||||
Ports: []corev1.ContainerPort{
|
||||
{
|
||||
|
|
|
|||
|
|
@ -145,7 +145,7 @@ func (f *Framework) AfterEach() {
|
|||
|
||||
// IngressNginxDescribe wrapper function for ginkgo describe. Adds namespacing.
|
||||
func IngressNginxDescribe(text string, body func()) bool {
|
||||
return ginkgo.Describe("[ingress-nginx] "+text, body)
|
||||
return ginkgo.Describe(text, body)
|
||||
}
|
||||
|
||||
// MemoryLeakIt is wrapper function for ginkgo It. Adds "[MemoryLeak]" tag and makes static analysis easier.
|
||||
|
|
@ -158,7 +158,7 @@ func (f *Framework) GetNginxIP() string {
|
|||
s, err := f.KubeClientSet.
|
||||
CoreV1().
|
||||
Services(f.Namespace).
|
||||
Get("ingress-nginx", metav1.GetOptions{})
|
||||
Get("nginx-ingress-controller", metav1.GetOptions{})
|
||||
gomega.Expect(err).NotTo(gomega.HaveOccurred(), "unexpected error obtaining NGINX IP address")
|
||||
return s.Spec.ClusterIP
|
||||
}
|
||||
|
|
@ -168,7 +168,7 @@ func (f *Framework) GetNginxPodIP() []string {
|
|||
e, err := f.KubeClientSet.
|
||||
CoreV1().
|
||||
Endpoints(f.Namespace).
|
||||
Get("ingress-nginx", metav1.GetOptions{})
|
||||
Get("nginx-ingress-controller", metav1.GetOptions{})
|
||||
gomega.Expect(err).NotTo(gomega.HaveOccurred(), "unexpected error obtaining NGINX IP address")
|
||||
eips := make([]string, 0)
|
||||
for _, s := range e.Subsets {
|
||||
|
|
@ -262,7 +262,7 @@ func (f *Framework) matchNginxConditions(name string, matcher func(cfg string) b
|
|||
}
|
||||
|
||||
func (f *Framework) getNginxConfigMap() (*v1.ConfigMap, error) {
|
||||
return f.getConfigMap("nginx-configuration")
|
||||
return f.getConfigMap("nginx-ingress-controller")
|
||||
}
|
||||
|
||||
func (f *Framework) getConfigMap(name string) (*v1.ConfigMap, error) {
|
||||
|
|
@ -281,36 +281,19 @@ func (f *Framework) getConfigMap(name string) (*v1.ConfigMap, error) {
|
|||
return config, err
|
||||
}
|
||||
|
||||
// GetNginxConfigMapData gets ingress-nginx's nginx-configuration map's data
|
||||
func (f *Framework) GetNginxConfigMapData() (map[string]string, error) {
|
||||
config, err := f.getNginxConfigMap()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if config.Data == nil {
|
||||
config.Data = map[string]string{}
|
||||
}
|
||||
|
||||
return config.Data, err
|
||||
}
|
||||
|
||||
// SetNginxConfigMapData sets ingress-nginx's nginx-configuration configMap data
|
||||
// SetNginxConfigMapData sets ingress-nginx's nginx-ingress-controller configMap data
|
||||
func (f *Framework) SetNginxConfigMapData(cmData map[string]string) {
|
||||
f.SetConfigMapData("nginx-configuration", cmData)
|
||||
}
|
||||
|
||||
func (f *Framework) SetConfigMapData(name string, cmData map[string]string) {
|
||||
config, err := f.getConfigMap(name)
|
||||
cfgMap, err := f.getConfigMap("nginx-ingress-controller")
|
||||
gomega.Expect(err).NotTo(gomega.HaveOccurred())
|
||||
gomega.Expect(config).NotTo(gomega.BeNil(), "expected a configmap but none returned")
|
||||
gomega.Expect(cfgMap).NotTo(gomega.BeNil(), "expected a configmap but none returned")
|
||||
|
||||
config.Data = cmData
|
||||
cfgMap.Data = cmData
|
||||
|
||||
_, err = f.KubeClientSet.
|
||||
CoreV1().
|
||||
ConfigMaps(f.Namespace).
|
||||
Update(config)
|
||||
gomega.Expect(err).NotTo(gomega.HaveOccurred())
|
||||
Update(cfgMap)
|
||||
gomega.Expect(err).NotTo(gomega.HaveOccurred(), "unexpected error updating configuration configmap")
|
||||
|
||||
time.Sleep(5 * time.Second)
|
||||
}
|
||||
|
|
@ -326,15 +309,20 @@ func (f *Framework) CreateConfigMap(name string, data map[string]string) {
|
|||
gomega.Expect(err).NotTo(gomega.HaveOccurred(), "failed to create configMap")
|
||||
}
|
||||
|
||||
// UpdateNginxConfigMapData updates single field in ingress-nginx's nginx-configuration map data
|
||||
// UpdateNginxConfigMapData updates single field in ingress-nginx's nginx-ingress-controller map data
|
||||
func (f *Framework) UpdateNginxConfigMapData(key string, value string) {
|
||||
config, err := f.GetNginxConfigMapData()
|
||||
gomega.Expect(err).NotTo(gomega.HaveOccurred(), "unexpected error reading configmap")
|
||||
config, err := f.getConfigMap("nginx-ingress-controller")
|
||||
gomega.Expect(err).NotTo(gomega.HaveOccurred())
|
||||
gomega.Expect(config).NotTo(gomega.BeNil(), "expected a configmap but none returned")
|
||||
|
||||
config[key] = value
|
||||
config.Data[key] = value
|
||||
|
||||
f.SetNginxConfigMapData(config)
|
||||
time.Sleep(1 * time.Second)
|
||||
_, err = f.KubeClientSet.
|
||||
CoreV1().
|
||||
ConfigMaps(f.Namespace).
|
||||
Update(config)
|
||||
gomega.Expect(err).NotTo(gomega.HaveOccurred(), "unexpected error updating configuration configmap")
|
||||
time.Sleep(5 * time.Second)
|
||||
}
|
||||
|
||||
// DeleteNGINXPod deletes the currently running pod. It waits for the replacement pod to be up.
|
||||
|
|
|
|||
|
|
@ -36,10 +36,10 @@ import (
|
|||
|
||||
const (
|
||||
// Poll how often to poll for conditions
|
||||
Poll = 3 * time.Second
|
||||
Poll = 2 * time.Second
|
||||
|
||||
// DefaultTimeout time to wait for operations to complete
|
||||
DefaultTimeout = 3 * time.Minute
|
||||
DefaultTimeout = 2 * time.Minute
|
||||
)
|
||||
|
||||
func nowStamp() string {
|
||||
|
|
|
|||
|
|
@ -54,7 +54,8 @@ fi
|
|||
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
export TAG=dev
|
||||
# Use 1.0.0-dev to make sure we use the latest configuration in the helm template
|
||||
export TAG=1.0.0-dev
|
||||
export ARCH=amd64
|
||||
export REGISTRY=ingress-controller
|
||||
|
||||
|
|
|
|||
|
|
@ -30,10 +30,10 @@ var _ = framework.IngressNginxDescribe("Customize health check path", func() {
|
|||
f := framework.NewDefaultFramework("custom-health-check-path")
|
||||
|
||||
Context("with a plain HTTP ingress", func() {
|
||||
It("should return HTTP/1.1 200 OK on custom health check path and port", func() {
|
||||
It("should return HTTP/1.1 200 OK on custom health port", func() {
|
||||
|
||||
f.WaitForNginxConfiguration(func(server string) bool {
|
||||
return strings.Contains(server, "location /not-healthz")
|
||||
return strings.Contains(server, "location /healthz")
|
||||
})
|
||||
|
||||
err := framework.WaitForPodsReady(f.KubeClientSet, framework.DefaultTimeout, 1, f.Namespace, metav1.ListOptions{
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ limitations under the License.
|
|||
package settings
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
|
|
@ -49,7 +48,7 @@ var _ = framework.IngressNginxDescribe("Pod Security Policies", func() {
|
|||
Expect(err).NotTo(HaveOccurred(), "creating Pod Security Policy")
|
||||
}
|
||||
|
||||
role, err := f.KubeClientSet.RbacV1().ClusterRoles().Get(fmt.Sprintf("nginx-ingress-clusterrole-%v", f.Namespace), metav1.GetOptions{})
|
||||
role, err := f.KubeClientSet.RbacV1().Roles(f.Namespace).Get("nginx-ingress-controller", metav1.GetOptions{})
|
||||
Expect(err).NotTo(HaveOccurred(), "getting ingress controller cluster role")
|
||||
Expect(role).NotTo(BeNil())
|
||||
|
||||
|
|
@ -60,7 +59,7 @@ var _ = framework.IngressNginxDescribe("Pod Security Policies", func() {
|
|||
Verbs: []string{"use"},
|
||||
})
|
||||
|
||||
_, err = f.KubeClientSet.RbacV1().ClusterRoles().Update(role)
|
||||
_, err = f.KubeClientSet.RbacV1().Roles(f.Namespace).Update(role)
|
||||
Expect(err).NotTo(HaveOccurred(), "updating ingress controller cluster role to use a pod security policy")
|
||||
|
||||
// update the deployment just to trigger a rolling update and the use of the security policy
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ limitations under the License.
|
|||
package settings
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
|
|
@ -45,7 +44,7 @@ var _ = framework.IngressNginxDescribe("Pod Security Policies with volumes", fun
|
|||
Expect(err).NotTo(HaveOccurred(), "creating Pod Security Policy")
|
||||
}
|
||||
|
||||
role, err := f.KubeClientSet.RbacV1().ClusterRoles().Get(fmt.Sprintf("nginx-ingress-clusterrole-%v", f.Namespace), metav1.GetOptions{})
|
||||
role, err := f.KubeClientSet.RbacV1().Roles(f.Namespace).Get("nginx-ingress-controller", metav1.GetOptions{})
|
||||
Expect(err).NotTo(HaveOccurred(), "getting ingress controller cluster role")
|
||||
Expect(role).NotTo(BeNil())
|
||||
|
||||
|
|
@ -56,7 +55,7 @@ var _ = framework.IngressNginxDescribe("Pod Security Policies with volumes", fun
|
|||
Verbs: []string{"use"},
|
||||
})
|
||||
|
||||
_, err = f.KubeClientSet.RbacV1().ClusterRoles().Update(role)
|
||||
_, err = f.KubeClientSet.RbacV1().Roles(f.Namespace).Update(role)
|
||||
Expect(err).NotTo(HaveOccurred(), "updating ingress controller cluster role to use a pod security policy")
|
||||
|
||||
err = framework.UpdateDeployment(f.KubeClientSet, f.Namespace, "nginx-ingress-controller", 1,
|
||||
|
|
|
|||
|
|
@ -45,20 +45,23 @@ var _ = framework.IngressNginxDescribe("Status Update [Status]", func() {
|
|||
|
||||
err = framework.UpdateDeployment(f.KubeClientSet, f.Namespace, "nginx-ingress-controller", 1,
|
||||
func(deployment *appsv1.Deployment) error {
|
||||
args := deployment.Spec.Template.Spec.Containers[0].Args
|
||||
args := []string{}
|
||||
// flags --publish-service and --publish-status-address are mutually exclusive
|
||||
|
||||
for _, v := range deployment.Spec.Template.Spec.Containers[0].Args {
|
||||
if strings.Contains(v, "--publish-service") {
|
||||
continue
|
||||
}
|
||||
|
||||
if strings.Contains(v, "--update-status") {
|
||||
continue
|
||||
}
|
||||
|
||||
args = append(args, v)
|
||||
}
|
||||
|
||||
args = append(args, fmt.Sprintf("--apiserver-host=http://%s:%d", address.String(), port))
|
||||
args = append(args, "--publish-status-address=1.1.0.0")
|
||||
// flags --publish-service and --publish-status-address are mutually exclusive
|
||||
var index int
|
||||
for k, v := range args {
|
||||
if strings.Contains(v, "--publish-service") {
|
||||
index = k
|
||||
break
|
||||
}
|
||||
}
|
||||
if index > -1 {
|
||||
args[index] = ""
|
||||
}
|
||||
|
||||
deployment.Spec.Template.Spec.Containers[0].Args = args
|
||||
_, err := f.KubeClientSet.AppsV1().Deployments(f.Namespace).Update(deployment)
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ var _ = framework.IngressNginxDescribe("TCP Feature", func() {
|
|||
svc, err := f.KubeClientSet.
|
||||
CoreV1().
|
||||
Services(f.Namespace).
|
||||
Get("ingress-nginx", metav1.GetOptions{})
|
||||
Get("nginx-ingress-controller", metav1.GetOptions{})
|
||||
Expect(err).To(BeNil(), "unexpected error obtaining ingress-nginx service")
|
||||
Expect(svc).NotTo(BeNil(), "expected a service but none returned")
|
||||
|
||||
|
|
@ -121,7 +121,7 @@ var _ = framework.IngressNginxDescribe("TCP Feature", func() {
|
|||
svc, err := f.KubeClientSet.
|
||||
CoreV1().
|
||||
Services(f.Namespace).
|
||||
Get("ingress-nginx", metav1.GetOptions{})
|
||||
Get("nginx-ingress-controller", metav1.GetOptions{})
|
||||
Expect(err).To(BeNil(), "unexpected error obtaining ingress-nginx service")
|
||||
Expect(svc).NotTo(BeNil(), "expected a service but none returned")
|
||||
|
||||
|
|
|
|||
|
|
@ -36,50 +36,160 @@ function on_exit {
|
|||
}
|
||||
trap on_exit EXIT
|
||||
|
||||
CLUSTER_WIDE="$DIR/cluster-wide-$NAMESPACE"
|
||||
cat << EOF | kubectl apply --namespace=$NAMESPACE -f -
|
||||
# Required for e2e tcp tests
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: tcp-services
|
||||
namespace: $NAMESPACE
|
||||
labels:
|
||||
app.kubernetes.io/name: ingress-nginx
|
||||
app.kubernetes.io/part-of: ingress-nginx
|
||||
|
||||
mkdir "$CLUSTER_WIDE"
|
||||
---
|
||||
|
||||
cat << EOF > "$CLUSTER_WIDE/kustomization.yaml"
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
bases:
|
||||
- ../cluster-wide
|
||||
nameSuffix: "-$NAMESPACE"
|
||||
EOF
|
||||
# Source: nginx-ingress/templates/controller-role.yaml
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: ingress-nginx
|
||||
app.kubernetes.io/part-of: ingress-nginx
|
||||
name: nginx-ingress-controller
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- namespaces
|
||||
verbs:
|
||||
- get
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- configmaps
|
||||
- pods
|
||||
- secrets
|
||||
- endpoints
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- services
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- update
|
||||
- watch
|
||||
- apiGroups:
|
||||
- extensions
|
||||
- "networking.k8s.io" # k8s 1.14+
|
||||
resources:
|
||||
- ingresses
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- extensions
|
||||
- "networking.k8s.io" # k8s 1.14+
|
||||
resources:
|
||||
- ingresses/status
|
||||
verbs:
|
||||
- update
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- configmaps
|
||||
resourceNames:
|
||||
- ingress-controller-leader-nginx
|
||||
verbs:
|
||||
- get
|
||||
- update
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- configmaps
|
||||
verbs:
|
||||
- create
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- endpoints
|
||||
verbs:
|
||||
- create
|
||||
- get
|
||||
- update
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- events
|
||||
verbs:
|
||||
- create
|
||||
- patch
|
||||
---
|
||||
# Source: nginx-ingress/templates/controller-rolebinding.yaml
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: ingress-nginx
|
||||
app.kubernetes.io/part-of: ingress-nginx
|
||||
name: nginx-ingress-controller
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: nginx-ingress-controller
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: nginx-ingress
|
||||
namespace: $NAMESPACE
|
||||
|
||||
OVERLAY="$DIR/overlay-$NAMESPACE"
|
||||
|
||||
mkdir "$OVERLAY"
|
||||
|
||||
cat << EOF > "$OVERLAY/kustomization.yaml"
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: $NAMESPACE
|
||||
bases:
|
||||
- ../overlay
|
||||
- ../cluster-wide-$NAMESPACE
|
||||
EOF
|
||||
|
||||
# Use the namespace overlay if it was requested
|
||||
if [[ ! -z "$NAMESPACE_OVERLAY" && -d "$DIR/namespace-overlays/$NAMESPACE_OVERLAY" ]]; then
|
||||
echo "Namespace overlay $NAMESPACE_OVERLAY is being used for namespace $NAMESPACE"
|
||||
OVERLAY="$DIR/namespace-overlays/$NAMESPACE"
|
||||
mkdir "$OVERLAY"
|
||||
cat << EOF > "$OVERLAY/kustomization.yaml"
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: $NAMESPACE
|
||||
bases:
|
||||
- ../../namespace-overlays/$NAMESPACE_OVERLAY
|
||||
- ../../cluster-wide-$NAMESPACE
|
||||
helm install nginx-ingress stable/nginx-ingress \
|
||||
--namespace=$NAMESPACE \
|
||||
--wait \
|
||||
--values "$DIR/namespace-overlays/$NAMESPACE_OVERLAY/values.yaml"
|
||||
else
|
||||
cat << EOF | helm install nginx-ingress stable/nginx-ingress --namespace=$NAMESPACE --wait --values -
|
||||
controller:
|
||||
image:
|
||||
repository: ingress-controller/nginx-ingress-controller
|
||||
tag: 1.0.0-dev
|
||||
scope:
|
||||
enabled: true
|
||||
config:
|
||||
worker-processes: "1"
|
||||
readinessProbe:
|
||||
initialDelaySeconds: 1
|
||||
livenessProbe:
|
||||
initialDelaySeconds: 1
|
||||
podLabels:
|
||||
app.kubernetes.io/name: ingress-nginx
|
||||
app.kubernetes.io/part-of: ingress-nginx
|
||||
service:
|
||||
type: NodePort
|
||||
labels:
|
||||
app.kubernetes.io/name: ingress-nginx
|
||||
app.kubernetes.io/part-of: ingress-nginx
|
||||
extraArgs:
|
||||
tcp-services-configmap: $NAMESPACE/tcp-services
|
||||
# e2e tests do not require information about ingress status
|
||||
update-status: "false"
|
||||
terminationGracePeriodSeconds: 1
|
||||
|
||||
defaultBackend:
|
||||
enabled: false
|
||||
|
||||
rbac:
|
||||
create: false
|
||||
EOF
|
||||
|
||||
fi
|
||||
|
||||
kubectl apply --kustomize "$OVERLAY"
|
||||
|
||||
# wait for the deployment and fail if there is an error before starting the execution of any test
|
||||
kubectl rollout status \
|
||||
--request-timeout=3m \
|
||||
--namespace $NAMESPACE \
|
||||
deployment nginx-ingress-controller
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue