首页 > 解决方案 > 为 kubernetes 中的应用程序定义一个 url

问题描述

伙计们

目前我试图在我的 kubernetes 中设置一个 url

我编写了一个服务,以便能够连接到 dns 以解析所有外部 URL。我也定义了一个Ingress

kind: Ingress
metadata:
  name: dnsingressresource
spec:
#  tls:
#   - hosts:
#    - < domain>
#     secretName: <tls_secret_name> 
  rules:
  - host: cloud.devlan.xx.xxx
    http:
      paths:
      - path: /mobdev1/auth
        backend:
          serviceName: service-cas-nodeport
          servicePort: 2488

如果我想访问我的应用程序的 url,我必须写这个

https://cloud.devlan.xx.xxx:2488/mobdev1/auth/login

我试图得到这个

https://cloud.devlan.xx.xxx/mobdev1/auth/login

你知道我怎么能得到它吗?

标签: kubernetesgoogle-kubernetes-enginekubernetes-ingress

解决方案


您应该为您的服务指定端口80,并且targetPort应该是您容器中的端口

定义服务

部署.yaml

kind: Deployment
...
    spec:
      containers:
        - name: my-app
          image: "my-image:my-tag"
          imagePullPolicy: IfNotPresent
          ports:
            - name: http
              containerPort: 2488
              protocol: TCP

服务.yaml

apiVersion: v1
kind: Service
...
spec:
  type: NodePort
  ports:
    - port: 80
      targetPort: 2488
      protocol: TCP
      name: http

入口.yaml

apiVersion: extensions/v1beta1
kind: Ingress
...
spec:
  backend:
    serviceName: my-service
    servicePort: 80

推荐阅读