尝试设置我的 GC Kubernetes。使用 Ingress 控制器进行负载平衡。虽然它对于连接到在我的 kubernetes 上运行的容器的服务非常有效,但我很难让它为我的外部 wordpress 工作。
我按照https://kubernetes.io/docs/concepts/services-networking/service/并创建了一个没有选择器的服务。
apiVersion: v1
kind: Service
metadata:
name: external-wordpress-service
annotations:
ingress.kubernetes.io/preserve-host: "false"
spec:
type: ExternalName
externalName: xyz.myraidbox.de
然后我编辑我的 ingress.yaml 以指向该服务
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: spx-ingress
spec:
tls:
- hosts:
- domain.com
- www.domain.com
secretName: le-tls-cert-prod-04
backend:
serviceName: frontend-service
servicePort: 80
rules:
- http:
paths:
- path: /
backend:
serviceName: frontend-service
servicePort: 80
- path: /test/
backend:
serviceName: external-wordpress-service
servicePort: 80
因此计划是必须有 www.domain.com/test/ 才能在根级别访问我的外部 wordpress
www.domain.com/test/ -> xyz.myraidbox.de
经过近十亿次编辑后,我仍然得到 404,并且我的前端返回 404 页面而不是来自我的外部 WP 的内容。
有什么建议吗?提前谢谢
欢呼 Andy
答案1
我看到 Ingress 后端未配置为指向 kubernetes 资源,但它指向外部网站 (wordpress)。这是可能的,您可以在 中创建指向外部网站的后端Service
,但是,您需要向 中添加更多规范Service
。
解决方案:尝试按照此示例此 GitHub 主题,并在 中指定 a port
80、atargetport
和 a 。protocol
Service
通过以下方式:
kind: Service
apiVersion: v1
metadata:
name: external-wordpress-service
annotations:
ingress.kubernetes.io/preserve-host: "false"
spec:
ports:
- protocol: TCP
port: 80
targetPort: 80
type: ExternalName
externalName: xyz.myraidbox.de