Deploy GitHub Pages

This commit is contained in:
k8s-ci-robot 2021-07-21 11:49:13 +00:00
parent 3435e3a42d
commit 43ac631478
33 changed files with 119 additions and 141 deletions

View file

@ -2,22 +2,22 @@
<span class="l l-Scalar l-Scalar-Plain">--for=condition=ready pod \</span> <span class="l l-Scalar l-Scalar-Plain">--for=condition=ready pod \</span>
<span class="l l-Scalar l-Scalar-Plain">--selector=app.kubernetes.io/component=controller \</span> <span class="l l-Scalar l-Scalar-Plain">--selector=app.kubernetes.io/component=controller \</span>
<span class="l l-Scalar l-Scalar-Plain">--timeout=120s</span> <span class="l l-Scalar l-Scalar-Plain">--timeout=120s</span>
</code></pre></div> <h2 id=contents>Contents<a class=headerlink href=#contents title="Permanent link"></a></h2> <ul> <li><a href=#provider-specific-steps>Provider Specific Steps</a></li> <li><a href=#docker-desktop>Docker Desktop</a></li> <li><a href=#minikube>minikube</a></li> <li><a href=#microk8s>microk8s</a></li> <li><a href=#aws>AWS</a></li> <li><a href=#gce-gke>GCE - GKE</a></li> <li><a href=#azure>Azure</a></li> <li><a href=#digital-ocean>Digital Ocean</a></li> <li><a href=#scaleway>Scaleway</a></li> <li><a href=#exoscale>Exoscale</a></li> <li><a href=#oracle-cloud-infrastructure>Oracle Cloud Infrastructure</a> </li> <li><a href=#bare-metal>Bare-metal</a></li> <li><a href=#verify-installation>Verify installation</a></li> <li><a href=#detect-installed-version>Detect installed version</a></li> <li><a href=#using-helm>Using Helm</a></li> </ul> <h3 id=provider-specific-steps>Provider Specific Steps<a class=headerlink href=#provider-specific-steps title="Permanent link"></a></h3> <h4 id=docker-desktop>Docker Desktop<a class=headerlink href=#docker-desktop title="Permanent link"></a></h4> <p>Kubernetes is available in Docker Desktop</p> <ul> <li>Mac, from <a href=https://docs.docker.com/docker-for-mac/release-notes/#stable-releases-of-2018>version 18.06.0-ce</a></li> <li>Windows, from <a href=https://docs.docker.com/docker-for-windows/release-notes/#docker-community-edition-18060-ce-win70-2018-07-25>version 18.06.0-ce</a></li> </ul> <div class=highlight><pre><span></span><code><span class=go>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.48.1/deploy/static/provider/cloud/deploy.yaml</span> </code></pre></div> <h2 id=contents>Contents<a class=headerlink href=#contents title="Permanent link"></a></h2> <ul> <li><a href=#provider-specific-steps>Provider Specific Steps</a></li> <li><a href=#docker-desktop>Docker Desktop</a></li> <li><a href=#minikube>minikube</a></li> <li><a href=#microk8s>microk8s</a></li> <li><a href=#aws>AWS</a></li> <li><a href=#gce-gke>GCE - GKE</a></li> <li><a href=#azure>Azure</a></li> <li><a href=#digital-ocean>Digital Ocean</a></li> <li><a href=#scaleway>Scaleway</a></li> <li><a href=#exoscale>Exoscale</a></li> <li><a href=#oracle-cloud-infrastructure>Oracle Cloud Infrastructure</a> </li> <li><a href=#bare-metal>Bare-metal</a></li> <li><a href=#verify-installation>Verify installation</a></li> <li><a href=#detect-installed-version>Detect installed version</a></li> <li><a href=#using-helm>Using Helm</a></li> </ul> <h3 id=provider-specific-steps>Provider Specific Steps<a class=headerlink href=#provider-specific-steps title="Permanent link"></a></h3> <h4 id=docker-desktop>Docker Desktop<a class=headerlink href=#docker-desktop title="Permanent link"></a></h4> <p>Kubernetes is available in Docker Desktop</p> <ul> <li>Mac, from <a href=https://docs.docker.com/docker-for-mac/release-notes/#stable-releases-of-2018>version 18.06.0-ce</a></li> <li>Windows, from <a href=https://docs.docker.com/docker-for-windows/release-notes/#docker-community-edition-18060-ce-win70-2018-07-25>version 18.06.0-ce</a></li> </ul> <div class=highlight><pre><span></span><code><span class=go>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.47.0/deploy/static/provider/cloud/deploy.yaml</span>
</code></pre></div> <h4 id=minikube>minikube<a class=headerlink href=#minikube title="Permanent link"></a></h4> <p>For standard usage:</p> <div class=highlight><pre><span></span><code><span class=go>minikube addons enable ingress</span> </code></pre></div> <h4 id=minikube>minikube<a class=headerlink href=#minikube title="Permanent link"></a></h4> <p>For standard usage:</p> <div class=highlight><pre><span></span><code><span class=go>minikube addons enable ingress</span>
</code></pre></div> <h4 id=microk8s>microk8s<a class=headerlink href=#microk8s title="Permanent link"></a></h4> <p>For standard usage:</p> <div class=highlight><pre><span></span><code><span class=go>microk8s enable ingress</span> </code></pre></div> <h4 id=microk8s>microk8s<a class=headerlink href=#microk8s title="Permanent link"></a></h4> <p>For standard usage:</p> <div class=highlight><pre><span></span><code><span class=go>microk8s enable ingress</span>
</code></pre></div> <p>Please check the microk8s <a href=https://microk8s.io/docs/addon-ingress>documentation page</a></p> <h4 id=aws>AWS<a class=headerlink href=#aws title="Permanent link"></a></h4> <p>In AWS we use a Network load balancer (NLB) to expose the NGINX Ingress controller behind a Service of <code>Type=LoadBalancer</code>.</p> <h5 id=network-load-balancer-nlb>Network Load Balancer (NLB)<a class=headerlink href=#network-load-balancer-nlb title="Permanent link"></a></h5> <div class=highlight><pre><span></span><code><span class=go>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.48.1/deploy/static/provider/aws/deploy.yaml</span> </code></pre></div> <p>Please check the microk8s <a href=https://microk8s.io/docs/addon-ingress>documentation page</a></p> <h4 id=aws>AWS<a class=headerlink href=#aws title="Permanent link"></a></h4> <p>In AWS we use a Network load balancer (NLB) to expose the NGINX Ingress controller behind a Service of <code>Type=LoadBalancer</code>.</p> <h5 id=network-load-balancer-nlb>Network Load Balancer (NLB)<a class=headerlink href=#network-load-balancer-nlb title="Permanent link"></a></h5> <div class=highlight><pre><span></span><code><span class=go>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.47.0/deploy/static/provider/aws/deploy.yaml</span>
</code></pre></div> <h5 id=tls-termination-in-aws-load-balancer-elb>TLS termination in AWS Load Balancer (ELB)<a class=headerlink href=#tls-termination-in-aws-load-balancer-elb title="Permanent link"></a></h5> <p>In some scenarios is required to terminate TLS in the Load Balancer and not in the ingress controller.</p> <p>For this purpose we provide a template:</p> <ul> <li>Download <a href=https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.48.1/deploy/static/provider/aws/deploy-tls-termination.yaml>deploy-tls-termination.yaml</a></li> </ul> <div class=highlight><pre><span></span><code><span class=go>wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.48.1/deploy/static/provider/aws/deploy-tls-termination.yaml</span> </code></pre></div> <h5 id=tls-termination-in-aws-load-balancer-elb>TLS termination in AWS Load Balancer (ELB)<a class=headerlink href=#tls-termination-in-aws-load-balancer-elb title="Permanent link"></a></h5> <p>In some scenarios is required to terminate TLS in the Load Balancer and not in the ingress controller.</p> <p>For this purpose we provide a template:</p> <ul> <li>Download <a href=https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.47.0/deploy/static/provider/aws/deploy-tls-termination.yaml>deploy-tls-termination.yaml</a></li> </ul> <div class=highlight><pre><span></span><code><span class=go>wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.47.0/deploy/static/provider/aws/deploy-tls-termination.yaml</span>
</code></pre></div> <ul> <li> <p>Edit the file and change:</p> </li> <li> <p>VPC CIDR in use for the Kubernetes cluster:</p> </li> </ul> <p><code>proxy-real-ip-cidr: XXX.XXX.XXX/XX</code></p> <ul> <li>AWS Certificate Manager (ACM) ID</li> </ul> <p><code>arn:aws:acm:us-west-2:XXXXXXXX:certificate/XXXXXX-XXXXXXX-XXXXXXX-XXXXXXXX</code></p> <ul> <li>Deploy the manifest:</li> </ul> <div class=highlight><pre><span></span><code><span class=go>kubectl apply -f deploy-tls-termination.yaml</span> </code></pre></div> <ul> <li> <p>Edit the file and change:</p> </li> <li> <p>VPC CIDR in use for the Kubernetes cluster:</p> </li> </ul> <p><code>proxy-real-ip-cidr: XXX.XXX.XXX/XX</code></p> <ul> <li>AWS Certificate Manager (ACM) ID</li> </ul> <p><code>arn:aws:acm:us-west-2:XXXXXXXX:certificate/XXXXXX-XXXXXXX-XXXXXXX-XXXXXXXX</code></p> <ul> <li>Deploy the manifest:</li> </ul> <div class=highlight><pre><span></span><code><span class=go>kubectl apply -f deploy-tls-termination.yaml</span>
</code></pre></div> <h5 id=nlb-idle-timeouts>NLB Idle Timeouts<a class=headerlink href=#nlb-idle-timeouts title="Permanent link"></a></h5> <p>Idle timeout value for TCP flows is 350 seconds and <a href=https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#connection-idle-timeout>cannot be modified</a>.</p> <p>For this reason, you need to ensure the <a href=http://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_timeout>keepalive_timeout</a> value is configured less than 350 seconds to work as expected.</p> <p>By default NGINX <code>keepalive_timeout</code> is set to <code>75s</code>.</p> <p>More information with regards to timeouts can be found in the <a href=https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#connection-idle-timeout>official AWS documentation</a></p> <h4 id=gce-gke>GCE-GKE<a class=headerlink href=#gce-gke title="Permanent link"></a></h4> <div class="admonition info"> <p class=admonition-title>Info</p> <p>Initialize your user as a cluster-admin with the following command: <div class=highlight><pre><span></span><code><span class=go>kubectl create clusterrolebinding cluster-admin-binding \</span> </code></pre></div> <h5 id=nlb-idle-timeouts>NLB Idle Timeouts<a class=headerlink href=#nlb-idle-timeouts title="Permanent link"></a></h5> <p>Idle timeout value for TCP flows is 350 seconds and <a href=https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#connection-idle-timeout>cannot be modified</a>.</p> <p>For this reason, you need to ensure the <a href=http://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_timeout>keepalive_timeout</a> value is configured less than 350 seconds to work as expected.</p> <p>By default NGINX <code>keepalive_timeout</code> is set to <code>75s</code>.</p> <p>More information with regards to timeouts can be found in the <a href=https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#connection-idle-timeout>official AWS documentation</a></p> <h4 id=gce-gke>GCE-GKE<a class=headerlink href=#gce-gke title="Permanent link"></a></h4> <div class="admonition info"> <p class=admonition-title>Info</p> <p>Initialize your user as a cluster-admin with the following command: <div class=highlight><pre><span></span><code><span class=go>kubectl create clusterrolebinding cluster-admin-binding \</span>
<span class=go> --clusterrole cluster-admin \</span> <span class=go> --clusterrole cluster-admin \</span>
<span class=go> --user $(gcloud config get-value account)</span> <span class=go> --user $(gcloud config get-value account)</span>
</code></pre></div></p> </div> <div class="admonition danger"> <p class=admonition-title>Danger</p> <p>For private clusters, you will need to either add an additional firewall rule that allows master nodes access to port <code>8443/tcp</code> on worker nodes, or change the existing rule that allows access to ports <code>80/tcp</code>, <code>443/tcp</code> and <code>10254/tcp</code> to also allow access to port <code>8443/tcp</code>.</p> <p>See the <a href=https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters#add_firewall_rules>GKE documentation</a> on adding rules and the <a href=https://github.com/kubernetes/kubernetes/issues/79739>Kubernetes issue</a> for more detail.</p> </div> <div class=highlight><pre><span></span><code><span class=go>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.48.1/deploy/static/provider/cloud/deploy.yaml</span> </code></pre></div></p> </div> <div class="admonition danger"> <p class=admonition-title>Danger</p> <p>For private clusters, you will need to either add an additional firewall rule that allows master nodes access to port <code>8443/tcp</code> on worker nodes, or change the existing rule that allows access to ports <code>80/tcp</code>, <code>443/tcp</code> and <code>10254/tcp</code> to also allow access to port <code>8443/tcp</code>.</p> <p>See the <a href=https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters#add_firewall_rules>GKE documentation</a> on adding rules and the <a href=https://github.com/kubernetes/kubernetes/issues/79739>Kubernetes issue</a> for more detail.</p> </div> <div class=highlight><pre><span></span><code><span class=go>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.47.0/deploy/static/provider/cloud/deploy.yaml</span>
</code></pre></div> <div class="admonition failure important"> <p class=admonition-title>Failure</p> <p>Proxy protocol is not supported in GCE/GKE</p> </div> <h4 id=azure>Azure<a class=headerlink href=#azure title="Permanent link"></a></h4> <div class=highlight><pre><span></span><code><span class=go>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.48.1/deploy/static/provider/cloud/deploy.yaml</span> </code></pre></div> <div class="admonition failure important"> <p class=admonition-title>Failure</p> <p>Proxy protocol is not supported in GCE/GKE</p> </div> <h4 id=azure>Azure<a class=headerlink href=#azure title="Permanent link"></a></h4> <div class=highlight><pre><span></span><code><span class=go>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.47.0/deploy/static/provider/cloud/deploy.yaml</span>
</code></pre></div> <p>More information with regards to Azure annotations for ingress controller can be found in the <a href=https://docs.microsoft.com/en-us/azure/aks/ingress-internal-ip#create-an-ingress-controller>official AKS documentation</a>.</p> <h4 id=digital-ocean>Digital Ocean<a class=headerlink href=#digital-ocean title="Permanent link"></a></h4> <div class=highlight><pre><span></span><code><span class=go>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.48.1/deploy/static/provider/do/deploy.yaml</span> </code></pre></div> <p>More information with regards to Azure annotations for ingress controller can be found in the <a href=https://docs.microsoft.com/en-us/azure/aks/ingress-internal-ip#create-an-ingress-controller>official AKS documentation</a>.</p> <h4 id=digital-ocean>Digital Ocean<a class=headerlink href=#digital-ocean title="Permanent link"></a></h4> <div class=highlight><pre><span></span><code><span class=go>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.47.0/deploy/static/provider/do/deploy.yaml</span>
</code></pre></div> <h4 id=scaleway>Scaleway<a class=headerlink href=#scaleway title="Permanent link"></a></h4> <div class=highlight><pre><span></span><code><span class=go>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.48.1/deploy/static/provider/scw/deploy.yaml</span> </code></pre></div> <h4 id=scaleway>Scaleway<a class=headerlink href=#scaleway title="Permanent link"></a></h4> <div class=highlight><pre><span></span><code><span class=go>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.47.0/deploy/static/provider/scw/deploy.yaml</span>
</code></pre></div> <h4 id=exoscale>Exoscale<a class=headerlink href=#exoscale title="Permanent link"></a></h4> <div class=highlight><pre><span></span><code><span class=go>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/exoscale/deploy.yaml</span> </code></pre></div> <h4 id=exoscale>Exoscale<a class=headerlink href=#exoscale title="Permanent link"></a></h4> <div class=highlight><pre><span></span><code><span class=go>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/exoscale/deploy.yaml</span>
</code></pre></div> <p>The full list of annotations supported by Exoscale is available in the Exoscale Cloud Controller Manager <a href=https://github.com/exoscale/exoscale-cloud-controller-manager/blob/master/docs/service-loadbalancer.md>documentation</a>.</p> <h4 id=oracle-cloud-infrastructure>Oracle Cloud Infrastructure<a class=headerlink href=#oracle-cloud-infrastructure title="Permanent link"></a></h4> <div class=highlight><pre><span></span><code><span class=go>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.44.0/deploy/static/provider/cloud/deploy.yaml</span> </code></pre></div> <p>The full list of annotations supported by Exoscale is available in the Exoscale Cloud Controller Manager <a href=https://github.com/exoscale/exoscale-cloud-controller-manager/blob/master/docs/service-loadbalancer.md>documentation</a>.</p> <h4 id=oracle-cloud-infrastructure>Oracle Cloud Infrastructure<a class=headerlink href=#oracle-cloud-infrastructure title="Permanent link"></a></h4> <div class=highlight><pre><span></span><code><span class=go>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.44.0/deploy/static/provider/cloud/deploy.yaml</span>
</code></pre></div> <p>A <a href=https://github.com/oracle/oci-cloud-controller-manager/blob/master/docs/load-balancer-annotations.md>complete list of available annotations for Oracle Cloud Infrastructure</a> can be found in the <a href=https://github.com/oracle/oci-cloud-controller-manager>OCI Cloud Controller Manager</a> documentation.</p> <h4 id=bare-metal>Bare-metal<a class=headerlink href=#bare-metal title="Permanent link"></a></h4> <p>Using <a href=https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport>NodePort</a>:</p> <div class=highlight><pre><span></span><code><span class=go>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.48.1/deploy/static/provider/baremetal/deploy.yaml</span> </code></pre></div> <p>A <a href=https://github.com/oracle/oci-cloud-controller-manager/blob/master/docs/load-balancer-annotations.md>complete list of available annotations for Oracle Cloud Infrastructure</a> can be found in the <a href=https://github.com/oracle/oci-cloud-controller-manager>OCI Cloud Controller Manager</a> documentation.</p> <h4 id=bare-metal>Bare-metal<a class=headerlink href=#bare-metal title="Permanent link"></a></h4> <p>Using <a href=https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport>NodePort</a>:</p> <div class=highlight><pre><span></span><code><span class=go>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.47.0/deploy/static/provider/baremetal/deploy.yaml</span>
</code></pre></div> <div class="admonition tip"> <p class=admonition-title>Tip</p> <p>Applicable on kubernetes clusters deployed on bare-metal with generic Linux distro(Such as CentOs, Ubuntu ...).</p> </div> <div class="admonition info"> <p class=admonition-title>Info</p> <p>For extended notes regarding deployments on bare-metal, see <a href=baremetal/ >Bare-metal considerations</a>.</p> </div> <h3 id=verify-installation>Verify installation<a class=headerlink href=#verify-installation title="Permanent link"></a></h3> <p>To check if the ingress controller pods have started, run the following command:</p> <div class=highlight><pre><span></span><code><span class=go>kubectl get pods -n ingress-nginx \</span> </code></pre></div> <div class="admonition tip"> <p class=admonition-title>Tip</p> <p>Applicable on kubernetes clusters deployed on bare-metal with generic Linux distro(Such as CentOs, Ubuntu ...).</p> </div> <div class="admonition info"> <p class=admonition-title>Info</p> <p>For extended notes regarding deployments on bare-metal, see <a href=baremetal/ >Bare-metal considerations</a>.</p> </div> <h3 id=verify-installation>Verify installation<a class=headerlink href=#verify-installation title="Permanent link"></a></h3> <p>To check if the ingress controller pods have started, run the following command:</p> <div class=highlight><pre><span></span><code><span class=go>kubectl get pods -n ingress-nginx \</span>
<span class=go> -l app.kubernetes.io/name=ingress-nginx --watch</span> <span class=go> -l app.kubernetes.io/name=ingress-nginx --watch</span>
</code></pre></div> <p>Once the ingress controller pods are running, you can cancel the command typing <code>Ctrl+C</code>.</p> <p>Now, you are ready to create your first ingress.</p> <h3 id=detect-installed-version>Detect installed version<a class=headerlink href=#detect-installed-version title="Permanent link"></a></h3> <p>To detect which version of the ingress controller is running, exec into the pod and run <code>nginx-ingress-controller --version</code>.</p> <div class=highlight><pre><span></span><code><span class=go>POD_NAMESPACE=ingress-nginx</span> </code></pre></div> <p>Once the ingress controller pods are running, you can cancel the command typing <code>Ctrl+C</code>.</p> <p>Now, you are ready to create your first ingress.</p> <h3 id=detect-installed-version>Detect installed version<a class=headerlink href=#detect-installed-version title="Permanent link"></a></h3> <p>To detect which version of the ingress controller is running, exec into the pod and run <code>nginx-ingress-controller --version</code>.</p> <div class=highlight><pre><span></span><code><span class=go>POD_NAMESPACE=ingress-nginx</span>

