Deploy GitHub Pages

This commit is contained in:
Travis Bot 2020-02-09 23:53:05 +00:00
parent ec2af1dbc3
commit 006cda8fee
62 changed files with 1885 additions and 1843 deletions

View file

@ -34,7 +34,7 @@
<meta name="lang:search.tokenizer" content="[\s\-]+">
<link rel="shortcut icon" href="../../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.4.3">
<meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.6.2">
@ -42,7 +42,7 @@
<link rel="stylesheet" href="../../assets/stylesheets/application.30686662.css">
<link rel="stylesheet" href="../../assets/stylesheets/application.adb8469c.css">
<link rel="stylesheet" href="../../assets/stylesheets/application-palette.a8b3c06d.css">
@ -53,12 +53,12 @@
<script src="../../assets/javascripts/modernizr.74668098.js"></script>
<script src="../../assets/javascripts/modernizr.86422ebf.js"></script>
<link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700%7CRoboto+Mono&display=fallback">
<style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
@ -114,7 +114,7 @@
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" data-md-component="overlay" for="__drawer"></label>
<a href="#exposing-fastcgi-servers" tabindex="1" class="md-skip">
<a href="#exposing-fastcgi-servers" tabindex="0" class="md-skip">
Skip to content
</a>
@ -123,7 +123,7 @@
<nav class="md-header-nav md-grid">
<div class="md-flex">
<div class="md-flex__cell md-flex__cell--shrink">
<a href="https://kubernetes.github.io/ingress-nginx" title="NGINX Ingress Controller" class="md-header-nav__button md-logo">
<a href="https://kubernetes.github.io/ingress-nginx" title="NGINX Ingress Controller" aria-label="NGINX Ingress Controller" class="md-header-nav__button md-logo">
<i class="md-icon">public</i>
@ -154,7 +154,7 @@
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
<input type="text" class="md-search__input" aria-label="search" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
<label class="md-icon md-search__icon" for="__search"></label>
<button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
&#xE5CD;
@ -688,20 +688,13 @@
</li>
<li class="md-nav__item">
<a href="#the-fastcgi-ingress-annotations" class="md-nav__link">
The FastCGI Ingress Annotations
<a href="#fastcgi-ingress-annotations" class="md-nav__link">
FastCGI Ingress Annotations
</a>
<nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#the-nginxingresskubernetesiobackend-protocol-annotation" class="md-nav__link">
The nginx.ingress.kubernetes.io/backend-protocol Annotation
</a>
</li>
<li class="md-nav__item">
<a href="#the-nginxingresskubernetesiofastcgi-index-annotation" class="md-nav__link">
The nginx.ingress.kubernetes.io/fastcgi-index Annotation
@ -1209,20 +1202,13 @@
</li>
<li class="md-nav__item">
<a href="#the-fastcgi-ingress-annotations" class="md-nav__link">
The FastCGI Ingress Annotations
<a href="#fastcgi-ingress-annotations" class="md-nav__link">
FastCGI Ingress Annotations
</a>
<nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#the-nginxingresskubernetesiobackend-protocol-annotation" class="md-nav__link">
The nginx.ingress.kubernetes.io/backend-protocol Annotation
</a>
</li>
<li class="md-nav__item">
<a href="#the-nginxingresskubernetesiofastcgi-index-annotation" class="md-nav__link">
The nginx.ingress.kubernetes.io/fastcgi-index Annotation
@ -1266,10 +1252,10 @@
<p><strong>FastCGI</strong> is a <a href="https://en.wikipedia.org/wiki/Binary_protocol" title="Binary protocol">binary protocol</a> for interfacing interactive programs with a <a href="https://en.wikipedia.org/wiki/Web_server" title="Web server">web server</a>. [...] (It's) aim is to reduce the overhead related to interfacing between web server and CGI programs, allowing a server to handle more web page requests per unit of time.</p>
<p>&mdash; Wikipedia</p>
</blockquote>
<p>The <em>ingress-nginx</em> ingress controller can be used to directly expose <a href="https://en.wikipedia.org/wiki/FastCGI">FastCGI</a> servers. Enabling FastCGI in your Ingress only requires setting the <em>backend-protocol</em> annotation to <code class="codehilite">FCGI</code>, and with a couple more annotations you can customize the way <em>ingress-nginx</em> handles the communication with your FastCGI <em>server</em>.</p>
<p>The <em>ingress-nginx</em> ingress controller can be used to directly expose <a href="https://en.wikipedia.org/wiki/FastCGI">FastCGI</a> servers. Enabling FastCGI in your Ingress only requires setting the <em>backend-protocol</em> annotation to <code class="codehilite"><span class="err">FCGI</span></code>, and with a couple more annotations you can customize the way <em>ingress-nginx</em> handles the communication with your FastCGI <em>server</em>.</p>
<h2 id="example-objects-to-expose-a-fastcgi-pod">Example Objects to Expose a FastCGI Pod<a class="headerlink" href="#example-objects-to-expose-a-fastcgi-pod" title="Permanent link"></a></h2>
<p>The <em>Pod</em> example object below exposes port <code class="codehilite">9000</code>, which is the conventional FastCGI port.</p>
<div class="codehilite"><pre><span></span><span class="nt">apiVersion</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">v1</span>
<p>The <em>Pod</em> example object below exposes port <code class="codehilite"><span class="err">9000</span></code>, which is the conventional FastCGI port.</p>
<div class="codehilite"><pre><span></span><code><span class="nt">apiVersion</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">v1</span>
<span class="nt">kind</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">Pod</span>
<span class="nt">metadata</span><span class="p">:</span>
<span class="nt">name</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">example-app</span>
@ -1282,10 +1268,10 @@
<span class="nt">ports</span><span class="p">:</span>
<span class="p p-Indicator">-</span> <span class="nt">containerPort</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">9000</span>
<span class="nt">name</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">fastcgi</span>
</pre></div>
</code></pre></div>
<p>The <em>Service</em> object example below matches port <code class="codehilite">9000</code> from the <em>Pod</em> object above.</p>
<div class="codehilite"><pre><span></span><span class="nt">apiVersion</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">v1</span>
<p>The <em>Service</em> object example below matches port <code class="codehilite"><span class="err">9000</span></code> from the <em>Pod</em> object above.</p>
<div class="codehilite"><pre><span></span><code><span class="nt">apiVersion</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">v1</span>
<span class="nt">kind</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">Service</span>
<span class="nt">metadata</span><span class="p">:</span>
<span class="nt">name</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">example-service</span>
@ -1296,10 +1282,10 @@
<span class="p p-Indicator">-</span> <span class="nt">port</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">9000</span>
<span class="nt">targetPort</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">9000</span>
<span class="nt">name</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">fastcgi</span>
</pre></div>
</code></pre></div>
<p>And the <em>Ingress</em> and <em>ConfigMap</em> objects below demonstrates the supported <em>FastCGI</em> specific annotations (NGINX actually has 50 FastCGI directives, all of which have not been exposed in the ingress yet), and matches the service <code class="codehilite">example-service</code>, and the port named <code class="codehilite">fastcgi</code> from above. The <em>ConfigMap</em> <strong>must</strong> be created first for the <em>Ingress Controller</em> to be able to find it when the <em>Ingress</em> object is created, otherwise you will need to restart the <em>Ingress Controller</em> pods.</p>
<div class="codehilite"><pre><span></span><span class="c1"># The ConfigMap MUST be created first for the ingress controller to be able to</span>
<p>And the <em>Ingress</em> and <em>ConfigMap</em> objects below demonstrates the supported <em>FastCGI</em> specific annotations (NGINX actually has 50 FastCGI directives, all of which have not been exposed in the ingress yet), and matches the service <code class="codehilite"><span class="err">example-service</span></code>, and the port named <code class="codehilite"><span class="err">fastcgi</span></code> from above. The <em>ConfigMap</em> <strong>must</strong> be created first for the <em>Ingress Controller</em> to be able to find it when the <em>Ingress</em> object is created, otherwise you will need to restart the <em>Ingress Controller</em> pods.</p>
<div class="codehilite"><pre><span></span><code><span class="c1"># The ConfigMap MUST be created first for the ingress controller to be able to</span>
<span class="c1"># find it when the Ingress object is created.</span>
<span class="nt">apiVersion</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">v1</span>
@ -1328,41 +1314,41 @@
<span class="p p-Indicator">-</span> <span class="nt">backend</span><span class="p">:</span>
<span class="nt">serviceName</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">example-service</span>
<span class="nt">servicePort</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">fastcgi</span>
</pre></div>
</code></pre></div>
<h2 id="the-fastcgi-ingress-annotations">The FastCGI Ingress Annotations<a class="headerlink" href="#the-fastcgi-ingress-annotations" title="Permanent link"></a></h2>
<h3 id="the-nginxingresskubernetesiobackend-protocol-annotation">The <code class="codehilite">nginx.ingress.kubernetes.io/backend-protocol</code> Annotation<a class="headerlink" href="#the-nginxingresskubernetesiobackend-protocol-annotation" title="Permanent link"></a></h3>
<p>To enable FastCGI, the <code class="codehilite">backend-protocol</code> annotation needs to be set to <code class="codehilite">FCGI</code>, which overrides the default <code class="codehilite">HTTP</code> value.</p>
<h2 id="fastcgi-ingress-annotations">FastCGI Ingress Annotations<a class="headerlink" href="#fastcgi-ingress-annotations" title="Permanent link"></a></h2>
<p>To enable FastCGI, the <code class="codehilite"><span class="err">nginx.ingress.kubernetes.io/backend-protocol</span></code> annotation needs to be set to <code class="codehilite"><span class="err">FCGI</span></code>, which overrides the default <code class="codehilite"><span class="err">HTTP</span></code> value.</p>
<blockquote>
<p><code class="codehilite">nginx.ingress.kubernetes.io/backend-protocol: &quot;FCGI&quot;</code></p>
<p><code class="codehilite"><span class="err">nginx.ingress.kubernetes.io/backend-protocol: &quot;FCGI&quot;</span></code></p>
</blockquote>
<p>This enables the <em>FastCGI</em> mode for the whole <em>Ingress</em> object.</p>
<h3 id="the-nginxingresskubernetesiofastcgi-index-annotation">The <code class="codehilite">nginx.ingress.kubernetes.io/fastcgi-index</code> Annotation<a class="headerlink" href="#the-nginxingresskubernetesiofastcgi-index-annotation" title="Permanent link"></a></h3>
<p>To specify an index file, the <code class="codehilite">fastcgi-index</code> annotation value can optionally be set. In the example below, the value is set to <code class="codehilite">index.php</code>. This annotation corresponds to <a href="http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_index">the <em>NGINX</em> <code class="codehilite">fastcgi_index</code> directive</a>.</p>
<p><strong>This enables the <em>FastCGI</em> mode for all paths defined in the <em>Ingress</em> object</strong></p>
<h3 id="the-nginxingresskubernetesiofastcgi-index-annotation">The <code class="codehilite"><span class="err">nginx.ingress.kubernetes.io/fastcgi-index</span></code> Annotation<a class="headerlink" href="#the-nginxingresskubernetesiofastcgi-index-annotation" title="Permanent link"></a></h3>
<p>To specify an index file, the <code class="codehilite"><span class="err">fastcgi-index</span></code> annotation value can optionally be set. In the example below, the value is set to <code class="codehilite"><span class="err">index.php</span></code>. This annotation corresponds to <a href="http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_index">the <em>NGINX</em> <code class="codehilite"><span class="err">fastcgi_index</span></code> directive</a>.</p>
<blockquote>
<p><code class="codehilite">nginx.ingress.kubernetes.io/fastcgi-index: &quot;index.php&quot;</code></p>
<p><code class="codehilite"><span class="err">nginx.ingress.kubernetes.io/fastcgi-index: &quot;index.php&quot;</span></code></p>
</blockquote>
<h3 id="the-nginxingresskubernetesiofastcgi-params-configmap-annotation">The <code class="codehilite">nginx.ingress.kubernetes.io/fastcgi-params-configmap</code> Annotation<a class="headerlink" href="#the-nginxingresskubernetesiofastcgi-params-configmap-annotation" title="Permanent link"></a></h3>
<p>To specify <a href="http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_param"><em>NGINX</em> <code class="codehilite">fastcgi_param</code> directives</a>, the <code class="codehilite">fastcgi-params-configmap</code> annotation is used, which in turn must lead to a <em>ConfigMap</em> object containing the <em>NGINX</em> <code class="codehilite">fastcgi_param</code> directives as key/values.</p>
<h3 id="the-nginxingresskubernetesiofastcgi-params-configmap-annotation">The <code class="codehilite"><span class="err">nginx.ingress.kubernetes.io/fastcgi-params-configmap</span></code> Annotation<a class="headerlink" href="#the-nginxingresskubernetesiofastcgi-params-configmap-annotation" title="Permanent link"></a></h3>
<p>To specify <a href="http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_param"><em>NGINX</em> <code class="codehilite"><span class="err">fastcgi_param</span></code> directives</a>, the <code class="codehilite"><span class="err">fastcgi-params-configmap</span></code> annotation is used, which in turn must lead to a <em>ConfigMap</em> object containing the <em>NGINX</em> <code class="codehilite"><span class="err">fastcgi_param</span></code> directives as key/values.</p>
<blockquote>
<p><code class="codehilite">nginx.ingress.kubernetes.io/fastcgi-params-configmap: &quot;example-configmap&quot;</code></p>
<p><code class="codehilite"><span class="err">nginx.ingress.kubernetes.io/fastcgi-params-configmap: &quot;example-configmap&quot;</span></code></p>
</blockquote>
<p>And the <em>ConfigMap</em> object to specify the <code class="codehilite">SCRIPT_FILENAME</code> and <code class="codehilite">HTTP_PROXY</code> <em>NGINX's</em> <code class="codehilite">fastcgi_param</code> directives will look like the following:</p>
<p><div class="codehilite"><pre><span></span><span class="nt">apiVersion</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">v1</span>
<p>And the <em>ConfigMap</em> object to specify the <code class="codehilite"><span class="err">SCRIPT_FILENAME</span></code> and <code class="codehilite"><span class="err">HTTP_PROXY</span></code> <em>NGINX's</em> <code class="codehilite"><span class="err">fastcgi_param</span></code> directives will look like the following:</p>
<p><div class="codehilite"><pre><span></span><code><span class="nt">apiVersion</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">v1</span>
<span class="nt">kind</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">ConfigMap</span>
<span class="nt">metadata</span><span class="p">:</span>
<span class="nt">name</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">example-configmap</span>
<span class="nt">data</span><span class="p">:</span>
<span class="nt">SCRIPT_FILENAME</span><span class="p">:</span> <span class="s">&quot;/example/index.php&quot;</span>
<span class="nt">HTTP_PROXY</span><span class="p">:</span> <span class="s">&quot;&quot;</span>
</pre></div>
</code></pre></div>
Using the <em>namespace/</em> prefix is also supported, for example:</p>
<blockquote>
<p><code class="codehilite">nginx.ingress.kubernetes.io/fastcgi-params-configmap: &quot;example-namespace/example-configmap&quot;</code></p>
<p><code class="codehilite"><span class="err">nginx.ingress.kubernetes.io/fastcgi-params-configmap: &quot;example-namespace/example-configmap&quot;</span></code></p>
</blockquote>
@ -1417,9 +1403,9 @@ Using the <em>namespace/</em> prefix is also supported, for example:</p>
<div class="md-footer-copyright">
powered by
<a href="https://www.mkdocs.org">MkDocs</a>
<a href="https://www.mkdocs.org" target="_blank" rel="noopener">MkDocs</a>
and
<a href="https://squidfunk.github.io/mkdocs-material/">
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs</a>
</div>
@ -1429,7 +1415,7 @@ Using the <em>namespace/</em> prefix is also supported, for example:</p>
</div>
<script src="../../assets/javascripts/application.ac79c3b0.js"></script>
<script src="../../assets/javascripts/application.c33a9706.js"></script>
<script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script>