如何解决大使边缘堆栈问题
我没有健康的上游错误。在访问大使时。 Pod / Services和Loadbalancer似乎一切正常。大使不在话下。
目前,我在Kubernetes集群中运行了多个服务,每个服务都使用自己的前缀在Mapping上。是否可以将多个k8s服务指向同一映射,以便我没有太多的前缀?我所有的k8s服务都将使用相同的大使前缀吗?
默认情况下,默认的大使正在引导我通过https,这会创建证书问题,尽管现在我将在不久的将来带来https,但我只是想证明这一概念,因此如何禁用HTTPS和仅做HTTP的大使? / p>
解决方法
-
没有健康的上游通常意味着,无论出于何种原因,大使都无法找到映射中列出的服务。看到此消息后,我通常要做的第一件事是运行
kubectl exec -it -n ambassador {my_ambassador_pod_name} -- sh
并尝试运行curl -v my-service
,其中“ my-service”是您要尝试访问的服务的Kube DNS名称。根据响应,它可以为您提供一些提示,说明为什么大使无法看到该服务。 -
映射与服务基于1-1进行工作。但是,如果您的目标是避免使用前缀,则大使还有其他匹配方法可以创建路由。我见过的一种常见方法是使用基于主机的路由(https://www.getambassador.io/docs/latest/topics/using/headers/host/)并为单个或逻辑服务集创建子域。
-
AES默认情况下重定向到HTTPS,但是可以通过应用具有不安全路由行为的主机来覆盖此行为。我通常使用的一个非常简单的方法是:
---
apiVersion: getambassador.io/v2
kind: Host
metadata:
name: wildcard
namespace: ambassador
spec:
hostname: "*"
acmeProvider:
authority: none
requestPolicy:
insecure:
action: Route
selector:
matchLabels:
hostname: wildcard
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。