shareinto opened a new issue, #1711:
URL: https://github.com/apache/apisix-ingress-controller/issues/1711

   ### Current Behavior
   
   Create an ingress and use cert-manager to issue a certificate. At this time, 
check the log and find that the secret cannot be found, and the ingress cannot 
be translated correctly.
   ```apiVersion: networking.k8s.io/v1
   kind: Ingress
   metadata:
     annotations:
       cert-manager.io/cluster-issuer: letsencrypt-codefriend-dns
       kubernetes.io/ingress.class: apisix
       kubernetes.io/tls-acme: "true"
       nginx.ingress.kubernetes.io/service-weight: ""
       nginx.ingress.kubernetes.io/ssl-redirect: "true"
     name: echo
     namespace: default
   spec:
     rules:
     - host: xxxxxxx
       http:
         paths:
         - backend:
             service:
               name: echo-service
               port:
                 number: 80
           path: /
           pathType: Prefix
     tls:
     - hosts:
       - xxxxxxx
       secretName: echo
   ```
   
   the error log:
   ```
   2023-03-06T16:54:47+08:00       error   translation/translator.go:134   
failed to translate ingress tls to apisix tls   {"error": "secret \"echo\" not 
found", "ingress": "&Ingress{ObjectMeta:{echo  default  
ac5cc100-3927-48a9-a7fe-bfa85de5e71f 395422539 1 2023-03-06 16:54:47 +0800 HKT 
<nil> <nil> map[] map[cert-manager.io/cluster-issuer:letsencrypt-codefriend-dns 
kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"networking.k8s.io/v1\",\"kind\":\"Ingress\",\"metadata\":{\"annotations\":{\"cert-manager.io/cluster-issuer\":\"letsencrypt-codefriend-dns\",\"kubernetes.io/ingress.class\":\"nginx\",\"kubernetes.io/tls-acme\":\"true\",\"nginx.ingress.kubernetes.io/service-weight\":\"\",\"nginx.ingress.kubernetes.io/ssl-redirect\":\"true\"},\"name\":\"echo\",\"namespace\":\"default\"},\"spec\":{\"rules\":[{\"host\":\"echoten.lfszo.codefriend.top\",\"http\":{\"paths\":[{\"backend\":{\"service\":{\"name\":\"echo-service\",\"port\":{\"number\":80}}},\"path\":\"/\",\"pathType\
 
":\"Prefix\"}]}}],\"tls\":[{\"hosts\":[\"echoten.lfszo.codefriend.top\"],\"secretName\":\"echo\"}]}}\n
 kubernetes.io/ingress.class:nginx kubernetes.io/tls-acme:true 
nginx.ingress.kubernetes.io/service-weight: 
nginx.ingress.kubernetes.io/ssl-redirect:true] [] [] 
[{kubectl-client-side-apply Update networking.k8s.io/v1 2023-03-06 16:54:47 
+0800 HKT FieldsV1 
{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:cert-manager.io/cluster-issuer\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{},\"f:kubernetes.io/ingress.class\":{},\"f:kubernetes.io/tls-acme\":{},\"f:nginx.ingress.kubernetes.io/service-weight\":{},\"f:nginx.ingress.kubernetes.io/ssl-redirect\":{}}},\"f:spec\":{\"f:rules\":{},\"f:tls\":{}}}
 
}]},Spec:IngressSpec{DefaultBackend:nil,TLS:[]IngressTLS{IngressTLS{Hosts:[echoten.lfszo.codefriend.top],SecretName:echo,},},Rules:[]IngressRule{IngressRule{Host:echoten.lfszo.codefriend.top,IngressRuleValue:IngressRuleValue{HTTP:&HTTPIngressRuleValue{Paths:[]HTTPIngressPath{HTTPIn
 
gressPath{Path:/,Backend:IngressBackend{Resource:nil,Service:&IngressServiceBackend{Name:echo-service,Port:ServiceBackendPort{Name:,Number:80,},},},PathType:*Prefix,},},},},},},IngressClassName:nil,},Status:IngressStatus{LoadBalancer:{[]},},}"}
   ```
   
   until the secret is created, the ingress is not reprocessed, so the 
corresponding route and upstream are not created
   
   
   ### Expected Behavior
   
   When waiting until the secret is created, the corresponding route and 
upstream should be created correctly
   
   ### Error Logs
   
   2023-03-06T16:54:47+08:00       error   translation/translator.go:134   
