Deploy GitHub Pages
This commit is contained in:
parent
467b6d7499
commit
1b7da56410
52 changed files with 2062 additions and 36 deletions
12
404.html
12
404.html
|
@ -911,6 +911,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="/examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="/examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -1094,6 +1094,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -998,6 +998,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -964,6 +964,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -915,6 +915,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -998,6 +998,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -964,6 +964,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -930,6 +930,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -959,6 +959,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -959,6 +959,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -986,6 +986,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -966,6 +966,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -930,6 +930,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -930,6 +930,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -959,6 +959,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -930,6 +930,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -1021,6 +1021,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -930,6 +930,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -973,6 +973,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -930,6 +930,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -984,6 +984,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
@ -1217,13 +1229,13 @@
|
|||
</a>
|
||||
|
||||
|
||||
<a href="../../multi-tls/README/" title="Multi TLS certificate termination" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
|
||||
<a href="../../grpc/README/" title="gRPC" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
|
||||
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
|
||||
<span class="md-flex__ellipsis">
|
||||
<span class="md-footer-nav__direction">
|
||||
Next
|
||||
</span>
|
||||
Multi TLS certificate termination
|
||||
gRPC
|
||||
</span>
|
||||
</div>
|
||||
<div class="md-flex__cell md-flex__cell--shrink">
|
||||
|
|
1360
examples/grpc/README/index.html
Normal file
1360
examples/grpc/README/index.html
Normal file
File diff suppressed because it is too large
Load diff
20
examples/grpc/app.yaml
Normal file
20
examples/grpc/app.yaml
Normal file
|
@ -0,0 +1,20 @@
|
|||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: fortune-teller-app
|
||||
labels:
|
||||
k8s-app: fortune-teller-app
|
||||
namespace: default
|
||||
spec:
|
||||
replicas: 1
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
k8s-app: fortune-teller-app
|
||||
spec:
|
||||
containers:
|
||||
- name: fortune-teller-app
|
||||
image: quay.io/kubernetes-ingress-controller/grpc-fortune-teller:0.1
|
||||
ports:
|
||||
- containerPort: 50051
|
||||
name: grpc
|
7
examples/grpc/cert.yaml
Normal file
7
examples/grpc/cert.yaml
Normal file
|
@ -0,0 +1,7 @@
|
|||
apiVersion: "stable.k8s.psg.io/v1"
|
||||
kind: "Certificate"
|
||||
metadata:
|
||||
name: fortune-teller.stack.build
|
||||
namespace: default
|
||||
spec:
|
||||
domain: "fortune-teller.stack.build"
|
21
examples/grpc/ingress.yaml
Normal file
21
examples/grpc/ingress.yaml
Normal file
|
@ -0,0 +1,21 @@
|
|||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: "nginx"
|
||||
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||
nginx.ingress.kubernetes.io/grpc-backend: "true"
|
||||
name: fortune-ingress
|
||||
namespace: default
|
||||
spec:
|
||||
rules:
|
||||
- host: fortune-teller.stack.build
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
serviceName: fortune-teller-service
|
||||
servicePort: grpc
|
||||
tls:
|
||||
- secretName: fortune-teller.stack.build
|
||||
hosts:
|
||||
- fortune-teller.stack.build
|
12
examples/grpc/svc.yaml
Normal file
12
examples/grpc/svc.yaml
Normal file
|
@ -0,0 +1,12 @@
|
|||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: fortune-teller-service
|
||||
namespace: default
|
||||
spec:
|
||||
selector:
|
||||
k8s-app: fortune-teller-app
|
||||
ports:
|
||||
- port: 50051
|
||||
targetPort: 50051
|
||||
name: grpc
|
|
@ -928,6 +928,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -918,6 +918,18 @@
|
|||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1154,7 +1166,7 @@
|
|||
<div class="md-footer-nav">
|
||||
<nav class="md-footer-nav__inner md-grid">
|
||||
|
||||
<a href="../../docker-registry/README/" title="Docker registry" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
|
||||
<a href="../../grpc/README/" title="gRPC" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
|
||||
<div class="md-flex__cell md-flex__cell--shrink">
|
||||
<i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
|
||||
</div>
|
||||
|
@ -1163,7 +1175,7 @@
|
|||
<span class="md-footer-nav__direction">
|
||||
Previous
|
||||
</span>
|
||||
Docker registry
|
||||
gRPC
|
||||
</span>
|
||||
</div>
|
||||
</a>
|
||||
|
|
|
@ -919,6 +919,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -919,6 +919,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -919,6 +919,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
12
index.html
12
index.html
|
@ -953,6 +953,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -915,6 +915,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -1057,12 +1057,12 @@
|
|||
},
|
||||
{
|
||||
"location": "/user-guide/multiple-ingress/",
|
||||
"text": "Multiple Ingress controllers\n\u00b6\n\n\nIf you're running multiple ingress controllers, or running on a cloud provider that natively handles ingress such as GKE,\nyou need to specify the annotation \nkubernetes.io/ingress.class: \"nginx\"\n in all ingresses that you would like the ingress-nginx controller to claim.\n\n\nFor instance,\n\n\nmetadata\n:\n\n \nname\n:\n \nfoo\n\n \nannotations\n:\n\n \nkubernetes.io/ingress.class\n:\n \n\"gce\"\n\n\n\n\n\n\nwill target the GCE controller, forcing the nginx controller to ignore it, while an annotation like\n\n\nmetadata\n:\n\n \nname\n:\n \nfoo\n\n \nannotations\n:\n\n \nkubernetes.io/ingress.class\n:\n \n\"nginx\"\n\n\n\n\n\n\nwill target the nginx controller, forcing the GCE controller to ignore it.\n\n\nTo reiterate, setting the annotation to any value which does not match a valid ingress class will force the NGINX Ingress controller to ignore your Ingress.\nIf you are only running a single NGINX ingress controller, this can be achieved by setting the annotation to any value except \"nginx\" or an empty string.\n\n\nDo this if you wish to use one of the other Ingress controllers at the same time as the NGINX controller.\n\n\n\n\nImportant\n\n\nDeploying multiple Ingress controllers and not specifying a class annotation will\nresult in both or all controllers fighting to satisfy the Ingress, and all of them\nupdating the Ingress status field in confusing ways.\n\n\n\n\nMultiple ingress-nginx controllers\n\u00b6\n\n\nThis mechanism also provides users the ability to run \nmultiple\n NGINX ingress controllers (e.g. one which serves public traffic, one which serves \"internal\" traffic).\nTo do this, the option \n--ingress-class\n must be changed to a value unique for the cluster within the definition of the replication controller.\nHere is a partial example:\n\n\nspec\n:\n\n \ntemplate\n:\n\n \nspec\n:\n\n \ncontainers\n:\n\n \n-\n \nname\n:\n \nnginx-ingress-internal-controller\n\n \nargs\n:\n\n \n-\n \n/nginx-ingress-controller\n\n \n-\n \n'--default-backend-service=ingress/nginx-ingress-default-backend'\n\n \n-\n \n'--election-id=ingress-controller-leader-internal'\n\n \n-\n \n'--ingress-class=nginx-internal'\n\n \n-\n \n'--configmap=ingress/nginx-ingress-internal-controller'",
|
||||
"text": "Multiple Ingress controllers\n\u00b6\n\n\nIf you're running multiple ingress controllers, or running on a cloud provider that natively handles ingress such as GKE,\nyou need to specify the annotation \nkubernetes.io/ingress.class: \"nginx\"\n in all ingresses that you would like the ingress-nginx controller to claim.\n\n\nFor instance,\n\n\nmetadata\n:\n\n \nname\n:\n \nfoo\n\n \nannotations\n:\n\n \nkubernetes.io/ingress.class\n:\n \n\"gce\"\n\n\n\n\n\n\nwill target the GCE controller, forcing the nginx controller to ignore it, while an annotation like\n\n\nmetadata\n:\n\n \nname\n:\n \nfoo\n\n \nannotations\n:\n\n \nkubernetes.io/ingress.class\n:\n \n\"nginx\"\n\n\n\n\n\n\nwill target the nginx controller, forcing the GCE controller to ignore it.\n\n\nTo reiterate, setting the annotation to any value which does not match a valid ingress class will force the NGINX Ingress controller to ignore your Ingress.\nIf you are only running a single NGINX ingress controller, this can be achieved by setting the annotation to any value except \"nginx\" or an empty string.\n\n\nDo this if you wish to use one of the other Ingress controllers at the same time as the NGINX controller.\n\n\nMultiple ingress-nginx controllers\n\u00b6\n\n\nThis mechanism also provides users the ability to run \nmultiple\n NGINX ingress controllers (e.g. one which serves public traffic, one which serves \"internal\" traffic).\nTo do this, the option \n--ingress-class\n must be changed to a value unique for the cluster within the definition of the replication controller.\nHere is a partial example:\n\n\nspec\n:\n\n \ntemplate\n:\n\n \nspec\n:\n\n \ncontainers\n:\n\n \n-\n \nname\n:\n \nnginx-ingress-internal-controller\n\n \nargs\n:\n\n \n-\n \n/nginx-ingress-controller\n\n \n-\n \n'--default-backend-service=ingress/nginx-ingress-default-backend'\n\n \n-\n \n'--election-id=ingress-controller-leader-internal'\n\n \n-\n \n'--ingress-class=nginx-internal'\n\n \n-\n \n'--configmap=ingress/nginx-ingress-internal-controller'\n\n\n\n\n\n\n!!! important\n\u00b6\n\n\nDeploying multiple Ingress controllers, of different types (e.g., \ningress-nginx\n & \ngce\n), and not specifying a class annotation will\nresult in both or all controllers fighting to satisfy the Ingress, and all of them racing to update Ingress status field in confusing ways.\n\n\nWhen running multiple ingress-nginx controllers, it will only process an unset class annotation if one of the controllers uses the default\n \n--ingress-class\n value (see \nIsValid\n method in \ninternal/ingress/annotations/class/main.go\n), otherwise the class annotation become required.",
|
||||
"title": "Multiple Ingress controllers"
|
||||
},
|
||||
{
|
||||
"location": "/user-guide/multiple-ingress/#multiple-ingress-controllers",
|
||||
"text": "If you're running multiple ingress controllers, or running on a cloud provider that natively handles ingress such as GKE,\nyou need to specify the annotation kubernetes.io/ingress.class: \"nginx\" in all ingresses that you would like the ingress-nginx controller to claim. For instance, metadata : \n name : foo \n annotations : \n kubernetes.io/ingress.class : \"gce\" will target the GCE controller, forcing the nginx controller to ignore it, while an annotation like metadata : \n name : foo \n annotations : \n kubernetes.io/ingress.class : \"nginx\" will target the nginx controller, forcing the GCE controller to ignore it. To reiterate, setting the annotation to any value which does not match a valid ingress class will force the NGINX Ingress controller to ignore your Ingress.\nIf you are only running a single NGINX ingress controller, this can be achieved by setting the annotation to any value except \"nginx\" or an empty string. Do this if you wish to use one of the other Ingress controllers at the same time as the NGINX controller. Important Deploying multiple Ingress controllers and not specifying a class annotation will\nresult in both or all controllers fighting to satisfy the Ingress, and all of them\nupdating the Ingress status field in confusing ways.",
|
||||
"text": "If you're running multiple ingress controllers, or running on a cloud provider that natively handles ingress such as GKE,\nyou need to specify the annotation kubernetes.io/ingress.class: \"nginx\" in all ingresses that you would like the ingress-nginx controller to claim. For instance, metadata : \n name : foo \n annotations : \n kubernetes.io/ingress.class : \"gce\" will target the GCE controller, forcing the nginx controller to ignore it, while an annotation like metadata : \n name : foo \n annotations : \n kubernetes.io/ingress.class : \"nginx\" will target the nginx controller, forcing the GCE controller to ignore it. To reiterate, setting the annotation to any value which does not match a valid ingress class will force the NGINX Ingress controller to ignore your Ingress.\nIf you are only running a single NGINX ingress controller, this can be achieved by setting the annotation to any value except \"nginx\" or an empty string. Do this if you wish to use one of the other Ingress controllers at the same time as the NGINX controller.",
|
||||
"title": "Multiple Ingress controllers"
|
||||
},
|
||||
{
|
||||
|
@ -1070,6 +1070,11 @@
|
|||
"text": "This mechanism also provides users the ability to run multiple NGINX ingress controllers (e.g. one which serves public traffic, one which serves \"internal\" traffic).\nTo do this, the option --ingress-class must be changed to a value unique for the cluster within the definition of the replication controller.\nHere is a partial example: spec : \n template : \n spec : \n containers : \n - name : nginx-ingress-internal-controller \n args : \n - /nginx-ingress-controller \n - '--default-backend-service=ingress/nginx-ingress-default-backend' \n - '--election-id=ingress-controller-leader-internal' \n - '--ingress-class=nginx-internal' \n - '--configmap=ingress/nginx-ingress-internal-controller'",
|
||||
"title": "Multiple ingress-nginx controllers"
|
||||
},
|
||||
{
|
||||
"location": "/user-guide/multiple-ingress/#important",
|
||||
"text": "Deploying multiple Ingress controllers, of different types (e.g., ingress-nginx & gce ), and not specifying a class annotation will\nresult in both or all controllers fighting to satisfy the Ingress, and all of them racing to update Ingress status field in confusing ways. When running multiple ingress-nginx controllers, it will only process an unset class annotation if one of the controllers uses the default\n --ingress-class value (see IsValid method in internal/ingress/annotations/class/main.go ), otherwise the class annotation become required.",
|
||||
"title": "!!! important"
|
||||
},
|
||||
{
|
||||
"location": "/user-guide/nginx-status-page/",
|
||||
"text": "NGINX status page\n\u00b6\n\n\nThe \nngx_http_stub_status_module\n module provides access to basic status information.\nThis is the default module active in the url \n/nginx_status\n in the status port (default is 18080).\n\n\nThis controller provides an alternative to this module using the \nnginx-module-vts\n module.\nTo use this module just set in the configuration configmap \nenable-vts-status: \"true\"\n.\n\n\n\n\nTo extract the information in JSON format the module provides a custom URL: \n/nginx_status/format/json",
|
||||
|
@ -1485,6 +1490,46 @@
|
|||
"text": "To test the registry is working correctly we download a known image from docker hub , create a tag pointing to the new registry and upload the image: docker pull ubuntu:16.04 docker tag ubuntu:16.04 `registry.<your domain>/ubuntu:16.04` docker push `registry.<your domain>/ubuntu:16.04` Please replace registry.<your domain> with your domain.",
|
||||
"title": "Testing"
|
||||
},
|
||||
{
|
||||
"location": "/examples/grpc/README/",
|
||||
"text": "gRPC\n\u00b6\n\n\nThis example demonstrates how to route traffic to a gRPC service through the\nnginx controller.\n\n\nPrerequisites\n\u00b6\n\n\n\n\nYou have a kubernetes cluster running.\n\n\nYou have a domain name such as \nexample.com\n that is configured to route\n traffic to the ingress controller. Replace references to\n \nfortune-teller.stack.build\n (the domain name used in this example) to your\n own domain name (you're also responsible for provisioning an SSL certificate\n for the ingress).\n\n\nYou have the nginx-ingress controller installed in typical fashion (must be\n at least\n \nquay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.13.0\n\n for grpc support.\n\n\nYou have a backend application running a gRPC server and listening for TCP\n traffic. If you prefer, you can use the\n \nfortune-teller\n\n application provided here as an example. \n\n\n\n\nStep 1: kubernetes \nDeployment\n\u00b6\n\n\n$ kubectl create -f app.yaml\n\n\n\n\n\nThis is a standard kubernetes deployment object. It is running a grpc service\nlistening on port \n50051\n.\n\n\nThe sample application\n\nfortune-teller-app\n\nis a grpc server implemented in go. Here's the stripped-down implementation:\n\n\nfunc\n \nmain\n()\n \n{\n\n \ngrpcServer\n \n:=\n \ngrpc\n.\nNewServer\n()\n\n \nfortune\n.\nRegisterFortuneTellerServer\n(\ngrpcServer\n,\n \n&\nFortuneTeller\n{})\n\n \nlis\n,\n \n_\n \n:=\n \nnet\n.\nListen\n(\n\"tcp\"\n,\n \n\":50051\"\n)\n\n \ngrpcServer\n.\nServe\n(\nlis\n)\n\n\n}\n\n\n\n\n\n\nThe takeaway is that we are not doing any TLS configuration on the server (as we\nare terminating TLS at the ingress level, grpc traffic will travel unencrypted\ninside the cluster and arrive \"insecure\").\n\n\nFor your own application you may or may not want to do this. If you prefer to\nforward encrypted traffic to your POD and terminate TLS at the gRPC server\nitself, add the ingress annotation \nnginx.ingress.kubernetes.io/secure-backends:\"true\"\n.\n\n\nStep 2: the kubernetes \nService\n\u00b6\n\n\n$ kubectl create -f svc.yaml\n\n\n\n\n\nHere we have a typical service. Nothing special, just routing traffic to the\nbackend application on port \n50051\n.\n\n\nStep 3: the kubernetes \nIngress\n\u00b6\n\n\n$ kubectl create -f ingress.yaml\n\n\n\n\n\nA few things to note:\n\n\n\n\nWe've tagged the ingress with the annotation\n \nnginx.ingress.kubernetes.io/grpc-backend: \"true\"\n. This is the magic\n ingredient that sets up the appropriate nginx configuration to route http/2\n traffic to our service.\n\n\nWe're terminating TLS at the ingress and have configured an SSL certificate\n \nfortune-teller.stack.build\n. The ingress matches traffic arriving as\n \nhttps://fortune-teller.stack.build:443\n and routes unencrypted messages to\n our kubernetes service.\n\n\n\n\nStep 4: test the connection\n\u00b6\n\n\nOnce we've applied our configuration to kubernetes, it's time to test that we\ncan actually talk to the backend. To do this, we'll use the\n\ngrpcurl\n utility:\n\n\n$ grpcurl fortune-teller.stack.build:443 build.stack.fortune.FortuneTeller/Predict\n\n{\n\n \n\"message\"\n: \n\"Let us endeavor so to live that when we come to die even the undertaker will be sorry.\\n\\t\\t-- Mark Twain, \\\"Pudd'nhead Wilson's Calendar\\\"\"\n\n\n}\n\n\n\n\n\n\nDebugging Hints\n\u00b6\n\n\n\n\nObviously, watch the logs on your app.\n\n\nWatch the logs for the nginx-ingress-controller (increasing verbosity as\n needed).\n\n\nDouble-check your address and ports.\n\n\nSet the \nGODEBUG=http2debug=2\n environment variable to get detailed http/2\n logging on the client and/or server.\n\n\nStudy RFC 7540 (http/2) \nhttps://tools.ietf.org/html/rfc7540\n.\n\n\n\n\n\n\nIf you are developing public gRPC endpoints, check out\nhttps://proto.stack.build, a protocol buffer / gRPC build service that can use\nto help make it easier for your users to consume your API.",
|
||||
"title": "gRPC"
|
||||
},
|
||||
{
|
||||
"location": "/examples/grpc/README/#grpc",
|
||||
"text": "This example demonstrates how to route traffic to a gRPC service through the\nnginx controller.",
|
||||
"title": "gRPC"
|
||||
},
|
||||
{
|
||||
"location": "/examples/grpc/README/#prerequisites",
|
||||
"text": "You have a kubernetes cluster running. You have a domain name such as example.com that is configured to route\n traffic to the ingress controller. Replace references to\n fortune-teller.stack.build (the domain name used in this example) to your\n own domain name (you're also responsible for provisioning an SSL certificate\n for the ingress). You have the nginx-ingress controller installed in typical fashion (must be\n at least\n quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.13.0 \n for grpc support. You have a backend application running a gRPC server and listening for TCP\n traffic. If you prefer, you can use the\n fortune-teller \n application provided here as an example.",
|
||||
"title": "Prerequisites"
|
||||
},
|
||||
{
|
||||
"location": "/examples/grpc/README/#step-1-kubernetes-deployment",
|
||||
"text": "$ kubectl create -f app.yaml This is a standard kubernetes deployment object. It is running a grpc service\nlistening on port 50051 . The sample application fortune-teller-app \nis a grpc server implemented in go. Here's the stripped-down implementation: func main () { \n grpcServer := grpc . NewServer () \n fortune . RegisterFortuneTellerServer ( grpcServer , & FortuneTeller {}) \n lis , _ := net . Listen ( \"tcp\" , \":50051\" ) \n grpcServer . Serve ( lis ) } The takeaway is that we are not doing any TLS configuration on the server (as we\nare terminating TLS at the ingress level, grpc traffic will travel unencrypted\ninside the cluster and arrive \"insecure\"). For your own application you may or may not want to do this. If you prefer to\nforward encrypted traffic to your POD and terminate TLS at the gRPC server\nitself, add the ingress annotation nginx.ingress.kubernetes.io/secure-backends:\"true\" .",
|
||||
"title": "Step 1: kubernetes Deployment"
|
||||
},
|
||||
{
|
||||
"location": "/examples/grpc/README/#step-2-the-kubernetes-service",
|
||||
"text": "$ kubectl create -f svc.yaml Here we have a typical service. Nothing special, just routing traffic to the\nbackend application on port 50051 .",
|
||||
"title": "Step 2: the kubernetes Service"
|
||||
},
|
||||
{
|
||||
"location": "/examples/grpc/README/#step-3-the-kubernetes-ingress",
|
||||
"text": "$ kubectl create -f ingress.yaml A few things to note: We've tagged the ingress with the annotation\n nginx.ingress.kubernetes.io/grpc-backend: \"true\" . This is the magic\n ingredient that sets up the appropriate nginx configuration to route http/2\n traffic to our service. We're terminating TLS at the ingress and have configured an SSL certificate\n fortune-teller.stack.build . The ingress matches traffic arriving as\n https://fortune-teller.stack.build:443 and routes unencrypted messages to\n our kubernetes service.",
|
||||
"title": "Step 3: the kubernetes Ingress"
|
||||
},
|
||||
{
|
||||
"location": "/examples/grpc/README/#step-4-test-the-connection",
|
||||
"text": "Once we've applied our configuration to kubernetes, it's time to test that we\ncan actually talk to the backend. To do this, we'll use the grpcurl utility: $ grpcurl fortune-teller.stack.build:443 build.stack.fortune.FortuneTeller/Predict { \n \"message\" : \"Let us endeavor so to live that when we come to die even the undertaker will be sorry.\\n\\t\\t-- Mark Twain, \\\"Pudd'nhead Wilson's Calendar\\\"\" }",
|
||||
"title": "Step 4: test the connection"
|
||||
},
|
||||
{
|
||||
"location": "/examples/grpc/README/#debugging-hints",
|
||||
"text": "Obviously, watch the logs on your app. Watch the logs for the nginx-ingress-controller (increasing verbosity as\n needed). Double-check your address and ports. Set the GODEBUG=http2debug=2 environment variable to get detailed http/2\n logging on the client and/or server. Study RFC 7540 (http/2) https://tools.ietf.org/html/rfc7540 . If you are developing public gRPC endpoints, check out\nhttps://proto.stack.build, a protocol buffer / gRPC build service that can use\nto help make it easier for your users to consume your API.",
|
||||
"title": "Debugging Hints"
|
||||
},
|
||||
{
|
||||
"location": "/examples/multi-tls/README/",
|
||||
"text": "Multi TLS certificate termination\n\u00b6\n\n\nThis example uses 2 different certificates to terminate SSL for 2 hostnames.\n\n\n\n\nDeploy the controller by creating the rc in the parent dir\n\n\nCreate tls secrets for foo.bar.com and bar.baz.com as indicated in the yaml\n\n\nCreate multi-tls.yaml\n\n\n\n\nThis should generate a segment like:\n\n\n$\n kubectl \nexec\n -it nginx-ingress-controller-6vwd1 -- cat /etc/nginx/nginx.conf \n|\n grep \n\"foo.bar.com\"\n -B \n7\n -A \n35\n\n\n server {\n\n\n listen 80;\n\n\n listen 443 ssl http2;\n\n\n ssl_certificate /etc/nginx-ssl/default-foobar.pem;\n\n\n ssl_certificate_key /etc/nginx-ssl/default-foobar.pem;\n\n\n\n\n server_name foo.bar.com;\n\n\n\n\n if ($scheme = http) {\n\n\n return 301 https://$host$request_uri;\n\n\n }\n\n\n\n\n\n location / {\n\n\n proxy_set_header Host $host;\n\n\n\n #\n Pass Real IP\n\n proxy_set_header X-Real-IP $remote_addr;\n\n\n\n #\n Allow websocket connections\n\n proxy_set_header Upgrade $http_upgrade;\n\n\n proxy_set_header Connection $connection_upgrade;\n\n\n\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n\n\n proxy_set_header X-Forwarded-Host $host;\n\n\n proxy_set_header X-Forwarded-Proto $pass_access_scheme;\n\n\n\n proxy_connect_timeout 5s;\n\n\n proxy_send_timeout 60s;\n\n\n proxy_read_timeout 60s;\n\n\n\n proxy_redirect off;\n\n\n proxy_buffering off;\n\n\n\n proxy_http_version 1.1;\n\n\n\n proxy_pass http://default-http-svc-80;\n\n\n }\n\n\n\n\n\n\nAnd you should be able to reach your nginx service or http-svc service using a hostname switch:\n\n\n$\n kubectl get ing\n\nNAME RULE BACKEND ADDRESS AGE\n\n\nfoo-tls - 104.154.30.67 13m\n\n\n foo.bar.com\n\n\n / http-svc:80\n\n\n bar.baz.com\n\n\n / nginx:80\n\n\n\n$\n curl https://104.154.30.67 -H \n'Host:foo.bar.com'\n -k\n\nCLIENT VALUES:\n\n\nclient_address=10.245.0.6\n\n\ncommand=GET\n\n\nreal path=/\n\n\nquery=nil\n\n\nrequest_version=1.1\n\n\nrequest_uri=http://foo.bar.com:8080/\n\n\n\nSERVER VALUES:\n\n\nserver_version=nginx: 1.9.11 - lua: 10001\n\n\n\nHEADERS RECEIVED:\n\n\naccept=*/*\n\n\nconnection=close\n\n\nhost=foo.bar.com\n\n\nuser-agent=curl/7.35.0\n\n\nx-forwarded-for=10.245.0.1\n\n\nx-forwarded-host=foo.bar.com\n\n\nx-forwarded-proto=https\n\n\n\n$\n curl https://104.154.30.67 -H \n'Host:bar.baz.com'\n -k\n\n<!DOCTYPE html>\n\n\n<html>\n\n\n<head>\n\n\n<title>Welcome to nginx on Debian!</title>\n\n\n\n$\n curl \n104\n.154.30.67\n\ndefault backend - 404",
|
||||
|
|
54
sitemap.xml
54
sitemap.xml
|
@ -4,7 +4,7 @@
|
|||
|
||||
<url>
|
||||
<loc>/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
|
@ -13,19 +13,19 @@
|
|||
|
||||
<url>
|
||||
<loc>/deploy/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>/deploy/rbac/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>/deploy/upgrade/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
|
@ -41,55 +41,55 @@
|
|||
|
||||
<url>
|
||||
<loc>/user-guide/cli-arguments/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>/user-guide/custom-errors/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>/user-guide/default-backend/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>/user-guide/exposing-tcp-udp-services/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>/user-guide/external-articles/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>/user-guide/miscellaneous/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>/user-guide/multiple-ingress/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>/user-guide/nginx-status-page/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>/user-guide/tls/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
|
@ -105,19 +105,19 @@
|
|||
|
||||
<url>
|
||||
<loc>/examples/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>/examples/PREREQUISITES/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>/examples/affinity/cookie/README/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
|
@ -135,31 +135,37 @@
|
|||
|
||||
<url>
|
||||
<loc>/examples/docker-registry/README/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>/examples/grpc/README/</loc>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>/examples/multi-tls/README/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>/examples/rewrite/README/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>/examples/static-ip/README/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>/examples/tls-termination/README/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
|
@ -168,7 +174,7 @@
|
|||
|
||||
<url>
|
||||
<loc>/development/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
|
@ -176,7 +182,7 @@
|
|||
|
||||
<url>
|
||||
<loc>/ingress-controller-catalog/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
|
@ -184,7 +190,7 @@
|
|||
|
||||
<url>
|
||||
<loc>/troubleshooting/</loc>
|
||||
<lastmod>2018-05-03</lastmod>
|
||||
<lastmod>2018-05-12</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
|
|
|
@ -915,6 +915,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -928,6 +928,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -928,6 +928,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -928,6 +928,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -928,6 +928,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -928,6 +928,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -999,6 +999,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -593,6 +593,13 @@
|
|||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#important" title="!!! important" class="md-nav__link">
|
||||
!!! important
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -957,6 +964,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
@ -1068,6 +1087,13 @@
|
|||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#important" title="!!! important" class="md-nav__link">
|
||||
!!! important
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1110,12 +1136,6 @@ you need to specify the annotation <code class="codehilite">kubernetes.io/ingres
|
|||
<p>To reiterate, setting the annotation to any value which does not match a valid ingress class will force the NGINX Ingress controller to ignore your Ingress.
|
||||
If you are only running a single NGINX ingress controller, this can be achieved by setting the annotation to any value except "nginx" or an empty string.</p>
|
||||
<p>Do this if you wish to use one of the other Ingress controllers at the same time as the NGINX controller.</p>
|
||||
<div class="admonition important">
|
||||
<p class="admonition-title">Important</p>
|
||||
<p>Deploying multiple Ingress controllers and not specifying a class annotation will
|
||||
result in both or all controllers fighting to satisfy the Ingress, and all of them
|
||||
updating the Ingress status field in confusing ways.</p>
|
||||
</div>
|
||||
<h2 id="multiple-ingress-nginx-controllers">Multiple ingress-nginx controllers<a class="headerlink" href="#multiple-ingress-nginx-controllers" title="Permanent link">¶</a></h2>
|
||||
<p>This mechanism also provides users the ability to run <em>multiple</em> NGINX ingress controllers (e.g. one which serves public traffic, one which serves "internal" traffic).
|
||||
To do this, the option <code class="codehilite">--ingress-class</code> must be changed to a value unique for the cluster within the definition of the replication controller.
|
||||
|
@ -1132,6 +1152,13 @@ Here is a partial example:</p>
|
|||
<span class="p p-Indicator">-</span> <span class="s">'--ingress-class=nginx-internal'</span>
|
||||
<span class="p p-Indicator">-</span> <span class="s">'--configmap=ingress/nginx-ingress-internal-controller'</span>
|
||||
</pre></div>
|
||||
|
||||
|
||||
<h2 id="important">!!! important<a class="headerlink" href="#important" title="Permanent link">¶</a></h2>
|
||||
<p>Deploying multiple Ingress controllers, of different types (e.g., <code class="codehilite">ingress-nginx</code> & <code class="codehilite">gce</code>), and not specifying a class annotation will
|
||||
result in both or all controllers fighting to satisfy the Ingress, and all of them racing to update Ingress status field in confusing ways.</p>
|
||||
<p>When running multiple ingress-nginx controllers, it will only process an unset class annotation if one of the controllers uses the default
|
||||
<code class="codehilite">--ingress-class</code> value (see <code class="codehilite">IsValid</code> method in <code class="codehilite">internal/ingress/annotations/class/main.go</code>), otherwise the class annotation become required.</p>
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1209,6 +1209,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -1736,6 +1736,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -930,6 +930,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -930,6 +930,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -930,6 +930,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -928,6 +928,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -930,6 +930,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -930,6 +930,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
|
@ -1012,6 +1012,18 @@
|
|||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/grpc/README/" title="gRPC" class="md-nav__link">
|
||||
gRPC
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../../examples/multi-tls/README/" title="Multi TLS certificate termination" class="md-nav__link">
|
||||
Multi TLS certificate termination
|
||||
|
|
Loading…
Reference in a new issue