K8S利用Nginx-Ingress配置对外访问
创建对外访问ingress示例
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: nginx-ingress # 名称必须
namespace: kube-system # 命名空间必须跟关联的服务为同一空间,不然无法访问到被代理的服务
annotations:
nginx.ingress.kubernetes.io/rewrite-target: "/" # 配置/path/这类URL需要开启rewriter重定向,不然无法访问/path/这类URL
spec:
rules:
- host: n.testnginx.com # 对外提供访问的域名,留空则可以通过ingress-controller所在的NODE_IP来访问
http:
paths:
- path: / # 定义不同的URL
backend:
serviceName: test-k8s # 服务名称
servicePort: 80
- path: /api/
backend:
serviceName: api-test-k8s
servicePort: 8080
host: www.abc.com # 定义不同的域名
http:
paths:
- path: /
backend:
serviceName: www-k8s
servicePort: 80
host: # 不使用域名,可以直接使用任意ingress controller节点所在IP进行访问,不过默认禁用http,强制使用https访问。
http:
paths:
- path: /
backend:
serviceName: www-k8s-aaa
servicePort: 80使用SSL证书
编辑对外访问ingress配置
通过Ingress访问非K8S集群资源
Ingress转发非集群内域名
Ingress转发非集群内IP资源
最后更新于