View file

@ -3,7 +3,7 @@
</code></pre></div> <p><strong>Run unit-tests for lua code</strong></p> <div class=highlight><pre><span></span><code><span class=go>make lua-test</span> </code></pre></div> <p><strong>Run unit-tests for lua code</strong></p> <div class=highlight><pre><span></span><code><span class=go>make lua-test</span>
</code></pre></div> <p>Lua tests are located in the directory <code>rootfs/etc/nginx/lua/test</code></p> <div class="admonition important"> <p class=admonition-title>Important</p> <p>Test files must follow the naming convention <code>&lt;mytest&gt;_test.lua</code> or it will be ignored</p> </div> <p><strong>Run e2e test suite</strong></p> <div class=highlight><pre><span></span><code><span class=go>make kind-e2e-test</span> </code></pre></div> <p>Lua tests are located in the directory <code>rootfs/etc/nginx/lua/test</code></p> <div class="admonition important"> <p class=admonition-title>Important</p> <p>Test files must follow the naming convention <code>&lt;mytest&gt;_test.lua</code> or it will be ignored</p> </div> <p><strong>Run e2e test suite</strong></p> <div class=highlight><pre><span></span><code><span class=go>make kind-e2e-test</span>
</code></pre></div> <p>To limit the scope of the tests to execute, we can use the environment variable <code>FOCUS</code></p> <div class=highlight><pre><span></span><code><span class=go>FOCUS=&quot;no-auth-locations&quot; make kind-e2e-test</span> </code></pre></div> <p>To limit the scope of the tests to execute, we can use the environment variable <code>FOCUS</code></p> <div class=highlight><pre><span></span><code><span class=go>FOCUS=&quot;no-auth-locations&quot; make kind-e2e-test</span>
</code></pre></div> <div class="admonition note"> <p class=admonition-title>Note</p> <p>The variable <code>FOCUS</code> defines Ginkgo <a href=https://onsi.github.io/ginkgo/#focused-specs>Focused Specs</a></p> </div> <p>Valid values are defined in the describe definition of the e2e tests like <a href=https://github.com/kubernetes/ingress-nginx/blob/master/test/e2e/defaultbackend/default_backend.go#L29>Default Backend</a></p> <p>The complete list of tests can be found <a href=e2e-tests.md>here</a></p> <h3 id=custom-docker-image>Custom docker image<a class=headerlink href=#custom-docker-image title="Permanent link"></a></h3> <p>In some cases, it can be useful to build a docker image and publish such an image to a private or custom registry location.</p> <p>This can be done setting two environment variables, <code>REGISTRY</code> and <code>TAG</code></p> <div class=highlight><pre><span></span><code><span class=go>export TAG=&quot;dev&quot;</span> </code></pre></div> <div class="admonition note"> <p class=admonition-title>Note</p> <p>The variable <code>FOCUS</code> defines Ginkgo <a href=https://onsi.github.io/ginkgo/#focused-specs>Focused Specs</a></p> </div> <p>Valid values are defined in the describe definition of the e2e tests like <a href=https://github.com/kubernetes/ingress-nginx/blob/master/test/e2e/defaultbackend/default_backend.go#L29>Default Backend</a></p> <p>The complete list of tests can be found <a href=../../e2e-tests/ >here</a></p> <h3 id=custom-docker-image>Custom docker image<a class=headerlink href=#custom-docker-image title="Permanent link"></a></h3> <p>In some cases, it can be useful to build a docker image and publish such an image to a private or custom registry location.</p> <p>This can be done setting two environment variables, <code>REGISTRY</code> and <code>TAG</code></p> <div class=highlight><pre><span></span><code><span class=go>export TAG=&quot;dev&quot;</span>
<span class=go>export REGISTRY=&quot;$USER&quot;</span> <span class=go>export REGISTRY=&quot;$USER&quot;</span>
<span class=go>make build image</span> <span class=go>make build image</span>

