我有同样的需求,如在这篇文章中提到的 - qazxsw POI
但是我不知道什么是,后端的ipaddresses有提及。我以为这是我的主人和工作节点的IPS在我的集群
我kubernetes有主节点的IP为10.118.6.35和工作节点的IP为10.118.2.215这是AWS EC2实例。
所以,当我配置类似下面我nginx.conf(请参见下文),我收到的index.html,当我做卷曲https://tech.holidayextras.com/routing-to-internal-kubernetes-services-using-proxies-and-ingress-controllers-e7eb44954d53呈现
但是当我做https://10.118.6.35我得到nginx的错误页面默认的404页,但我希望它的路线我kubernetes服务NodePort 80上运行:30854
我按照步骤,在该文章中提到。仅供参考,我显示下面的回声ing.yaml -
https://10.118.6.35/hello-kenzan
以下是nginx.conf -
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: echomap
annotations: {
'kubernetes.io/ingress.class': nginx
}
spec:
rules:
- host: ip-10-118-6-35.ec2.internal
http:
paths:
- path: /hello-kenzan
backend:
service and: hello-kenzan
service port: 80
请建议什么给了后端节点IPS
更新
嘿,终于取得了它,当我与IP地址尝试从浏览器,而不是DNS名称的工作 -
http {
ssl_certificate ...
....
....
server {
listen 443 SSL;
server_name www.ip-10.118-6-35.ec2.internal.com;
root /usr/share/nginx/html;
ssl_certificate ...
...
...
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
upstream backend_nodes {
server 10.118.6.35:31001;
server 10.118.2.215:31001;
}
upstream backend_nodes_ssl {
server 10.118.6.35:32001;
server 10.118.2.215:32001;
}
server {
listen 80;
server_name backends.nodes;
location / {
proxy_pass https://backend_nodes;
}
}
server {
listen 443;
server_name backends.nodes.ssl;
location / {
proxy_pass https://backend_nodes_ssl;
}
}
}
https://10.118.6.35/hello-kenzan
但https://myservice.myorg.com/hello-kenzan
这是我修改nginx.conf -
https://myservice.myorg.com
有什么想法吗??
当你与主IP和节点试图叶是绝对错误的nginx的入口控制的方法。当您添加入nginx的控制器,它使负载平衡器后面(如果使用AWS,数字海洋,你检查它的控制台负荷balacer)。
http {
ssl_certificate ...
....
....
server {
listen 80;
server_name ip-10.118-6-35.ec2.internal;
root /usr/share/nginx/html;
include /etc/nginx/default.d/*.conf;
location / {
}
location /hello-kenzan {
proxy_pass https://backend_nodes;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
server {
listen 443 SSL;
server_name ip-10.118-6-35.ec2.internal;
root /usr/share/nginx/html;
ssl_certificate ...
...
...
include /etc/nginx/default.d/*.conf;
location / {
}
location /hello-kenzan {
proxy_pass https://backend_nodes_ssl;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
upstream backend_nodes {
server 10.96.88.237:80
}
upstream backend_nodes_ssl {
server 10.96.88.237:443
}
}
开始nginx的入口控制器
you have to use the load balancer ip rather then using ip of node and master ip.
更多信息请访问该如有查询添加评论:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/mandatory.yaml
终于来了它的安装证书管理器,你可以删除其他的部分都事是容易和简单。