入口 return 404
Ingress return 404
Rancher 入口 return 404 服务。
设置:我有 6 个虚拟机,一个 Rancher 服务器 x.x.x.51(dns domain.company 指向 TLS)和 5 个虚拟机(一个主服务器和 4 个工作服务器 x.x.x.52-56).
我的服务,gvm-gsad 运行 在 gvm 命名空间中:
apiVersion: v1
kind: Service
metadata:
annotations:
field.cattle.io/publicEndpoints: "null"
meta.helm.sh/release-name: gvm
meta.helm.sh/release-namespace: gvm
creationTimestamp: "2021-11-15T21:14:21Z"
labels:
app.kubernetes.io/instance: gvm-gvm
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: gvm-gsad
app.kubernetes.io/version: "21.04"
helm.sh/chart: gvm-1.3.0
name: gvm-gsad
namespace: gvm
resourceVersion: "3488107"
uid: c1ddfdfa-3799-4945-841d-b6aa9a89f93a
spec:
clusterIP: 10.43.195.239
clusterIPs:
- 10.43.195.239
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
ports:
- name: gsad
port: 80
protocol: TCP
targetPort: gsad
selector:
app.kubernetes.io/instance: gvm-gvm
app.kubernetes.io/name: gvm-gsad
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}
我的 ingress 配置:Ingress 控制器是 rancher 的默认控制器。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
field.cattle.io/publicEndpoints: '[{"addresses":["172.16.12.53"],"port":443,"protocol":"HTTPS","serviceName":"gvm:gvm-gsad","ingressName":"gvm:gvm","hostname":"dtl.miproad.ad","path":"/gvm","allNodes":true}]'
creationTimestamp: "2021-11-16T19:22:45Z"
generation: 10
name: gvm
namespace: gvm
resourceVersion: "3508472"
uid: e99271a8-8553-45c8-b027-b259a453793c
spec:
rules:
- host: domain.company
http:
paths:
- backend:
service:
name: gvm-gsad
port:
number: 80
path: /gvm
pathType: Prefix
tls:
- hosts:
- domain.company
status:
loadBalancer:
ingress:
- ip: x.x.x.53
- ip: x.x.x.54
- ip: x.x.x.55
- ip: x.x.x.56
当我使用 https://domain.company/gvm 访问它时,我得到 404。
然而,当我将服务更改为 NodePort 时,我可以使用 x.x.x.52:PORT 正常访问它。这意味着部署 运行 很好,只是入口中的一些配置问题。
我检查了这个: 但它没有帮助。
提前致谢!
找出解决方案。
domain.company 指向牧场主 (x.x.x.51)。入口位于 运行 on (x.x.x.53,.54,.55,.56).
因此,解决方案是创建一个名为 gvm 的新 DNS。domain.company 指向任何入口 (x.x.x.53,.54,.55,.56)(您可以使用 LoadBalancer在这里或使用循环 DNS)。
然后,入口定义为gvm.domain.company,路径为“/”。
希望对大家有所帮助!
Rancher 入口 return 404 服务。
设置:我有 6 个虚拟机,一个 Rancher 服务器 x.x.x.51(dns domain.company 指向 TLS)和 5 个虚拟机(一个主服务器和 4 个工作服务器 x.x.x.52-56).
我的服务,gvm-gsad 运行 在 gvm 命名空间中:
apiVersion: v1
kind: Service
metadata:
annotations:
field.cattle.io/publicEndpoints: "null"
meta.helm.sh/release-name: gvm
meta.helm.sh/release-namespace: gvm
creationTimestamp: "2021-11-15T21:14:21Z"
labels:
app.kubernetes.io/instance: gvm-gvm
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: gvm-gsad
app.kubernetes.io/version: "21.04"
helm.sh/chart: gvm-1.3.0
name: gvm-gsad
namespace: gvm
resourceVersion: "3488107"
uid: c1ddfdfa-3799-4945-841d-b6aa9a89f93a
spec:
clusterIP: 10.43.195.239
clusterIPs:
- 10.43.195.239
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
ports:
- name: gsad
port: 80
protocol: TCP
targetPort: gsad
selector:
app.kubernetes.io/instance: gvm-gvm
app.kubernetes.io/name: gvm-gsad
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}
我的 ingress 配置:Ingress 控制器是 rancher 的默认控制器。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
field.cattle.io/publicEndpoints: '[{"addresses":["172.16.12.53"],"port":443,"protocol":"HTTPS","serviceName":"gvm:gvm-gsad","ingressName":"gvm:gvm","hostname":"dtl.miproad.ad","path":"/gvm","allNodes":true}]'
creationTimestamp: "2021-11-16T19:22:45Z"
generation: 10
name: gvm
namespace: gvm
resourceVersion: "3508472"
uid: e99271a8-8553-45c8-b027-b259a453793c
spec:
rules:
- host: domain.company
http:
paths:
- backend:
service:
name: gvm-gsad
port:
number: 80
path: /gvm
pathType: Prefix
tls:
- hosts:
- domain.company
status:
loadBalancer:
ingress:
- ip: x.x.x.53
- ip: x.x.x.54
- ip: x.x.x.55
- ip: x.x.x.56
当我使用 https://domain.company/gvm 访问它时,我得到 404。
然而,当我将服务更改为 NodePort 时,我可以使用 x.x.x.52:PORT 正常访问它。这意味着部署 运行 很好,只是入口中的一些配置问题。
我检查了这个:
提前致谢!
找出解决方案。
domain.company 指向牧场主 (x.x.x.51)。入口位于 运行 on (x.x.x.53,.54,.55,.56).
因此,解决方案是创建一个名为 gvm 的新 DNS。domain.company 指向任何入口 (x.x.x.53,.54,.55,.56)(您可以使用 LoadBalancer在这里或使用循环 DNS)。
然后,入口定义为gvm.domain.company,路径为“/”。
希望对大家有所帮助!