View file

@ -1,4 +1,4 @@
apiVersion: networking.k8s.io/v1beta1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: cookie-samesite-none name: cookie-samesite-none
@ -19,7 +19,7 @@ spec:
servicePort: 80 servicePort: 80
path: / path: /
--- ---
apiVersion: networking.k8s.io/v1beta1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: cookie-samesite-strict name: cookie-samesite-strict

View file

@ -1,4 +1,4 @@
apiVersion: networking.k8s.io/v1beta1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: nginx-test name: nginx-test

View file

@ -15,7 +15,7 @@
<span class=go> namespace: default</span> <span class=go> namespace: default</span>
<span class=go>type: Opaque</span> <span class=go>type: Opaque</span>
</code></pre></div> <div class=highlight><pre><span></span><code><span class=go>echo &quot;</span> </code></pre></div> <div class=highlight><pre><span></span><code><span class=go>echo &quot;</span>
<span class=go>apiVersion: networking.k8s.io/v1beta1</span> <span class=go>apiVersion: networking.k8s.io/v1</span>
<span class=go>kind: Ingress</span> <span class=go>kind: Ingress</span>
<span class=go>metadata:</span> <span class=go>metadata:</span>
<span class=go> name: ingress-with-auth</span> <span class=go> name: ingress-with-auth</span>

View file

@ -1,4 +1,4 @@
apiVersion: networking.k8s.io/v1beta1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
annotations: annotations:

View file

@ -6,7 +6,7 @@ NAME HOSTS ADDRESS PORTS AGE
external-auth external-auth-01.sample.com 172.17.4.99 80 13s external-auth external-auth-01.sample.com 172.17.4.99 80 13s
$ kubectl get ing external-auth -o yaml $ kubectl get ing external-auth -o yaml
apiVersion: networking.k8s.io/v1beta1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
annotations: annotations:
@ -16,7 +16,7 @@ metadata:
name: external-auth name: external-auth
namespace: default namespace: default
resourceVersion: &quot;2068378&quot; resourceVersion: &quot;2068378&quot;
selfLink: /apis/networking/v1beta1/namespaces/default/ingresses/external-auth selfLink: /apis/networking/v1/namespaces/default/ingresses/external-auth
uid: 5c388f1d-8970-11e6-9004-080027d2dc94 uid: 5c388f1d-8970-11e6-9004-080027d2dc94
spec: spec:
rules: rules:

View file

@ -1,4 +1,4 @@
apiVersion: networking.k8s.io/v1beta1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
annotations: annotations:

View file

@ -1,4 +1,4 @@
apiVersion: networking.k8s.io/v1beta1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
annotations: annotations:
@ -18,7 +18,7 @@ spec:
--- ---
apiVersion: networking.k8s.io/v1beta1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: oauth2-proxy name: oauth2-proxy

View file

@ -54,7 +54,7 @@ spec:
targetPort: 8080 targetPort: 8080
--- ---
apiVersion: networking.k8s.io/v1beta1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
annotations: annotations:

View file

@ -1,4 +1,4 @@
apiVersion: networking.k8s.io/v1beta1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: nginx-configuration-snippet name: nginx-configuration-snippet

View file

@ -43,7 +43,7 @@ spec:
selector: selector:
k8s-app: demo-echo-service k8s-app: demo-echo-service
--- ---
apiVersion: networking.k8s.io/v1beta1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: public-demo-echo-service name: public-demo-echo-service
@ -61,7 +61,7 @@ spec:
servicePort: 80 servicePort: 80
path: / path: /
--- ---
apiVersion: networking.k8s.io/v1beta1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: secure-demo-echo-service name: secure-demo-echo-service

View file

@ -1,4 +1,4 @@
apiVersion: networking.k8s.io/v1beta1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
annotations: annotations:

View file

@ -1,4 +1,4 @@
apiVersion: networking.k8s.io/v1beta1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
annotations: annotations:

View file

@ -1,4 +1,4 @@
apiVersion: networking.k8s.io/v1beta1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
annotations: annotations:

View file

@ -92,7 +92,7 @@ spec:
fieldPath: status.podIP fieldPath: status.podIP
--- ---
apiVersion: networking.k8s.io/v1beta1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: foo-tls name: foo-tls

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,4 @@
apiVersion: networking.k8s.io/v1beta1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: ingress-nginx name: ingress-nginx

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,4 @@
apiVersion: networking.k8s.io/v1beta1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: nginx-test name: nginx-test

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,207 +1,207 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url>
<loc>https://kubernetes.github.io/ingress-nginx/</loc> <loc>https://kubernetes.github.io/ingress-nginx/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/how-it-works/</loc> <loc>https://kubernetes.github.io/ingress-nginx/how-it-works/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/troubleshooting/</loc> <loc>https://kubernetes.github.io/ingress-nginx/troubleshooting/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/kubectl-plugin/</loc> <loc>https://kubernetes.github.io/ingress-nginx/kubectl-plugin/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/deploy/</loc> <loc>https://kubernetes.github.io/ingress-nginx/deploy/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/deploy/baremetal/</loc> <loc>https://kubernetes.github.io/ingress-nginx/deploy/baremetal/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/deploy/rbac/</loc> <loc>https://kubernetes.github.io/ingress-nginx/deploy/rbac/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/deploy/upgrade/</loc> <loc>https://kubernetes.github.io/ingress-nginx/deploy/upgrade/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/deploy/hardening-guide/</loc> <loc>https://kubernetes.github.io/ingress-nginx/deploy/hardening-guide/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/</loc> <loc>https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/user-guide/basic-usage/</loc> <loc>https://kubernetes.github.io/ingress-nginx/user-guide/basic-usage/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/</loc> <loc>https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/</loc> <loc>https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/custom-template/</loc> <loc>https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/custom-template/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/log-format/</loc> <loc>https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/log-format/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/user-guide/cli-arguments/</loc> <loc>https://kubernetes.github.io/ingress-nginx/user-guide/cli-arguments/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/user-guide/custom-errors/</loc> <loc>https://kubernetes.github.io/ingress-nginx/user-guide/custom-errors/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/user-guide/default-backend/</loc> <loc>https://kubernetes.github.io/ingress-nginx/user-guide/default-backend/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/user-guide/exposing-tcp-udp-services/</loc> <loc>https://kubernetes.github.io/ingress-nginx/user-guide/exposing-tcp-udp-services/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/user-guide/fcgi-services/</loc> <loc>https://kubernetes.github.io/ingress-nginx/user-guide/fcgi-services/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/user-guide/ingress-path-matching/</loc> <loc>https://kubernetes.github.io/ingress-nginx/user-guide/ingress-path-matching/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/user-guide/external-articles/</loc> <loc>https://kubernetes.github.io/ingress-nginx/user-guide/external-articles/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/user-guide/miscellaneous/</loc> <loc>https://kubernetes.github.io/ingress-nginx/user-guide/miscellaneous/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/user-guide/monitoring/</loc> <loc>https://kubernetes.github.io/ingress-nginx/user-guide/monitoring/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/user-guide/multiple-ingress/</loc> <loc>https://kubernetes.github.io/ingress-nginx/user-guide/multiple-ingress/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/user-guide/tls/</loc> <loc>https://kubernetes.github.io/ingress-nginx/user-guide/tls/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/user-guide/third-party-addons/modsecurity/</loc> <loc>https://kubernetes.github.io/ingress-nginx/user-guide/third-party-addons/modsecurity/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/user-guide/third-party-addons/opentracing/</loc> <loc>https://kubernetes.github.io/ingress-nginx/user-guide/third-party-addons/opentracing/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/examples/</loc> <loc>https://kubernetes.github.io/ingress-nginx/examples/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/examples/PREREQUISITES/</loc> <loc>https://kubernetes.github.io/ingress-nginx/examples/PREREQUISITES/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/examples/affinity/cookie/</loc> <loc>https://kubernetes.github.io/ingress-nginx/examples/affinity/cookie/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/examples/auth/basic/</loc> <loc>https://kubernetes.github.io/ingress-nginx/examples/auth/basic/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/examples/auth/client-certs/</loc> <loc>https://kubernetes.github.io/ingress-nginx/examples/auth/client-certs/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/examples/auth/external-auth/</loc> <loc>https://kubernetes.github.io/ingress-nginx/examples/auth/external-auth/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/examples/auth/oauth-external-auth/</loc> <loc>https://kubernetes.github.io/ingress-nginx/examples/auth/oauth-external-auth/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/examples/customization/configuration-snippets/</loc> <loc>https://kubernetes.github.io/ingress-nginx/examples/customization/configuration-snippets/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/examples/customization/custom-configuration/</loc> <loc>https://kubernetes.github.io/ingress-nginx/examples/customization/custom-configuration/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/examples/customization/custom-errors/</loc> <loc>https://kubernetes.github.io/ingress-nginx/examples/customization/custom-errors/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/examples/customization/custom-headers/</loc> <loc>https://kubernetes.github.io/ingress-nginx/examples/customization/custom-headers/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/examples/customization/external-auth-headers/</loc> <loc>https://kubernetes.github.io/ingress-nginx/examples/customization/external-auth-headers/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/examples/customization/ssl-dh-param/</loc> <loc>https://kubernetes.github.io/ingress-nginx/examples/customization/ssl-dh-param/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/examples/customization/sysctl/</loc> <loc>https://kubernetes.github.io/ingress-nginx/examples/customization/sysctl/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/examples/docker-registry/</loc> <loc>https://kubernetes.github.io/ingress-nginx/examples/docker-registry/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/examples/grpc/</loc> <loc>https://kubernetes.github.io/ingress-nginx/examples/grpc/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/examples/multi-tls/</loc> <loc>https://kubernetes.github.io/ingress-nginx/examples/multi-tls/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/examples/rewrite/</loc> <loc>https://kubernetes.github.io/ingress-nginx/examples/rewrite/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/examples/static-ip/</loc> <loc>https://kubernetes.github.io/ingress-nginx/examples/static-ip/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/examples/tls-termination/</loc> <loc>https://kubernetes.github.io/ingress-nginx/examples/tls-termination/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/examples/psp/</loc> <loc>https://kubernetes.github.io/ingress-nginx/examples/psp/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/developer-guide/getting-started/</loc> <loc>https://kubernetes.github.io/ingress-nginx/developer-guide/getting-started/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url><url> </url><url>
<loc>https://kubernetes.github.io/ingress-nginx/developer-guide/code-overview/</loc> <loc>https://kubernetes.github.io/ingress-nginx/developer-guide/code-overview/</loc>
<lastmod>2021-07-16</lastmod> <lastmod>2021-07-21</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
</urlset> </urlset>

Binary file not shown.

View file

@ -20,7 +20,7 @@ Do not move it without providing redirects.
<span class=go> /tea tea-svc:80 (&lt;none&gt;)</span> <span class=go> /tea tea-svc:80 (&lt;none&gt;)</span>
<span class=go> /coffee coffee-svc:80 (&lt;none&gt;)</span> <span class=go> /coffee coffee-svc:80 (&lt;none&gt;)</span>
<span class=go>Annotations:</span> <span class=go>Annotations:</span>
<span class=go> kubectl.kubernetes.io/last-applied-configuration: {&quot;apiVersion&quot;:&quot;networking.k8s.io/v1beta1&quot;,&quot;kind&quot;:&quot;Ingress&quot;,&quot;metadata&quot;:{&quot;annotations&quot;:{},&quot;name&quot;:&quot;cafe-ingress&quot;,&quot;namespace&quot;:&quot;default&quot;,&quot;selfLink&quot;:&quot;/apis/networking/v1beta1/namespaces/default/ingresses/cafe-ingress&quot;},&quot;spec&quot;:{&quot;rules&quot;:[{&quot;host&quot;:&quot;cafe.com&quot;,&quot;http&quot;:{&quot;paths&quot;:[{&quot;backend&quot;:{&quot;serviceName&quot;:&quot;tea-svc&quot;,&quot;servicePort&quot;:80},&quot;path&quot;:&quot;/tea&quot;},{&quot;backend&quot;:{&quot;serviceName&quot;:&quot;coffee-svc&quot;,&quot;servicePort&quot;:80},&quot;path&quot;:&quot;/coffee&quot;}]}}]},&quot;status&quot;:{&quot;loadBalancer&quot;:{&quot;ingress&quot;:[{&quot;ip&quot;:&quot;169.48.142.110&quot;}]}}}</span> <span class=go> kubectl.kubernetes.io/last-applied-configuration: {&quot;apiVersion&quot;:&quot;networking.k8s.io/v1&quot;,&quot;kind&quot;:&quot;Ingress&quot;,&quot;metadata&quot;:{&quot;annotations&quot;:{},&quot;name&quot;:&quot;cafe-ingress&quot;,&quot;namespace&quot;:&quot;default&quot;,&quot;selfLink&quot;:&quot;/apis/networking/v1/namespaces/default/ingresses/cafe-ingress&quot;},&quot;spec&quot;:{&quot;rules&quot;:[{&quot;host&quot;:&quot;cafe.com&quot;,&quot;http&quot;:{&quot;paths&quot;:[{&quot;backend&quot;:{&quot;serviceName&quot;:&quot;tea-svc&quot;,&quot;servicePort&quot;:80},&quot;path&quot;:&quot;/tea&quot;},{&quot;backend&quot;:{&quot;serviceName&quot;:&quot;coffee-svc&quot;,&quot;servicePort&quot;:80},&quot;path&quot;:&quot;/coffee&quot;}]}}]},&quot;status&quot;:{&quot;loadBalancer&quot;:{&quot;ingress&quot;:[{&quot;ip&quot;:&quot;169.48.142.110&quot;}]}}}</span>
<span class=go>Events:</span> <span class=go>Events:</span>
<span class=go> Type Reason Age From Message</span> <span class=go> Type Reason Age From Message</span>
@ -129,9 +129,9 @@ Do not move it without providing redirects.
<span class=go> &quot;/apis/apps&quot;,</span> <span class=go> &quot;/apis/apps&quot;,</span>
<span class=go> &quot;/apis/apps/v1alpha1&quot;,</span> <span class=go> &quot;/apis/apps/v1alpha1&quot;,</span>
<span class=go> &quot;/apis/authentication.k8s.io&quot;,</span> <span class=go> &quot;/apis/authentication.k8s.io&quot;,</span>
<span class=go> &quot;/apis/authentication.k8s.io/v1beta1&quot;,</span> <span class=go> &quot;/apis/authentication.k8s.io/v1&quot;,</span>
<span class=go> &quot;/apis/authorization.k8s.io&quot;,</span> <span class=go> &quot;/apis/authorization.k8s.io&quot;,</span>
<span class=go> &quot;/apis/authorization.k8s.io/v1beta1&quot;,</span> <span class=go> &quot;/apis/authorization.k8s.io/v1&quot;,</span>
<span class=go> &quot;/apis/autoscaling&quot;,</span> <span class=go> &quot;/apis/autoscaling&quot;,</span>
<span class=go> &quot;/apis/autoscaling/v1&quot;,</span> <span class=go> &quot;/apis/autoscaling/v1&quot;,</span>
<span class=go> &quot;/apis/batch&quot;,</span> <span class=go> &quot;/apis/batch&quot;,</span>
@ -140,13 +140,13 @@ Do not move it without providing redirects.
<span class=go> &quot;/apis/certificates.k8s.io&quot;,</span> <span class=go> &quot;/apis/certificates.k8s.io&quot;,</span>
<span class=go> &quot;/apis/certificates.k8s.io/v1alpha1&quot;,</span> <span class=go> &quot;/apis/certificates.k8s.io/v1alpha1&quot;,</span>
<span class=go> &quot;/apis/networking&quot;,</span> <span class=go> &quot;/apis/networking&quot;,</span>
<span class=go> &quot;/apis/networking/v1beta1&quot;,</span> <span class=go> &quot;/apis/networking/v1&quot;,</span>
<span class=go> &quot;/apis/policy&quot;,</span> <span class=go> &quot;/apis/policy&quot;,</span>
<span class=go> &quot;/apis/policy/v1alpha1&quot;,</span> <span class=go> &quot;/apis/policy/v1alpha1&quot;,</span>
<span class=go> &quot;/apis/rbac.authorization.k8s.io&quot;,</span> <span class=go> &quot;/apis/rbac.authorization.k8s.io&quot;,</span>
<span class=go> &quot;/apis/rbac.authorization.k8s.io/v1alpha1&quot;,</span> <span class=go> &quot;/apis/rbac.authorization.k8s.io/v1alpha1&quot;,</span>
<span class=go> &quot;/apis/storage.k8s.io&quot;,</span> <span class=go> &quot;/apis/storage.k8s.io&quot;,</span>
<span class=go> &quot;/apis/storage.k8s.io/v1beta1&quot;,</span> <span class=go> &quot;/apis/storage.k8s.io/v1&quot;,</span>
<span class=go> &quot;/healthz&quot;,</span> <span class=go> &quot;/healthz&quot;,</span>
<span class=go> &quot;/healthz/ping&quot;,</span> <span class=go> &quot;/healthz/ping&quot;,</span>
<span class=go> &quot;/logs&quot;,</span> <span class=go> &quot;/logs&quot;,</span>

