-
Notifications
You must be signed in to change notification settings - Fork 195
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Marketplace nginx Ingress controller not working with a valid Ingress resource #278
Comments
@dirsigler is there something we can do to fix this? |
Has probably to do with the recent changes in the Ingress API and the Kubernetes Version of Civo moving forward. Will update and test the Vault version provided in the Civo Marketplace which should hopefully fix this issue. |
First I thought I miss-read what @omkensey wrote, because he stated that there is a problem with the Nginx application provided in the marketplace and not with the Vault application. But after testing now several things I think it is not a problem with Vault and maybe not a problem with NGINX. In my tests there are problems with the What worked with both Ingress(es?) was using a subdomain in front of the Civo DNS instead. apiVersion: v1
items:
- apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
meta.helm.sh/release-name: vault
meta.helm.sh/release-namespace: vault # remove the rewrite annotation
creationTimestamp: "2021-11-22T10:04:28Z"
generation: 2
labels:
app.kubernetes.io/instance: vault
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: vault
helm.sh/chart: vault-0.18.0
name: vault
namespace: vault
resourceVersion: "1472"
uid: bb3a9985-fcef-4337-a858-389aadf400c8
spec:
ingressClassName: nginx
rules:
- host: vault.my-unique-dns-string.k8s.civo.com # add a just a subdomain to the Civo DNS
http:
paths:
- backend:
service:
name: vault-active
port:
number: 8200
path: / # changed the path
pathType: Prefix
status:
loadBalancer:
ingress:
- ip: 74.220.29.204
kind: List
metadata:
resourceVersion: ""
selfLink: "" Maybe I miss something and there is a difference between the Nginx Ingress resources which are installed via the Marketplace and the ones installed via the official Helm Chart way, but I could not make it work with either in the way @omkensey specified. |
Even tho I think this issue is more related to either a misconfiguration or a problem with the marketplace provided Nginx Ingress I created a PR to (finally) update Vault. |
With my Ingress resource, rather than host-based routing I was using path-based routing. That was why I needed the rewrite-rule annotation and the capture groups in the path. I get a warning about maps vs. strings on the annotations when I do the Helm install, but it works (gives the correct annotation in the manifest). The other thing I noticed about the Marketplace version vs the version installed directly from the Helm chart is it looked like the Marketplace version created two Jobs that looked like they did something with admission controllers, but the Helm-installed version didn't. (I don't know why this is since looking at the chart it looks like the Helm chart should create those jobs by default.) Also:
I appreciate it, I was going to look at that next :) |
I also ran tests and as @dirsigler said, at this moment with |
This was actually an issue on my side with misconfigured DNS. |
This issue is a:
If the issue concerns an existing Marketplace application, please tag the maintainer of the application (found in
manifest.yaml
) below:@saiyam1814
Ingress resource created by a Helm chart works
Ingress resource did not work
I initially created a cluster with the Nginx Ingress controller installed from the marketplace. I wanted to run a newer version of Vault than what the Marketplace app installs, so I installed it via Helm directly, with some values set so that I could run an HA cluster with an ingress:
This created the following Ingress:
Using the marketplace version of the Kubernetes nginx ingress, this Ingress did nothing -- I saw in the controller logs that it was accepted but no traffic ever was logged and all access attempts gave me a 404 from nginx. When I spun up a new cluster without the marketplace nginx Ingress controller installed, and installed it manually using the Helm chart provided by the project, the above ingress worked as expected and after unsealing, I was able to set VAULT_ADDR in my client to
http://[my cluster DNS address]/vault
and use the Vault client to manage the cluster as normal.The text was updated successfully, but these errors were encountered: