Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation fixes & improvements #2464

Merged
merged 11 commits into from
May 3, 2018
Merged

Conversation

akx
Copy link
Contributor

@akx akx commented May 3, 2018

What this PR does / why we need it:

This PR improves the documentation especially around TLS/SSL, since that's what I've been working on deploying these last few days :), fixes formatting and adds a short doc page on upgrading ingress-nginx (fixes #2458).

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels May 3, 2018
@codecov-io
Copy link

codecov-io commented May 3, 2018

Codecov Report

Merging #2464 into master will increase coverage by 0.05%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #2464      +/-   ##
==========================================
+ Coverage   41.61%   41.67%   +0.05%     
==========================================
  Files          74       74              
  Lines        5291     5291              
==========================================
+ Hits         2202     2205       +3     
+ Misses       2792     2790       -2     
+ Partials      297      296       -1
Impacted Files Coverage Δ
cmd/nginx/main.go 23.44% <0%> (+2.06%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 52e7302...a59b811. Read the comment docs.


Setting the annotation `kubernetes.io/ingress.class` to any other value which does not match a valid ingress class will force the NGINX Ingress controller to ignore your Ingress. If you are only running a single NGINX ingress controller, this can be achieved by setting this to any value except "nginx" or an empty string.
!!! important
Deploying multiple Ingress controllers and not specifying a class annotation will result in both or all controllers fighting to satisfy the Ingress.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and updating the Ingress Status field


## Server-side HTTPS enforcement through redirect

By default the controller redirects (301) to `HTTPS` if TLS is enabled for that ingress. If you want to disable that behavior globally, you can use `ssl-redirect: "false"` in the NGINX config map.
By default the controller redirects HTTP clients to the HTTPS port
443 using a 301 Moved Permanently response if TLS is enabled for that Ingress.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is now 308

args: ...
```

simply change the `0.9.0` tag to the version you wish to upgrade to. The easiest way to do this is
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe

kubectl set image deployment/nginx-ingress-controller \
  nginx-ingress-controller=nginx:quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.14.0

@aledbf
Copy link
Member

aledbf commented May 3, 2018

@akx just some comments from my part

Thank you very much for doing this!

@akx
Copy link
Contributor Author

akx commented May 3, 2018

@aledbf Thanks for the comments, I've distilled them in! (Also, TIL about kubectl set! 😄 )

And you're welcome – I'm doing this also to learn about ingress-nginx and Kubernetes in general 🎓


## Automated Certificate Management with Kube-Lego

[Kube-Lego] automatically requests missing or expired certificates from [Let's Encrypt] by monitoring ingress resources and their referenced secrets. To enable this for an ingress resource you have to add an annotation:
!!! tip
Kube-Lego has reached end-of-life and is being
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should refresh that part to only mention cert-manager.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, but I feel that's out of scope for this PR.


A sample ConfigMap to allow these older clients connect could look something like the following:
To change this default behavior, use a [ConfigMap].
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing link.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch, thanks. :)

@aledbf
Copy link
Member

aledbf commented May 3, 2018

/approve

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 3, 2018
@antoineco
Copy link
Contributor

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label May 3, 2018
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: akx, aledbf, antoineco

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot merged commit 87d1b8b into kubernetes:master May 3, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Document upgrading ingress-nginx
6 participants