View file

@ -11,12 +11,9 @@ spec:
http: http:
paths: paths:
- path: / - path: /
pathType: Prefix
backend: backend:
service: serviceName: myservicea
name: myservicea servicePort: 80
port:
number: 80
--- ---
apiVersion: networking.k8s.io/v1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
@ -31,12 +28,9 @@ spec:
http: http:
paths: paths:
- path: / - path: /
pathType: Prefix
backend: backend:
service: serviceName: myserviceb
name: myserviceb servicePort: 80
port:
number: 80
</code></pre></div> <p>When you apply this yaml, 2 ingress resources will be created managed by the <strong>ingress-nginx</strong> instance. Nginx is configured to automatically discover all ingress with the <code>kubernetes.io/ingress.class: "nginx"</code> annotation. Please note that the ingress resource should be placed inside the same namespace of the backend resource.</p> <p>On many cloud providers ingress-nginx will also create the corresponding Load Balancer resource. All you have to do is get the external IP and add a DNS <code>A record</code> inside your DNS provider that point myServiceA.foo.org and myServiceB.foo.org to the nginx external IP. Get the external IP by running:</p> <div class=highlight><pre><span></span><code>kubectl get services -n ingress-nginx </code></pre></div> <p>When you apply this yaml, 2 ingress resources will be created managed by the <strong>ingress-nginx</strong> instance. Nginx is configured to automatically discover all ingress with the <code>kubernetes.io/ingress.class: "nginx"</code> annotation. Please note that the ingress resource should be placed inside the same namespace of the backend resource.</p> <p>On many cloud providers ingress-nginx will also create the corresponding Load Balancer resource. All you have to do is get the external IP and add a DNS <code>A record</code> inside your DNS provider that point myServiceA.foo.org and myServiceB.foo.org to the nginx external IP. Get the external IP by running:</p> <div class=highlight><pre><span></span><code>kubectl get services -n ingress-nginx
</code></pre></div> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid" aria-label=Footer> <a href=../nginx-configuration/ class="md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-footer-nav__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg> </div> <div class=md-footer-nav__title> <div class=md-ellipsis> <span class=md-footer-nav__direction> Previous </span> Introduction </div> </div> </a> <a href=../nginx-configuration/annotations/ class="md-footer-nav__link md-footer-nav__link--next" rel=next> <div class=md-footer-nav__title> <div class=md-ellipsis> <span class=md-footer-nav__direction> Next </span> Annotations </div> </div> <div class="md-footer-nav__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/vendor.93c04032.min.js></script> <script src=../../assets/javascripts/bundle.83e5331e.min.js></script><script id=__lang type=application/json>{"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing"}</script> <script> </code></pre></div> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid" aria-label=Footer> <a href=../nginx-configuration/ class="md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-footer-nav__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg> </div> <div class=md-footer-nav__title> <div class=md-ellipsis> <span class=md-footer-nav__direction> Previous </span> Introduction </div> </div> </a> <a href=../nginx-configuration/annotations/ class="md-footer-nav__link md-footer-nav__link--next" rel=next> <div class=md-footer-nav__title> <div class=md-ellipsis> <span class=md-footer-nav__direction> Next </span> Annotations </div> </div> <div class="md-footer-nav__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/vendor.93c04032.min.js></script> <script src=../../assets/javascripts/bundle.83e5331e.min.js></script><script id=__lang type=application/json>{"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing"}</script> <script>
app = initialize({ app = initialize({

File diff suppressed because one or more lines are too long

View file

@ -34,7 +34,7 @@
<span class=nn>---</span> <span class=nn>---</span>
<span class=nt>apiVersion</span><span class=p>:</span> <span class="l l-Scalar l-Scalar-Plain">networking.k8s.io/v1beta1</span> <span class=nt>apiVersion</span><span class=p>:</span> <span class="l l-Scalar l-Scalar-Plain">networking.k8s.io/v1</span>
<span class=nt>kind</span><span class=p>:</span> <span class="l l-Scalar l-Scalar-Plain">Ingress</span> <span class=nt>kind</span><span class=p>:</span> <span class="l l-Scalar l-Scalar-Plain">Ingress</span>
<span class=nt>metadata</span><span class=p>:</span> <span class=nt>metadata</span><span class=p>:</span>
<span class=nt>annotations</span><span class=p>:</span> <span class=nt>annotations</span><span class=p>:</span>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -99,7 +99,7 @@ $ kubectl expose deployment echoheaders --port=80 --target-port=8080 --name=echo
# Apply the Ingress Resource # Apply the Ingress Resource
$ echo &#39; $ echo &#39;
apiVersion: networking.k8s.io/v1beta1 apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: echo-ingress name: echo-ingress