我使用外部域名系统,为额外的背景。
我为应用程序“A”设置了一个服务、部署和入口,所有这些都按预期工作,我可以在指定的URL访问应用程序A。然后我为应用程序“B”设置了一个类似的东西,现在我
可以
到达应用程序B,但是如果我点击了为应用程序A指定的URL,我会得到
default backend - 404
信息。我以前没见过这个问题,有什么问题?以下是A和B的服务、部署和入口清单:
A:服务:
apiVersion: v1
kind: Service
metadata:
name: my-app-A
spec:
ports:
- name: https
port: 443
protocol: TCP
targetPort: 3000
- name: http
port: 80
protocol: TCP
targetPort: 3000
selector:
run: my-app-A
type: NodePort
A:部署:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: my-app-A
spec:
replicas: 1
template:
metadata:
labels:
run: my-app-A
spec:
containers:
- name: my-app-A
image: this-is-my-docker-image
imagePullPolicy: Always
envFrom:
- secretRef:
name: my-app-A-secrets
- configMapRef:
name: my-app-A-configmap
ports:
- containerPort: 3000
A:入口:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-app-A
annotations:
external-dns.alpha.kubernetes.io/hostname: "A.myurl.com"
kubernetes.io/ingress.class: "gce"
kubernetes.io/ingress.allow-http: "true"
spec:
rules:
- host: "A.myurl.com"
http:
paths:
- path: /*
backend:
serviceName: my-app-A
servicePort: 80
- host: "my-app-A-namespace.clusterbase.myurl.com"
http:
paths:
- path: /*
backend:
serviceName: my-app-A
servicePort: 80
对于B的清单,将“A”的所有实例替换为“B”,并替换为
external-dns.alpha.kubernetes.io/hostname: "A.myurl.com"
external-dns.alpha.kubernetes.io/hostname: "myurl.com"
.