测试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端口
根据您提供的YAML配置,这是一个Kubernetes Service的定义,用于暴露一个名为nginx-service
的服务。然而,这个配置并没有提供足够的信息来确认它是否正确地与Higress集成,或者是否能够正确地路由到您的应用。
在Kubernetes中,Service通常用于定义如何访问一组Pod,而Ingress则用于从集群外部访问服务。如果您使用的是Higress Ingress控制器,那么您需要确保以下几点:
Service配置正确:确保您的Service指向了正确的Pod和端口。在这个例子中,您没有指定任何Pod或端口,所以这个Service可能不会按预期工作。
Ingress规则配置正确:您需要创建一个Ingress资源,并指定正确的Service和路由规则。这通常涉及到指定路径、端口号、TLS设置等。
端口匹配:如果您的Pod没有监听80端口,那么您需要在Service中指定正确的端口号。例如,如果Pod监听的是8080端口,那么您的Service应该指向8080端口。
网络策略:确保您的网络策略允许流量从Ingress控制器流向您的Service和Pod。
健康检查:如果您的Service背后运行的是容器化的应用,确保Ingress控制器可以执行健康检查,以便正确地将流量路由到健康的Pod。
环境变量和配置:如果您的Pod需要特定的环境变量或配置来正确运行,确保这些都被正确设置。
日志和监控:确保您可以查看Ingress控制器和Pod的日志,以便于调试和监控。
由于您没有提供完整的Ingress配置或Pod的配置,我无法给出一个确切的答案。建议您检查上述各点,确保所有配置都符合您的预期,并且能够正确地将流量路由到您的应用。如果问题仍然存在,您可能需要进一步检查您的Higress配置或联系技术支持以获取帮助。
参考https://higress.io/zh-cn/docs/user/quickstart#%E6%96%B9%E6%B3%95%E4%BA%8C%E4%BD%BF%E7%94%A8-ingress-crd-%E8%BF%9B%E8%A1%8C%E9%85%8D%E7%BD%AE 此回答整理自钉群“Higress 社区交流 2 群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。