ingress访问问题

来源:1-1 微服务-导学

慕先生8199797

2019-02-11

老师 你好,我在自己本地搭建了一个项目的负载均衡服务,遇到了点问题,想想你请教一下;
1)我搭建的服务镜像是项目组制作的一份docker镜像,该镜像是在tomcat中搭建了一个业务服务。
2)项目的部署yaml文件内容如下:
apiVersion: v1
kind: Service
metadata:
labels:
app: testiam
name: testiam
namespace: ingress-nginx
spec:
ports:

  • port: 80
    protocol: TCP
    targetPort: 8080
    nodePort: 20004
    selector:
    app: testiam
    type: NodePort

apiVersion: apps/v1
kind: Deployment
metadata:
name: testiam
namespace: ingress-nginx
spec:
selector:
matchLabels:
app: testiam
replicas: 4
template:
metadata:
labels:
app: testiam
namespace: ingress-nginx
spec:
imagePullSecrets:
- name: registry-key
containers:
- name: testiam
image: thundersofthub/iam:lastest
ports:
- containerPort: 80
3) ingress 部署文件内容如下:
kind: Ingress
metadata:
name: iam-ingress
namespace: ingress-nginx

spec:
rules:

  • host: kube-xiaotest.com
    http:
    paths:
    • path:
      backend:
      serviceName: testiam
      servicePort: 80
      4 )服务都部署成功,查看pods内容如下:
      NAME READY STATUS RESTARTS AGE IP NODE
      nginx-ingress-controller-5f9dd89fcb-dqhxf 1/1 Running 36 13d 10.0.32.79 10.0.32.79
      testiam-5ff59c5dcb-4zxl5 1/1 Running 5 13d 172.20.40.193 10.0.32.79
      testiam-5ff59c5dcb-mmcgk 1/1 Running 5 13d 172.20.40.207 10.0.32.79
      testiam-5ff59c5dcb-psnxf 1/1 Running 5 13d 172.20.40.198 10.0.32.79
      testiam-5ff59c5dcb-wrq9t 1/1 Running 6 13d 172.20.40.202 10.0.32.79
      5)我可以使用10.0.32.79:20004/访问到tomcat,使用http://10.0.32.79:20004/ThunderIAM-4.92.0112-SNAPSHOT/home访问到业务服务;
      6)配置域名是10.0.32.79 kube-xiaotest.com,可以通过
      http://kube-xiaotest.com:20004/http://kube-xiaotest.com:80 两个地址访问到tomcat服务。
      我想访问业务服务的时候目前只能通过pods节点的信息访问到:如
      kube-xiaotest.com:20004/ThunderIAM-4.92.0112-SNAPSHOT/homehttp://10.0.32.79:20004/ThunderIAM-4.92.0112-SNAPSHOT/home 访问到业务服务

但是这样的话ingress没有使用到,我想通过Ingress访问业务服务的时候该如果访问呢?

写回答

1回答

刘果国

2019-02-12

"6)配置域名是10.0.32.79 kube-xiaotest.com,可以通过
http://kube-xiaotest.com:20004/ 和 http://kube-xiaotest.com:80 两个地址访问到tomcat服务。"

http://kube-xiaotest.com:80 这种方式就是通过ingress访问到的呀。

(本质上就是把你的域名解析到运行了ingress-nginx的服务器上)


0
0

Docker+Kubernetes(k8s)微服务容器化实践

从开发到编排,快速,完整,深入的掌握微服务

2608 学习 · 607 问题

查看课程