开发者社区 > 云原生 > 微服务 > 正文

Higress这么配置路由对吗? pod里面没有80端口

测试service:
apiVersion: v1
kind: Service
metadata:
name: nginx-service
namespace: default
resourceVersion: '16297810'
creationTimestamp: '2024-03-18T06:28:39Z'
labels:
app: nginx-service
k8slens-edit-resource-version: v1
managedFields:

- manager: dashboard
  operation: Update
  apiVersion: v1
  time: '2024-03-18T06:28:39Z'
  fieldsType: FieldsV1
  fieldsV1:
    f:metadata:
      f:labels:
        .: {}
        f:app: {}
    f:spec:
      f:externalTrafficPolicy: {}
      f:ports:
        .: {}
        k:{"port":80,"protocol":"TCP"}:
          .: {}
          f:port: {}
          f:protocol: {}
          f:targetPort: {}
      f:selector:
        .: {}
        f:app: {}
      f:sessionAffinity: {}
- manager: node-fetch
  operation: Update
  apiVersion: v1
  time: '2024-03-18T08:38:17Z'
  fieldsType: FieldsV1
  fieldsV1:
    f:metadata:
      f:labels:
        f:k8slens-edit-resource-version: {}
    f:spec:
      f:type: {}

selfLink: /api/v1/namespaces/default/services/nginx-service
status:
loadBalancer: {}
spec:
ports:

- protocol: TCP
  port: 80
  targetPort: 80

selector:
app: nginx-pod
clusterIP: 10.103.205.40
clusterIPs:

- 10.103.205.40

type: ClusterIP
sessionAffinity: None
ipFamilies:

- IPv4

ipFamilyPolicy: SingleStack

测试路由:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: simple-example
namespace: default

resourceVersion: '16299782'
generation: 4
creationTimestamp: '2024-03-18T06:32:33Z'
labels:
k8slens-edit-resource-version: v1
managedFields:

- manager: node-fetch
  operation: Update
  apiVersion: networking.k8s.io/v1
  time: '2024-03-18T08:50:20Z'
  fieldsType: FieldsV1
  fieldsV1:
    f:metadata:
      f:labels:
        .: {}
        f:k8slens-edit-resource-version: {}
    f:spec:
      f:rules: {}

selfLink: /apis/networking.k8s.io/v1/namespaces/default/ingresses/simple-example
status:
loadBalancer: {}
spec:
rules:

- http:
    paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: nginx-service
            port:
              number: 80

Higress这么配置路由对吗? pod里面没有80端口

展开
收起
三分钟热度的鱼 2024-03-27 16:40:15 29 0
2 条回答
写回答
取消 提交回答
  • 根据您提供的YAML配置,这是一个Kubernetes Service的定义,用于暴露一个名为nginx-service的服务。然而,这个配置并没有提供足够的信息来确认它是否正确地与Higress集成,或者是否能够正确地路由到您的应用。

    在Kubernetes中,Service通常用于定义如何访问一组Pod,而Ingress则用于从集群外部访问服务。如果您使用的是Higress Ingress控制器,那么您需要确保以下几点:

    1. Service配置正确:确保您的Service指向了正确的Pod和端口。在这个例子中,您没有指定任何Pod或端口,所以这个Service可能不会按预期工作。

    2. Ingress规则配置正确:您需要创建一个Ingress资源,并指定正确的Service和路由规则。这通常涉及到指定路径、端口号、TLS设置等。

    3. 端口匹配:如果您的Pod没有监听80端口,那么您需要在Service中指定正确的端口号。例如,如果Pod监听的是8080端口,那么您的Service应该指向8080端口。

    4. 网络策略:确保您的网络策略允许流量从Ingress控制器流向您的Service和Pod。

    5. 健康检查:如果您的Service背后运行的是容器化的应用,确保Ingress控制器可以执行健康检查,以便正确地将流量路由到健康的Pod。

    6. 环境变量和配置:如果您的Pod需要特定的环境变量或配置来正确运行,确保这些都被正确设置。

    7. 日志和监控:确保您可以查看Ingress控制器和Pod的日志,以便于调试和监控。

    由于您没有提供完整的Ingress配置或Pod的配置,我无法给出一个确切的答案。建议您检查上述各点,确保所有配置都符合您的预期,并且能够正确地将流量路由到您的应用。如果问题仍然存在,您可能需要进一步检查您的Higress配置或联系技术支持以获取帮助。

    2024-03-31 10:29:07
    赞同 展开评论 打赏
  • 2024-03-27 17:00:34
    赞同 展开评论 打赏

为微服务建设降本增效,为微服务落地保驾护航。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载