[英]Configure Ingress Kubernetes - accessible only on single node
我在VMWAre虚拟机上运行的Kubernetes集群上设置了入口,遵循类似于此处的规范。 所有端口都是开放且可访问的。
https://github.com/nginxinc/kubernetes-ingress/tree/master/examples/complete-example
我的主人是xxx10,节点是xxx12和xxx13。
在创建入口/控制器之后,我需要获取运行nginx-controller的IP
nginx-ingress-rc-kgfmd 1/1 Running 0 21h 172.16.5.5 x.x.x.12
所以,它通常在xxx12或xxx13上运行,然后当我这样做时它会点击我的网络服务
curl --resolve master.federated.fds:80:xxx12 https://master.federated.fds/coffee
其中master.federated.fds是Master的DNS可解析名称。
我需要在没有IP地址帮助的情况下使用它,并且只能使用DNS可解析的名称,或者至少使用任何节点ip的
例如: http://node2.federated.fds/coffee ,当我卷曲这个时,我得到Connection拒绝错误
按规格更新
apiVersion: v1
kind: Service
metadata:
name: coffee-svc
labels:
app: coffee
spec:
ports:
- port: 80
targetPort: 80
protocol: TCP
name: http
# nodePort: 30080
type: NodePort
selector:
app: coffee
进入
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: cafe-ingress
spec:
rules:
- host: jciamaster.federated.fds
http:
paths:
- path: /tea
backend:
serviceName: tea-svc
servicePort: 80
- path: /coffee
backend:
serviceName: coffee-svc
servicePort: 80
nginx ing控制器
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx-ingress-rc
labels:
app: nginx-ingress
spec:
replicas: 1
selector:
app: nginx-ingress
template:
metadata:
labels:
app: nginx-ingress
spec:
containers:
- image: nginxdemos/nginx-ingress:0.8.1
imagePullPolicy: Always
name: nginx-ingress
ports:
- containerPort: 80
hostPort: 80
我看到端口80只在nginx pod运行的节点上侦听,而不是在任何其他节点上侦听。 有人请让我知道如何通过所有节点ip访问应用程序或如jciamaster.federated.fds这样的网址?
谢谢,
更新:
试图像Marc建议的那样使用nginx控制器作为svc运行
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx-ingress-rc
labels:
app: nginx-ingress
spec:
replicas: 1
selector:
app: nginx-ingress
template:
metadata:
labels:
app: nginx-ingress
spec:
containers:
- image: nginxdemos/nginx-ingress:0.8.1
imagePullPolicy: Always
name: nginx-ingress
ports:
- containerPort: 80
# Uncomment the lines below to enable extensive logging and/or customization of
# NGINX configuration with configmaps
#args:
#- -v=3
#- -nginx-configmaps=default/nginx-config
---
apiVersion: v1
kind: Service
metadata:
labels:
name: nginx-ingress-label
name: nginx-ing-svc
spec:
ports:
- port: 80
targetPort: 80
protocol: TCP
name: http
nodePort: 30000
type: NodePort
selector:
name: nginx-ingress
当我点击http:// xxx:30000 / coffee它只是挂起而什么都不做。我做错了什么?
您可以使用NodePort服务公开nginx控制器Pod,然后可以在所有节点上访问它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.