failed to translate ingress tls to apisix tls   {"error": "secret \"echo\" not 
found", "ingress": "&Ingress{ObjectMeta:{echo  default  
ac5cc100-3927-48a9-a7fe-bfa85de5e71f 395422539 1 2023-03-06 16:54:47 +0800 HKT 
<nil> <nil> map[] map[cert-manager.io/cluster-issuer:letsencrypt-codefriend-dns 
kubectl.kubernetes.io/last-applied-configuration:{\"apiVersion\":\"networking.k8s.io/v1\",\"kind\":\"Ingress\",\"metadata\":{\"annotations\":{\"cert-manager.io/cluster-issuer\":\"letsencrypt-codefriend-dns\",\"kubernetes.io/ingress.class\":\"nginx\",\"kubernetes.io/tls-acme\":\"true\",\"nginx.ingress.kubernetes.io/service-weight\":\"\",\"nginx.ingress.kubernetes.io/ssl-redirect\":\"true\"},\"name\":\"echo\",\"namespace\":\"default\"},\"spec\":{\"rules\":[{\"host\":\"echoten.lfszo.codefriend.top\",\"http\":{\"paths\":[{\"backend\":{\"service\":{\"name\":\"echo-service\",\"port\":{\"number\":80}}},\"path\":\"/\",\"pathType\
 
":\"Prefix\"}]}}],\"tls\":[{\"hosts\":[\"echoten.lfszo.codefriend.top\"],\"secretName\":\"echo\"}]}}\n
 kubernetes.io/ingress.class:nginx kubernetes.io/tls-acme:true 
nginx.ingress.kubernetes.io/service-weight: 
nginx.ingress.kubernetes.io/ssl-redirect:true] [] [] 
[{kubectl-client-side-apply Update networking.k8s.io/v1 2023-03-06 16:54:47 
+0800 HKT FieldsV1 
{\"f:metadata\":{\"f:annotations\":{\".\":{},\"f:cert-manager.io/cluster-issuer\":{},\"f:kubectl.kubernetes.io/last-applied-configuration\":{},\"f:kubernetes.io/ingress.class\":{},\"f:kubernetes.io/tls-acme\":{},\"f:nginx.ingress.kubernetes.io/service-weight\":{},\"f:nginx.ingress.kubernetes.io/ssl-redirect\":{}}},\"f:spec\":{\"f:rules\":{},\"f:tls\":{}}}
 
}]},Spec:IngressSpec{DefaultBackend:nil,TLS:[]IngressTLS{IngressTLS{Hosts:[echoten.lfszo.codefriend.top],SecretName:echo,},},Rules:[]IngressRule{IngressRule{Host:echoten.lfszo.codefriend.top,IngressRuleValue:IngressRuleValue{HTTP:&HTTPIngressRuleValue{Paths:[]HTTPIngressPath{HTTPIn
 
gressPath{Path:/,Backend:IngressBackend{Resource:nil,Service:&IngressServiceBackend{Name:echo-service,Port:ServiceBackendPort{Name:,Number:80,},},},PathType:*Prefix,},},},},},},IngressClassName:nil,},Status:IngressStatus{LoadBalancer:{[]},},}"}
   
   ### Steps to Reproduce
   
   1. Create a Ingress like below:
   ```
   apiVersion: networking.k8s.io/v1
   kind: Ingress
   metadata:
     annotations:
       cert-manager.io/cluster-issuer: letsencrypt-codefriend-dns
       kubernetes.io/ingress.class: apisix
       kubernetes.io/tls-acme: "true"
       nginx.ingress.kubernetes.io/service-weight: ""
       nginx.ingress.kubernetes.io/ssl-redirect: "true"
     name: echo
     namespace: default
   spec:
     rules:
     - host: xxxxxxx
       http:
         paths:
         - backend:
             service:
               name: echo-service
               port:
                 number: 80
           path: /
           pathType: Prefix
     tls:
     - hosts:
       - xxxxxxx
       secretName: echo
   ```
   
   ### Environment
   
   - APISIX Ingress controller version (run `apisix-ingress-controller version 
--long`)
   ```Version: 1.6.0
   Git SHA: no-git-module
   Go Version: go1.19.4
   Building OS/Arch: linux/amd64
   Running OS/Arch: linux/amd64
   ```
   - Kubernetes cluster version (run `kubectl version`)
   ```
   Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.6", 
GitCommit:"ad3338546da947756e8a88aa6822e9c11e7eac22", GitTreeState:"clean", 
BuildDate:"2022-04-14T08:49:13Z", GoVersion:"go1.17.9", Compiler:"gc", 
Platform:"linux/amd64"}
   Server Version: version.Info{Major:"1", Minor:"20+", 
GitVersion:"v1.20.11-aliyun.1", 
GitCommit:"757dfe7e010afcfa31591df65f26b4b80540975e", GitTreeState:"clean", 
BuildDate:"2022-04-20T09:01:29Z", GoVersion:"go1.15.15", Compiler:"gc", 
Platform:"linux/amd64"}
   ```
   - OS version if running APISIX Ingress controller in a bare-metal 
environment (run `uname -a`)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to