Closed
Description
Describe the bug
Kubernetes NGINX Ingress Controller not working on Docker EE 2.0
$ kubectl get pods -n nginx-ingress
NAME READY STATUS RESTARTS AGE
nginx-ingress-7cd9cbbd9f-5sx8r 0/1 CrashLoopBackOff 9 26m
$ kubectl logs -n nginx-ingress nginx-ingress-7cd9cbbd9f-5sx8r
I1104 19:11:39.596930 1 main.go:116] Starting NGINX Ingress controller Version=edge GitCommit=8fe1653
I1104 19:11:39.658459 1 nginx.go:380] Writing NGINX conf to /etc/nginx/nginx.conf
I1104 19:11:39.658490 1 nginx.go:383]
user nginx;
worker_processes auto;
daemon off;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
server_names_hash_max_size 1024;
server_names_hash_bucket_size 64;
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80 default_server;
listen 443 ssl default_server;
ssl_certificate /etc/nginx/secrets/default;
ssl_certificate_key /etc/nginx/secrets/default;
server_name _;
server_tokens "on";
access_log off;
location / {
return 404;
}
}
# NGINX Plus APIs
server {
listen 8080;
root /usr/share/nginx/html;
access_log off;
location = /dashboard.html {
}
allow 127.0.0.1;
deny all;
location /api {
api write=off;
}
}
# NGINX Plus API over unix socket
server {
listen unix:/var/run/nginx-plus-api.sock;
access_log off;
# $config_version_mismatch is defined in /etc/nginx/config-version.conf
location /configVersionCheck {
if ($config_version_mismatch) {
return 503;
}
return 200;
}
location /api {
api write=on;
}
}
include /etc/nginx/config-version.conf;
include /etc/nginx/conf.d/*.conf;
}
stream {
log_format stream-main '$remote_addr [$time_local] '
'$protocol $status $bytes_sent $bytes_received '
'$session_time';
access_log /var/log/nginx/stream-access.log stream-main;
}
I1104 19:11:39.659001 1 nginx.go:397] The main NGINX config file has been updated
I1104 19:11:39.659345 1 nginx.go:432] Writing config version to /etc/nginx/config-version.conf
I1104 19:11:39.659368 1 nginx.go:435] server {
listen unix:/var/run/nginx-config-version.sock;
access_log off;
location /configVersion {
return 200 0;
}
}
map $http_x_expected_config_version $config_version_mismatch {
"0" "";
default "mismatch";
}
I1104 19:11:39.659483 1 nginx.go:454] The config version file has been updated.
2018/11/04 19:11:39 [notice] 14#14: using the "epoll" event method
2018/11/04 19:11:39 [notice] 14#14: nginx/1.15.2 (nginx-plus-r16)
2018/11/04 19:11:39 [notice] 14#14: built by gcc 6.3.0 20170516 (Debian 6.3.0-18+deb9u1)
2018/11/04 19:11:39 [notice] 14#14: OS: Linux 4.4.0-116-generic
2018/11/04 19:11:39 [notice] 14#14: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2018/11/04 19:11:39 [notice] 14#14: start worker processes
2018/11/04 19:11:39 [notice] 14#14: start worker process 15
2018/11/04 19:11:39 [notice] 14#14: start worker process 16
I1104 19:11:40.162107 1 controller.go:127] Nginx Ingress Controller has class: nginx
I1104 19:11:40.165545 1 reflector.go:202] Starting reflector *v1.Secret (30s) from github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:251
I1104 19:11:40.165570 1 reflector.go:240] Listing and watching *v1.Secret from github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:251
I1104 19:11:40.165890 1 reflector.go:202] Starting reflector *v1.Service (30s) from github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:249
I1104 19:11:40.165899 1 reflector.go:240] Listing and watching *v1.Service from github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:249
I1104 19:11:40.166099 1 reflector.go:202] Starting reflector *v1.Endpoints (30s) from github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:250
I1104 19:11:40.166107 1 reflector.go:240] Listing and watching *v1.Endpoints from github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:250
I1104 19:11:40.166308 1 reflector.go:202] Starting reflector *v1.ConfigMap (30s) from github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:253
I1104 19:11:40.166316 1 reflector.go:240] Listing and watching *v1.ConfigMap from github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:253
I1104 19:11:40.166509 1 reflector.go:202] Starting reflector *v1beta1.Ingress (30s) from github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:255
I1104 19:11:40.166517 1 reflector.go:240] Listing and watching *v1beta1.Ingress from github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:255
I1104 19:11:40.267060 1 endpoint.go:17] Adding endpoints: kube-scheduler
I1104 19:11:40.271144 1 queue.go:54] Adding an element with a key: kube-system/kube-scheduler
I1104 19:11:40.271217 1 endpoint.go:17] Adding endpoints: kube-controller-manager
I1104 19:11:40.271240 1 queue.go:54] Adding an element with a key: kube-system/kube-controller-manager
I1104 19:11:40.271263 1 endpoint.go:17] Adding endpoints: kube-dns
I1104 19:11:40.271281 1 queue.go:54] Adding an element with a key: kube-system/kube-dns
I1104 19:11:40.271306 1 endpoint.go:17] Adding endpoints: blue-svc
I1104 19:11:40.271325 1 queue.go:54] Adding an element with a key: default/blue-svc
I1104 19:11:40.271344 1 endpoint.go:17] Adding endpoints: red-svc
I1104 19:11:40.271362 1 queue.go:54] Adding an element with a key: default/red-svc
I1104 19:11:40.271384 1 endpoint.go:17] Adding endpoints: nginx-ingress
I1104 19:11:40.271402 1 queue.go:54] Adding an element with a key: nginx-ingress/nginx-ingress
I1104 19:11:40.271424 1 endpoint.go:17] Adding endpoints: kubernetes
I1104 19:11:40.271442 1 queue.go:54] Adding an element with a key: default/kubernetes
I1104 19:11:40.271930 1 queue.go:82] Syncing kube-system/kube-scheduler
I1104 19:11:40.271954 1 controller.go:441] Syncing kube-system/kube-scheduler
I1104 19:11:40.271972 1 controller.go:269] Syncing endpoints kube-system/kube-scheduler
I1104 19:11:40.271992 1 queue.go:82] Syncing kube-system/kube-controller-manager
I1104 19:11:40.272009 1 controller.go:441] Syncing kube-system/kube-controller-manager
I1104 19:11:40.272025 1 controller.go:269] Syncing endpoints kube-system/kube-controller-manager
I1104 19:11:40.272043 1 queue.go:82] Syncing kube-system/kube-dns
I1104 19:11:40.272059 1 controller.go:441] Syncing kube-system/kube-dns
I1104 19:11:40.272075 1 controller.go:269] Syncing endpoints kube-system/kube-dns
I1104 19:11:40.272092 1 queue.go:82] Syncing default/blue-svc
I1104 19:11:40.272118 1 controller.go:441] Syncing default/blue-svc
I1104 19:11:40.272140 1 controller.go:269] Syncing endpoints default/blue-svc
I1104 19:11:40.272178 1 queue.go:82] Syncing default/red-svc
I1104 19:11:40.272212 1 controller.go:441] Syncing default/red-svc
I1104 19:11:40.272229 1 controller.go:269] Syncing endpoints default/red-svc
I1104 19:11:40.272256 1 queue.go:82] Syncing nginx-ingress/nginx-ingress
I1104 19:11:40.272376 1 controller.go:441] Syncing nginx-ingress/nginx-ingress
I1104 19:11:40.272394 1 controller.go:269] Syncing endpoints nginx-ingress/nginx-ingress
I1104 19:11:40.272412 1 queue.go:82] Syncing default/kubernetes
I1104 19:11:40.272428 1 controller.go:441] Syncing default/kubernetes
I1104 19:11:40.272444 1 controller.go:269] Syncing endpoints default/kubernetes
I1104 19:11:40.274935 1 service.go:23] Adding service: kubernetes
I1104 19:11:40.276590 1 controller.go:885] ignoring service kubernetes: No ingress for service kubernetes
I1104 19:11:40.276627 1 service.go:23] Adding service: kube-dns
I1104 19:11:40.276649 1 controller.go:885] ignoring service kube-dns: No ingress for service kube-dns
I1104 19:11:40.276668 1 service.go:23] Adding service: blue-svc
I1104 19:11:40.276685 1 controller.go:885] ignoring service blue-svc: No ingress for service blue-svc
I1104 19:11:40.276706 1 service.go:23] Adding service: red-svc
I1104 19:11:40.276723 1 controller.go:885] ignoring service red-svc: No ingress for service red-svc
I1104 19:11:40.276741 1 service.go:23] Adding service: nginx-ingress
I1104 19:11:40.276758 1 controller.go:885] ignoring service nginx-ingress: No ingress for service nginx-ingress
I1104 19:11:40.280095 1 secret.go:20] Adding Secret: default-server-secret
I1104 19:11:40.280109 1 queue.go:54] Adding an element with a key: nginx-ingress/default-server-secret
I1104 19:11:40.280130 1 queue.go:82] Syncing nginx-ingress/default-server-secret
I1104 19:11:40.280134 1 controller.go:441] Syncing nginx-ingress/default-server-secret
I1104 19:11:40.280147 1 controller.go:642] Found 0 Ingresses with Secret nginx-ingress/default-server-secret
I1104 19:11:40.280150 1 controller.go:655] Adding / Updating Secret: nginx-ingress/default-server-secret
I1104 19:11:40.283288 1 nginx.go:432] Writing config version to /etc/nginx/config-version.conf
I1104 19:11:40.283300 1 nginx.go:435] server {
listen unix:/var/run/nginx-config-version.sock;
access_log off;
location /configVersion {
return 200 1;
}
}
map $http_x_expected_config_version $config_version_mismatch {
"1" "";
default "mismatch";
}
I1104 19:11:40.283527 1 nginx.go:454] The config version file has been updated.
I1104 19:11:40.283536 1 nginx.go:308] Reloading nginx. configVersion: 1
I1104 19:11:40.283539 1 nginx.go:358] executing nginx -s reload
I1104 19:11:40.289534 1 configMap.go:18] Adding ConfigMap: nginx-config
I1104 19:11:40.289613 1 queue.go:54] Adding an element with a key: nginx-ingress/nginx-config
I1104 19:11:40.289646 1 ingress.go:20] Adding Ingress: colors-ingress
I1104 19:11:40.289667 1 queue.go:54] Adding an element with a key: default/colors-ingress
2018/11/04 19:11:40 [notice] 22#22: signal process started
2018/11/04 19:11:40 [notice] 14#14: signal 1 (SIGHUP) received from 22, reconfiguring
2018/11/04 19:11:40 [notice] 14#14: reconfiguring
2018/11/04 19:11:40 [notice] 14#14: using the "epoll" event method
2018/11/04 19:11:40 [notice] 14#14: start worker processes
2018/11/04 19:11:40 [notice] 14#14: start worker process 23
2018/11/04 19:11:40 [notice] 14#14: start worker process 24
2018/11/04 19:11:40 [notice] 15#15: gracefully shutting down
2018/11/04 19:11:40 [notice] 16#16: gracefully shutting down
2018/11/04 19:11:40 [notice] 15#15: exiting
2018/11/04 19:11:40 [notice] 16#16: exiting
2018/11/04 19:11:40 [notice] 16#16: exit
2018/11/04 19:11:40 [notice] 15#15: exit
I1104 19:11:40.426470 1 client.go:69] success, version 1 ensured. iterations: 5. took: 125ms
I1104 19:11:40.426526 1 queue.go:82] Syncing nginx-ingress/nginx-config
I1104 19:11:40.426534 1 controller.go:441] Syncing nginx-ingress/nginx-config
I1104 19:11:40.426538 1 controller.go:336] Syncing configmap nginx-ingress/nginx-config
I1104 19:11:40.426681 1 nginx.go:380] Writing NGINX conf to /etc/nginx/nginx.conf
I1104 19:11:40.426693 1 nginx.go:383]
user nginx;
worker_processes auto;
daemon off;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
server_names_hash_max_size 1024;
server_names_hash_bucket_size 64;
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80 default_server;
listen 443 ssl default_server;
ssl_certificate /etc/nginx/secrets/default;
ssl_certificate_key /etc/nginx/secrets/default;
server_name _;
server_tokens "on";
access_log off;
location / {
return 404;
}
}
# NGINX Plus APIs
server {
listen 8080;
root /usr/share/nginx/html;
access_log off;
location = /dashboard.html {
}
allow 127.0.0.1;
deny all;
location /api {
api write=off;
}
}
# NGINX Plus API over unix socket
server {
listen unix:/var/run/nginx-plus-api.sock;
access_log off;
# $config_version_mismatch is defined in /etc/nginx/config-version.conf
location /configVersionCheck {
if ($config_version_mismatch) {
return 503;
}
return 200;
}
location /api {
api write=on;
}
}
include /etc/nginx/config-version.conf;
include /etc/nginx/conf.d/*.conf;
}
stream {
log_format stream-main '$remote_addr [$time_local] '
'$protocol $status $bytes_sent $bytes_received '
'$session_time';
access_log /var/log/nginx/stream-access.log stream-main;
}
I1104 19:11:40.426784 1 nginx.go:397] The main NGINX config file has been updated
I1104 19:11:40.427219 1 nginx.go:432] Writing config version to /etc/nginx/config-version.conf
I1104 19:11:40.427238 1 nginx.go:435] server {
listen unix:/var/run/nginx-config-version.sock;
access_log off;
location /configVersion {
return 200 2;
}
}
map $http_x_expected_config_version $config_version_mismatch {
"2" "";
default "mismatch";
}
I1104 19:11:40.427448 1 nginx.go:454] The config version file has been updated.
I1104 19:11:40.427480 1 nginx.go:308] Reloading nginx. configVersion: 2
I1104 19:11:40.427489 1 nginx.go:358] executing nginx -s reload
I1104 19:11:40.435157 1 event.go:218] Event(v1.ObjectReference{Kind:"Secret", Namespace:"nginx-ingress", Name:"default-server-secret", UID:"3c77a94b-e060-11e8-bada-0242ac110010", APIVersion:"v1", ResourceVersion:"12524", FieldPath:""}): type: 'Normal' reason: 'Updated' the default server Secret nginx-ingress/default-server-secret was updated
2018/11/04 19:11:40 [notice] 14#14: signal 17 (SIGCHLD) received from 16
2018/11/04 19:11:40 [notice] 14#14: worker process 16 exited with code 0
2018/11/04 19:11:40 [notice] 14#14: signal 29 (SIGIO) received
2018/11/04 19:11:40 [notice] 14#14: signal 17 (SIGCHLD) received from 15
2018/11/04 19:11:40 [notice] 14#14: worker process 15 exited with code 0
2018/11/04 19:11:40 [notice] 14#14: signal 29 (SIGIO) received
2018/11/04 19:11:40 [notice] 26#26: signal process started
2018/11/04 19:11:40 [notice] 14#14: signal 1 (SIGHUP) received from 26, reconfiguring
2018/11/04 19:11:40 [notice] 14#14: reconfiguring
2018/11/04 19:11:40 [notice] 14#14: using the "epoll" event method
2018/11/04 19:11:40 [notice] 14#14: start worker processes
2018/11/04 19:11:40 [notice] 14#14: start worker process 27
2018/11/04 19:11:40 [notice] 14#14: start worker process 28
2018/11/04 19:11:40 [notice] 23#23: gracefully shutting down
2018/11/04 19:11:40 [notice] 24#24: gracefully shutting down
2018/11/04 19:11:40 [notice] 24#24: exiting
2018/11/04 19:11:40 [notice] 23#23: exiting
2018/11/04 19:11:40 [notice] 23#23: exit
2018/11/04 19:11:40 [notice] 24#24: exit
I1104 19:11:40.560098 1 client.go:69] success, version 2 ensured. iterations: 4. took: 100ms
I1104 19:11:40.560169 1 queue.go:82] Syncing default/colors-ingress
I1104 19:11:40.560180 1 controller.go:441] Syncing default/colors-ingress
I1104 19:11:40.560193 1 controller.go:511] Adding or Updating Ingress: default/colors-ingress
I1104 19:11:40.560521 1 event.go:218] Event(v1.ObjectReference{Kind:"ConfigMap", Namespace:"nginx-ingress", Name:"nginx-config", UID:"40d824f8-e060-11e8-bada-0242ac110010", APIVersion:"v1", ResourceVersion:"12533", FieldPath:""}): type: 'Normal' reason: 'Updated' Configuration from nginx-ingress/nginx-config was updated
2018/11/04 19:11:40 [notice] 14#14: signal 17 (SIGCHLD) received from 24
2018/11/04 19:11:40 [notice] 14#14: worker process 24 exited with code 0
2018/11/04 19:11:40 [notice] 14#14: signal 29 (SIGIO) received
2018/11/04 19:11:40 [notice] 14#14: signal 17 (SIGCHLD) received from 23
2018/11/04 19:11:40 [notice] 14#14: worker process 23 exited with code 0
2018/11/04 19:11:40 [notice] 14#14: signal 29 (SIGIO) received
E1104 19:11:40.630927 1 runtime.go:66] Observed a panic: "invalid memory address or nil pointer dereference" (runtime error: invalid memory address or nil pointer dereference)
/go/src/github.com/nginxinc/kubernetes-ingress/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:72
/go/src/github.com/nginxinc/kubernetes-ingress/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:65
/go/src/github.com/nginxinc/kubernetes-ingress/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:51
/usr/local/go/src/runtime/asm_amd64.s:573
/usr/local/go/src/runtime/panic.go:502
/usr/local/go/src/runtime/panic.go:63
/usr/local/go/src/runtime/signal_unix.go:388
/go/src/github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:1046
/go/src/github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:1036
/go/src/github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:997
/go/src/github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:554
/go/src/github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:445
/go/src/github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:125
/go/src/github.com/nginxinc/kubernetes-ingress/internal/queue/queue.go:83
/go/src/github.com/nginxinc/kubernetes-ingress/internal/queue/queue.go:37
/go/src/github.com/nginxinc/kubernetes-ingress/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:133
/go/src/github.com/nginxinc/kubernetes-ingress/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:134
/go/src/github.com/nginxinc/kubernetes-ingress/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:88
/go/src/github.com/nginxinc/kubernetes-ingress/internal/queue/queue.go:37
/usr/local/go/src/runtime/asm_amd64.s:2361
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0xe892fd]
goroutine 39 [running]:
github.com/nginxinc/kubernetes-ingress/vendor/k8s.io/apimachinery/pkg/util/runtime.HandleCrash(0x0, 0x0, 0x0)
/go/src/github.com/nginxinc/kubernetes-ingress/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:58 +0x107
panic(0xfabe40, 0x18a4150)
/usr/local/go/src/runtime/panic.go:502 +0x229
github.com/nginxinc/kubernetes-ingress/internal/controller.findProbeForPods(0xc4208d8000, 0x3, 0x4, 0xc4204781e0, 0xc4202adea0)
/go/src/github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:1046 +0x1dd
github.com/nginxinc/kubernetes-ingress/internal/controller.(*LoadBalancerController).getHealthChecksForIngressBackend(0xc4200d4c60, 0xc4203a5930, 0xc420316870, 0x7, 0xc420386a28)
/go/src/github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:1036 +0x222
github.com/nginxinc/kubernetes-ingress/internal/controller.(*LoadBalancerController).createIngress(0xc4200d4c60, 0xc420386840, 0x10f5bc2, 0x20, 0x18d7fe0)
/go/src/github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:997 +0x9c5
github.com/nginxinc/kubernetes-ingress/internal/controller.(*LoadBalancerController).syncIng(0xc4200d4c60, 0x0, 0xc42032bca0, 0x16)
/go/src/github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:554 +0xaba
github.com/nginxinc/kubernetes-ingress/internal/controller.(*LoadBalancerController).sync(0xc4200d4c60, 0x0, 0xc42032bca0, 0x16)
/go/src/github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:445 +0x164
github.com/nginxinc/kubernetes-ingress/internal/controller.(*LoadBalancerController).(github.com/nginxinc/kubernetes-ingress/internal/controller.sync)-fm(0x0, 0xc42032bca0, 0x16)
/go/src/github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:125 +0x48
github.com/nginxinc/kubernetes-ingress/internal/queue.(*TaskQueue).worker(0xc4201aad60)
/go/src/github.com/nginxinc/kubernetes-ingress/internal/queue/queue.go:83 +0xe9
github.com/nginxinc/kubernetes-ingress/internal/queue.(*TaskQueue).(github.com/nginxinc/kubernetes-ingress/internal/queue.worker)-fm()
/go/src/github.com/nginxinc/kubernetes-ingress/internal/queue/queue.go:37 +0x2a
github.com/nginxinc/kubernetes-ingress/vendor/k8s.io/apimachinery/pkg/util/wait.JitterUntil.func1(0xc4202787a8)
/go/src/github.com/nginxinc/kubernetes-ingress/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:133 +0x54
github.com/nginxinc/kubernetes-ingress/vendor/k8s.io/apimachinery/pkg/util/wait.JitterUntil(0xc4206dffa8, 0x3b9aca00, 0x0, 0x1, 0xc42016e480)
/go/src/github.com/nginxinc/kubernetes-ingress/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:134 +0xbd
github.com/nginxinc/kubernetes-ingress/vendor/k8s.io/apimachinery/pkg/util/wait.Until(0xc4202787a8, 0x3b9aca00, 0xc42016e480)
/go/src/github.com/nginxinc/kubernetes-ingress/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:88 +0x4d
github.com/nginxinc/kubernetes-ingress/internal/queue.(*TaskQueue).Run(0xc4201aad60, 0x3b9aca00, 0xc42016e480)
/go/src/github.com/nginxinc/kubernetes-ingress/internal/queue/queue.go:37 +0x55
created by github.com/nginxinc/kubernetes-ingress/internal/controller.(*LoadBalancerController).Run
/go/src/github.com/nginxinc/kubernetes-ingress/internal/controller/controller.go:256 +0x152
To Reproduce
Steps to reproduce the behavior:
-
Create Namespace
-
Create Service Account
-
Create Role in UCP ith following Operations:
Name
nginx-ingress
Kubernetes Config Map Operations
Kubernetes Config Map Create
Kubernetes Config Map Get
Kubernetes Config Map List
Kubernetes Config Map Update
Kubernetes Config Map Watch
Kubernetes Endpoint Operations
Kubernetes Endpoint Get
Kubernetes Endpoint List
Kubernetes Endpoint Watch
Kubernetes Event Operations
Kubernetes Event Create
Kubernetes Event Patch
Kubernetes Ingress Operations
Kubernetes Ingress Get
Kubernetes Ingress List
Kubernetes Ingress Watch
Kubernetes Ingress/status Operations
Kubernetes Ingress/status Update
Kubernetes Pod Operations
Kubernetes Pod List
Kubernetes Secret Operations
Kubernetes Secret Get
Kubernetes Secret List
Kubernetes Secret Watch
Kubernetes Service Operations
Kubernetes Service Get
Kubernetes Service List
Kubernetes Service Watch
-
Create Role using nginx-ingress grants on nginx-ingress service account.
-
Deploy Ingress Controller Deployment
kind: ConfigMap
apiVersion: v1
metadata:
name: nginx-config
namespace: nginx-ingress
data:
server-names-hash-bucket-size: "64" # default value depends on the size of the processor’s cache line. See http://nginx.org/en/docs/http/ngx_http_core_module.html#server_names_hash_bucket_size
server-names-hash-max-size: "1024" # default is "512". See http://nginx.org/en/docs/http/ngx_http_core_module.html#server_names_hash_max_size
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nginx-ingress
namespace: nginx-ingress
spec:
replicas: 1
selector:
matchLabels:
app: nginx-ingress
template:
metadata:
labels:
app: nginx-ingress
spec:
serviceAccountName: nginx-ingress
containers:
- image: XXXXXXXXXX/nginx-ingress-plus:edge
imagePullPolicy: Always
name: nginx-plus-ingress
ports:
- name: http
containerPort: 80
- name: https
containerPort: 443
env:
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
args:
- -nginx-plus
- -nginx-configmaps=$(POD_NAMESPACE)/nginx-config
- -default-server-tls-secret=$(POD_NAMESPACE)/default-server-secret
- -v=3 # Enables extensive logging. Useful for trooublshooting.
#- -report-ingress-status
#- -external-service=nginx-ingress
#- -enable-leader-election
---
apiVersion: v1
kind: Service
metadata:
name: nginx-ingress
namespace: nginx-ingress
spec:
type: NodePort
ports:
- port: 80
targetPort: 80
protocol: TCP
name: http
- port: 443
targetPort: 443
protocol: TCP
name: https
selector:
app: nginx-ingress
- Deploy Ingress Resource
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: colors-ingress
annotations:
nginx.com/sticky-cookie-services: "serviceName=red-svc red_svc_id expires=60s path=/;"
nginx.com/health-checks: "true"
nginx.org/rewrites: "serviceName=red-svc rewrite=/;"
spec:
rules:
- host: blue.example.com
http:
paths:
- path: /red/
backend:
serviceName: red-svc
servicePort: 80
- backend:
serviceName: blue-svc
servicePort: 80
- host: red.example.com
http:
paths:
- backend:
serviceName: red-svc
servicePort: 80
- Show Ingress Resource
$ kubectl get ingress
NAME HOSTS ADDRESS PORTS AGE
colors-ingress blue.example.com,red.example.com 80 38m
Expected behavior
I expect to have a working ingress controller, but I can not get it running when deploying ingress resources.
Your environment
- Version of the Ingress Controller - NGINX Ingress controller Version=edge GitCommit=8fe1653
- Version of Kubernetes - v1.8.15-docker-1
- Kubernetes platform - Docker Enterprise Edition 2.0.6
- Using NGINX or NGINX Plus - NGINX Plus