我尝试在我的kubernetes集群上配置ingress . 我按照documentation安装入口控制器并运行以下命令
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/mandatory.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/provider/baremetal/service-nodeport.yaml
之后,default-http-backend和nginx-ingress-controller正在运行:
ingress-nginx default-http-backend-846b65fb5f-6kwvp 1/1 Running 0 23h 192.168.2.28 node1
ingress-nginx nginx-ingress-controller-d658896cd-6m76j 1/1 Running 0 6m 192.168.2.31 node1
我试过测试入口,我部署了以下服务:
apiVersion: apps/v1
kind: Deployment
metadata:
name: echoserver-deploy
spec:
replicas: 2
selector:
matchLabels:
app: echo
template:
metadata:
labels:
app: echo
spec:
containers:
- name: my-echo
image: gcr.io/google_containers/echoserver:1.8
---
apiVersion: v1
kind: Service
metadata:
name: echoserver-svc
spec:
selector:
app: echo
ports:
- protocol: TCP
port: 8080
targetPort: 8080
以下入口:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: happy-ingress
annotations:
INGRESS.kubernetes.io/rewrite-target: /
spec:
rules:
- host: happy.k8s.io
http:
paths:
- path: /echoserver
backend:
serviceName: echoserver-svc
servicePort: 8080
当我运行命令'kubectl get ing'时,我收到了:
NAME HOSTS ADDRESS PORTS AGE
happy-ingress happy.k8s.io 80 14m
我没有解决ADDRESS,我无法弄清楚问题是什么,因为所有的pod都在运行 . 你能告诉我一下这个问题是什么吗?
谢谢
1 回答
您的
hostname happy.k8s.io
应解析为nginx-ingress-controller的实际IP地址,该地址指向负载均衡器的前端 .您可以检查群集在哪个IP下工作:
使用
curl
测试群集的入口控制器最后,您应该只将域条目添加到
/etc/hosts
: