Deploy GitHub Pages
This commit is contained in:
parent
bc6e898a19
commit
cf75938808
56 changed files with 483 additions and 475 deletions
|
|
@ -1219,8 +1219,8 @@
|
|||
<a href="https://github.com/kubernetes/ingress-nginx/edit/master/docs/enhancements/20190724-only-dynamic-ssl.md" title="Edit this page" class="md-icon md-content__icon"></a>
|
||||
|
||||
|
||||
<h1 id="remove-static-ssl-configuration-mode">Remove static SSL configuration mode<a class="headerlink" href="#remove-static-ssl-configuration-mode" title="Permanent link">¶</a></h1>
|
||||
<h2 id="table-of-contents">Table of Contents<a class="headerlink" href="#table-of-contents" title="Permanent link">¶</a></h2>
|
||||
<h1 id="remove-static-ssl-configuration-mode">Remove static SSL configuration mode<a class="headerlink" href="#remove-static-ssl-configuration-mode" title="Permanent link"> ¶</a></h1>
|
||||
<h2 id="table-of-contents">Table of Contents<a class="headerlink" href="#table-of-contents" title="Permanent link"> ¶</a></h2>
|
||||
<!-- toc -->
|
||||
|
||||
<ul>
|
||||
|
|
@ -1234,30 +1234,30 @@
|
|||
<li><a href="#alternatives">Alternatives</a>
|
||||
<!-- /toc --></li>
|
||||
</ul>
|
||||
<h2 id="summary">Summary<a class="headerlink" href="#summary" title="Permanent link">¶</a></h2>
|
||||
<h2 id="summary">Summary<a class="headerlink" href="#summary" title="Permanent link"> ¶</a></h2>
|
||||
<p>Since release <a href="https://github.com/kubernetes/ingress-nginx/releases/tag/nginx-0.19.0">0.19.0</a> is possible to configure SSL certificates without the need of NGINX reloads (thanks to lua) and after release <a href="https://github.com/kubernetes/ingress-nginx/releases/tag/nginx-0.19.0">0.24.0</a> the default enabled mode is dynamic.</p>
|
||||
<h2 id="motivation">Motivation<a class="headerlink" href="#motivation" title="Permanent link">¶</a></h2>
|
||||
<h2 id="motivation">Motivation<a class="headerlink" href="#motivation" title="Permanent link"> ¶</a></h2>
|
||||
<p>The static configuration implies reloads, something that affects the majority of the users.</p>
|
||||
<h3 id="goals">Goals<a class="headerlink" href="#goals" title="Permanent link">¶</a></h3>
|
||||
<h3 id="goals">Goals<a class="headerlink" href="#goals" title="Permanent link"> ¶</a></h3>
|
||||
<ul>
|
||||
<li>Deprecation of the flag <code class="codehilite">--enable-dynamic-certificates</code>.</li>
|
||||
<li>Cleanup of the codebase.</li>
|
||||
</ul>
|
||||
<h3 id="non-goals">Non-Goals<a class="headerlink" href="#non-goals" title="Permanent link">¶</a></h3>
|
||||
<h3 id="non-goals">Non-Goals<a class="headerlink" href="#non-goals" title="Permanent link"> ¶</a></h3>
|
||||
<ul>
|
||||
<li>Features related to certificate authentication are not changed in any way.</li>
|
||||
</ul>
|
||||
<h2 id="proposal">Proposal<a class="headerlink" href="#proposal" title="Permanent link">¶</a></h2>
|
||||
<h2 id="proposal">Proposal<a class="headerlink" href="#proposal" title="Permanent link"> ¶</a></h2>
|
||||
<ul>
|
||||
<li>Remove static SSL configuration</li>
|
||||
</ul>
|
||||
<h3 id="implementation-detailsnotesconstraints">Implementation Details/Notes/Constraints<a class="headerlink" href="#implementation-detailsnotesconstraints" title="Permanent link">¶</a></h3>
|
||||
<h3 id="implementation-detailsnotesconstraints">Implementation Details/Notes/Constraints<a class="headerlink" href="#implementation-detailsnotesconstraints" title="Permanent link"> ¶</a></h3>
|
||||
<ul>
|
||||
<li>Deprecate the flag Move the directives <code class="codehilite">ssl_certificate</code> and <code class="codehilite">ssl_certificate_key</code> from each server block to the <code class="codehilite">http</code> section. These settings are required to avoid NGINX errors in the logs.</li>
|
||||
<li>Remove any action of the flag <code class="codehilite">--enable-dynamic-certificates</code></li>
|
||||
</ul>
|
||||
<h2 id="drawbacks">Drawbacks<a class="headerlink" href="#drawbacks" title="Permanent link">¶</a></h2>
|
||||
<h2 id="alternatives">Alternatives<a class="headerlink" href="#alternatives" title="Permanent link">¶</a></h2>
|
||||
<h2 id="drawbacks">Drawbacks<a class="headerlink" href="#drawbacks" title="Permanent link"> ¶</a></h2>
|
||||
<h2 id="alternatives">Alternatives<a class="headerlink" href="#alternatives" title="Permanent link"> ¶</a></h2>
|
||||
<p>Keep both implementations</p>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1206,8 +1206,8 @@
|
|||
<a href="https://github.com/kubernetes/ingress-nginx/edit/master/docs/enhancements/20190815-zone-aware-routing.md" title="Edit this page" class="md-icon md-content__icon"></a>
|
||||
|
||||
|
||||
<h1 id="availability-zone-aware-routing">Availability zone aware routing<a class="headerlink" href="#availability-zone-aware-routing" title="Permanent link">¶</a></h1>
|
||||
<h2 id="table-of-contents">Table of Contents<a class="headerlink" href="#table-of-contents" title="Permanent link">¶</a></h2>
|
||||
<h1 id="availability-zone-aware-routing">Availability zone aware routing<a class="headerlink" href="#availability-zone-aware-routing" title="Permanent link"> ¶</a></h1>
|
||||
<h2 id="table-of-contents">Table of Contents<a class="headerlink" href="#table-of-contents" title="Permanent link"> ¶</a></h2>
|
||||
<!-- toc -->
|
||||
|
||||
<ul>
|
||||
|
|
@ -1220,9 +1220,9 @@
|
|||
<li><a href="#drawbacks-optional">Drawbacks [optional]</a>
|
||||
<!-- /toc --></li>
|
||||
</ul>
|
||||
<h2 id="summary">Summary<a class="headerlink" href="#summary" title="Permanent link">¶</a></h2>
|
||||
<h2 id="summary">Summary<a class="headerlink" href="#summary" title="Permanent link"> ¶</a></h2>
|
||||
<p>Teach ingress-nginx about availability zones where endpoints are running in. This way ingress-nginx pod will do its best to proxy to zone-local endpoint.</p>
|
||||
<h2 id="motivation">Motivation<a class="headerlink" href="#motivation" title="Permanent link">¶</a></h2>
|
||||
<h2 id="motivation">Motivation<a class="headerlink" href="#motivation" title="Permanent link"> ¶</a></h2>
|
||||
<p>When users run their services across multiple availability zones they usually pay for egress traffic between zones. Providers such as GCP, Amazon EC charges money for that.
|
||||
ingress-nginx when picking an endpoint to route request to does not consider whether the endpoint is in different zone or the same one. That means it's at least equally likely
|
||||
that it will pick an endpoint from another zone and proxy the request to it. In this situation response from the endpoint to ingress-nginx pod is considered as
|
||||
|
|
@ -1231,18 +1231,18 @@ inter zone traffic and costs money.</p>
|
|||
According to https://datapath.io/resources/blog/what-are-aws-data-transfer-costs-and-how-to-minimize-them/ Amazon also charges the same amount of money sa GCP for cross zone, egress traffic.</p>
|
||||
<p>This can be a lot of money depending on once's traffic. By teaching ingress-nginx about zones we can eliminate or at least decrease this cost.</p>
|
||||
<p>Arguably inter-zone network latency should also be better than cross zone.</p>
|
||||
<h3 id="goals">Goals<a class="headerlink" href="#goals" title="Permanent link">¶</a></h3>
|
||||
<h3 id="goals">Goals<a class="headerlink" href="#goals" title="Permanent link"> ¶</a></h3>
|
||||
<ul>
|
||||
<li>Given a regional cluster running ingress-nginx, ingress-nginx should do best effort to pick zone-local endpoint when proxying</li>
|
||||
<li>This should not impact canary feature</li>
|
||||
<li>ingress-nginx should be able to operate successfully if there's no zonal endpoints</li>
|
||||
</ul>
|
||||
<h3 id="non-goals">Non-Goals<a class="headerlink" href="#non-goals" title="Permanent link">¶</a></h3>
|
||||
<h3 id="non-goals">Non-Goals<a class="headerlink" href="#non-goals" title="Permanent link"> ¶</a></h3>
|
||||
<ul>
|
||||
<li>This feature inherently assumes that endpoints are distributed across zones in a way that they can handle all the traffic from ingress-nginx pod(s) in that zone</li>
|
||||
<li>This feature will be relying on https://kubernetes.io/docs/reference/kubernetes-api/labels-annotations-taints/#failure-domainbetakubernetesiozone, it is not this KEP's goal to support other cases</li>
|
||||
</ul>
|
||||
<h2 id="proposal">Proposal<a class="headerlink" href="#proposal" title="Permanent link">¶</a></h2>
|
||||
<h2 id="proposal">Proposal<a class="headerlink" href="#proposal" title="Permanent link"> ¶</a></h2>
|
||||
<p>The idea here is to have controller part of ingress-nginx to (1) detect what zone its current pod is running in and (2) detect the zone for every endpoints it knows about.
|
||||
After that it will post that data as part of endpoints to Lua land. Then Lua balancer when picking an endpoint will try to pick zone-local endpoint first and
|
||||
if there is no zone-local endpoint then it will fallback to current behaviour.</p>
|
||||
|
|
@ -1269,12 +1269,12 @@ needs to serve the request, we will first try to use zonal balancer for that bac
|
|||
then we will use general balancer. In case of zonal outages we assume that readiness probe will fail and controller will
|
||||
see no endpoints for the backend and therefore we will use general balancer.</p>
|
||||
<p>We can enable the feature using a configmap setting. Doing it this way makes it easier to rollback in case of a problem.</p>
|
||||
<h2 id="implementation-history">Implementation History<a class="headerlink" href="#implementation-history" title="Permanent link">¶</a></h2>
|
||||
<h2 id="implementation-history">Implementation History<a class="headerlink" href="#implementation-history" title="Permanent link"> ¶</a></h2>
|
||||
<ul>
|
||||
<li>initial version of KEP is shipped</li>
|
||||
<li>proposal and implementation details is done</li>
|
||||
</ul>
|
||||
<h2 id="drawbacks-optional">Drawbacks [optional]<a class="headerlink" href="#drawbacks-optional" title="Permanent link">¶</a></h2>
|
||||
<h2 id="drawbacks-optional">Drawbacks [optional]<a class="headerlink" href="#drawbacks-optional" title="Permanent link"> ¶</a></h2>
|
||||
<p>More load on the Kubernetes API server.</p>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1293,7 +1293,7 @@
|
|||
<a href="https://github.com/kubernetes/ingress-nginx/edit/master/docs/enhancements/YYYYMMDD-kep-template.md" title="Edit this page" class="md-icon md-content__icon"></a>
|
||||
|
||||
|
||||
<h1 id="title">Title<a class="headerlink" href="#title" title="Permanent link">¶</a></h1>
|
||||
<h1 id="title">Title<a class="headerlink" href="#title" title="Permanent link"> ¶</a></h1>
|
||||
<p>This is the title of the KEP.
|
||||
Keep it simple and descriptive.
|
||||
A good title can help communicate what the KEP is and should be considered as part of any review.</p>
|
||||
|
|
@ -1320,7 +1320,7 @@ A good title can help communicate what the KEP is and should be considered as pa
|
|||
<p>The <code class="codehilite">Metadata</code> section above is intended to support the creation of tooling around the KEP process.
|
||||
This will be a YAML section that is fenced as a code block.
|
||||
See the KEP process for details on each of these items.</p>
|
||||
<h2 id="table-of-contents">Table of Contents<a class="headerlink" href="#table-of-contents" title="Permanent link">¶</a></h2>
|
||||
<h2 id="table-of-contents">Table of Contents<a class="headerlink" href="#table-of-contents" title="Permanent link"> ¶</a></h2>
|
||||
<p>A table of contents is helpful for quickly jumping to sections of a KEP and for highlighting any additional information provided beyond the standard KEP template.</p>
|
||||
<p>Ensure the TOC is wrapped with <code><!-- toc --&rt;<!-- /toc --&rt;</code> tags, and then generate with <code class="codehilite">hack/update-toc.sh</code>.</p>
|
||||
<!-- toc -->
|
||||
|
|
@ -1348,42 +1348,42 @@ See the KEP process for details on each of these items.</p>
|
|||
<li><a href="#alternatives-optional">Alternatives [optional]</a>
|
||||
<!-- /toc --></li>
|
||||
</ul>
|
||||
<h2 id="summary">Summary<a class="headerlink" href="#summary" title="Permanent link">¶</a></h2>
|
||||
<h2 id="summary">Summary<a class="headerlink" href="#summary" title="Permanent link"> ¶</a></h2>
|
||||
<p>The <code class="codehilite">Summary</code> section is incredibly important for producing high quality user-focused documentation such as release notes or a development roadmap.
|
||||
It should be possible to collect this information before implementation begins in order to avoid requiring implementors to split their attention between writing release notes and implementing the feature itself.</p>
|
||||
<p>A good summary is probably at least a paragraph in length.</p>
|
||||
<h2 id="motivation">Motivation<a class="headerlink" href="#motivation" title="Permanent link">¶</a></h2>
|
||||
<h2 id="motivation">Motivation<a class="headerlink" href="#motivation" title="Permanent link"> ¶</a></h2>
|
||||
<p>This section is for explicitly listing the motivation, goals and non-goals of this KEP.
|
||||
Describe why the change is important and the benefits to users.
|
||||
The motivation section can optionally provide links to <a href="https://github.com/golang/go/wiki/ExperienceReports">experience reports</a> to demonstrate the interest in a KEP within the wider Kubernetes community.</p>
|
||||
<h3 id="goals">Goals<a class="headerlink" href="#goals" title="Permanent link">¶</a></h3>
|
||||
<h3 id="goals">Goals<a class="headerlink" href="#goals" title="Permanent link"> ¶</a></h3>
|
||||
<p>List the specific goals of the KEP.
|
||||
How will we know that this has succeeded?</p>
|
||||
<h3 id="non-goals">Non-Goals<a class="headerlink" href="#non-goals" title="Permanent link">¶</a></h3>
|
||||
<h3 id="non-goals">Non-Goals<a class="headerlink" href="#non-goals" title="Permanent link"> ¶</a></h3>
|
||||
<p>What is out of scope for this KEP?
|
||||
Listing non-goals helps to focus discussion and make progress.</p>
|
||||
<h2 id="proposal">Proposal<a class="headerlink" href="#proposal" title="Permanent link">¶</a></h2>
|
||||
<h2 id="proposal">Proposal<a class="headerlink" href="#proposal" title="Permanent link"> ¶</a></h2>
|
||||
<p>This is where we get down to the nitty gritty of what the proposal actually is.</p>
|
||||
<h3 id="user-stories-optional">User Stories [optional]<a class="headerlink" href="#user-stories-optional" title="Permanent link">¶</a></h3>
|
||||
<h3 id="user-stories-optional">User Stories [optional]<a class="headerlink" href="#user-stories-optional" title="Permanent link"> ¶</a></h3>
|
||||
<p>Detail the things that people will be able to do if this KEP is implemented.
|
||||
Include as much detail as possible so that people can understand the "how" of the system.
|
||||
The goal here is to make this feel real for users without getting bogged down.</p>
|
||||
<h4 id="story-1">Story 1<a class="headerlink" href="#story-1" title="Permanent link">¶</a></h4>
|
||||
<h4 id="story-2">Story 2<a class="headerlink" href="#story-2" title="Permanent link">¶</a></h4>
|
||||
<h3 id="implementation-detailsnotesconstraints-optional">Implementation Details/Notes/Constraints [optional]<a class="headerlink" href="#implementation-detailsnotesconstraints-optional" title="Permanent link">¶</a></h3>
|
||||
<h4 id="story-1">Story 1<a class="headerlink" href="#story-1" title="Permanent link"> ¶</a></h4>
|
||||
<h4 id="story-2">Story 2<a class="headerlink" href="#story-2" title="Permanent link"> ¶</a></h4>
|
||||
<h3 id="implementation-detailsnotesconstraints-optional">Implementation Details/Notes/Constraints [optional]<a class="headerlink" href="#implementation-detailsnotesconstraints-optional" title="Permanent link"> ¶</a></h3>
|
||||
<p>What are the caveats to the implementation?
|
||||
What are some important details that didn't come across above.
|
||||
Go in to as much detail as necessary here.
|
||||
This might be a good place to talk about core concepts and how they releate.</p>
|
||||
<h3 id="risks-and-mitigations">Risks and Mitigations<a class="headerlink" href="#risks-and-mitigations" title="Permanent link">¶</a></h3>
|
||||
<h3 id="risks-and-mitigations">Risks and Mitigations<a class="headerlink" href="#risks-and-mitigations" title="Permanent link"> ¶</a></h3>
|
||||
<p>What are the risks of this proposal and how do we mitigate.
|
||||
Think broadly.
|
||||
For example, consider both security and how this will impact the larger kubernetes ecosystem.</p>
|
||||
<p>How will security be reviewed and by whom?
|
||||
How will UX be reviewed and by whom?</p>
|
||||
<p>Consider including folks that also work outside project.</p>
|
||||
<h2 id="design-details">Design Details<a class="headerlink" href="#design-details" title="Permanent link">¶</a></h2>
|
||||
<h3 id="test-plan">Test Plan<a class="headerlink" href="#test-plan" title="Permanent link">¶</a></h3>
|
||||
<h2 id="design-details">Design Details<a class="headerlink" href="#design-details" title="Permanent link"> ¶</a></h2>
|
||||
<h3 id="test-plan">Test Plan<a class="headerlink" href="#test-plan" title="Permanent link"> ¶</a></h3>
|
||||
<p><strong>Note:</strong> <em>Section not required until targeted at a release.</em></p>
|
||||
<p>Consider the following in developing a test plan for this enhancement:</p>
|
||||
<ul>
|
||||
|
|
@ -1394,14 +1394,14 @@ How will UX be reviewed and by whom?</p>
|
|||
Anything that would count as tricky in the implementation and anything particularly challenging to test should be called out.</p>
|
||||
<p>All code is expected to have adequate tests (eventually with coverage expectations).
|
||||
Please adhere to the <a href="https://git.k8s.io/community/contributors/devel/sig-testing/testing.md">Kubernetes testing guidelines</a> when drafting this test plan.</p>
|
||||
<h4 id="removing-a-deprecated-flag">Removing a deprecated flag<a class="headerlink" href="#removing-a-deprecated-flag" title="Permanent link">¶</a></h4>
|
||||
<h4 id="removing-a-deprecated-flag">Removing a deprecated flag<a class="headerlink" href="#removing-a-deprecated-flag" title="Permanent link"> ¶</a></h4>
|
||||
<ul>
|
||||
<li>Announce deprecation and support policy of the existing flag</li>
|
||||
<li>Two versions passed since introducing the functionality which deprecates the flag (to address version skew)</li>
|
||||
<li>Address feedback on usage/changed behavior, provided on GitHub issues</li>
|
||||
<li>Deprecate the flag</li>
|
||||
</ul>
|
||||
<h2 id="implementation-history">Implementation History<a class="headerlink" href="#implementation-history" title="Permanent link">¶</a></h2>
|
||||
<h2 id="implementation-history">Implementation History<a class="headerlink" href="#implementation-history" title="Permanent link"> ¶</a></h2>
|
||||
<p>Major milestones in the life cycle of a KEP should be tracked in <code class="codehilite">Implementation History</code>.
|
||||
Major milestones might include</p>
|
||||
<ul>
|
||||
|
|
@ -1412,9 +1412,9 @@ Major milestones might include</p>
|
|||
<li>the version of Kubernetes where the KEP graduated to general availability</li>
|
||||
<li>when the KEP was retired or superseded</li>
|
||||
</ul>
|
||||
<h2 id="drawbacks-optional">Drawbacks [optional]<a class="headerlink" href="#drawbacks-optional" title="Permanent link">¶</a></h2>
|
||||
<h2 id="drawbacks-optional">Drawbacks [optional]<a class="headerlink" href="#drawbacks-optional" title="Permanent link"> ¶</a></h2>
|
||||
<p>Why should this KEP <em>not</em> be implemented.</p>
|
||||
<h2 id="alternatives-optional">Alternatives [optional]<a class="headerlink" href="#alternatives-optional" title="Permanent link">¶</a></h2>
|
||||
<h2 id="alternatives-optional">Alternatives [optional]<a class="headerlink" href="#alternatives-optional" title="Permanent link"> ¶</a></h2>
|
||||
<p>Similar to the <code class="codehilite">Drawbacks</code> section the <code class="codehilite">Alternatives</code> section is used to highlight and record other possible approaches to delivering the value proposed by a KEP.</p>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1171,15 +1171,15 @@
|
|||
<a href="https://github.com/kubernetes/ingress-nginx/edit/master/docs/enhancements/README.md" title="Edit this page" class="md-icon md-content__icon"></a>
|
||||
|
||||
|
||||
<h1 id="kubernetes-enhancement-proposals-keps">Kubernetes Enhancement Proposals (KEPs)<a class="headerlink" href="#kubernetes-enhancement-proposals-keps" title="Permanent link">¶</a></h1>
|
||||
<h1 id="kubernetes-enhancement-proposals-keps">Kubernetes Enhancement Proposals (KEPs)<a class="headerlink" href="#kubernetes-enhancement-proposals-keps" title="Permanent link"> ¶</a></h1>
|
||||
<p>A Kubernetes Enhancement Proposal (KEP) is a way to propose, communicate and coordinate on new efforts for the Kubernetes project. For this reason, the <code class="codehilite">ingress-nginx</code> project is adopting it.</p>
|
||||
<h2 id="quick-start-for-the-kep-process">Quick start for the KEP process<a class="headerlink" href="#quick-start-for-the-kep-process" title="Permanent link">¶</a></h2>
|
||||
<h2 id="quick-start-for-the-kep-process">Quick start for the KEP process<a class="headerlink" href="#quick-start-for-the-kep-process" title="Permanent link"> ¶</a></h2>
|
||||
<p>Follow the process outlined in the <a href="YYYYMMDD-kep-template/">KEP template</a></p>
|
||||
<h3 id="do-i-have-to-use-the-kep-process">Do I have to use the KEP process?<a class="headerlink" href="#do-i-have-to-use-the-kep-process" title="Permanent link">¶</a></h3>
|
||||
<h3 id="do-i-have-to-use-the-kep-process">Do I have to use the KEP process?<a class="headerlink" href="#do-i-have-to-use-the-kep-process" title="Permanent link"> ¶</a></h3>
|
||||
<p>No... but we hope that you will.
|
||||
Over time having a rich set of KEPs in one place will make it easier for people to track what is going on in the community and find a structured historic record.</p>
|
||||
<p>KEPs are only required when the changes are wide ranging and impact most of the project.</p>
|
||||
<h3 id="why-would-i-want-to-use-the-kep-process">Why would I want to use the KEP process?<a class="headerlink" href="#why-would-i-want-to-use-the-kep-process" title="Permanent link">¶</a></h3>
|
||||
<h3 id="why-would-i-want-to-use-the-kep-process">Why would I want to use the KEP process?<a class="headerlink" href="#why-would-i-want-to-use-the-kep-process" title="Permanent link"> ¶</a></h3>
|
||||
<p>Our aim with KEPs is to clearly communicate new efforts to the Kubernetes contributor community.
|
||||
As such, we want to build a well curated set of clear proposals in a common format with useful metadata.</p>
|
||||
<p>Benefits to KEP users (in the limit):</p>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue