当前位置: 首页 > 知识库问答 >
问题:

如何在Google云容器引擎上公开Traefik入口控制器?

颜熙云
2023-03-14

我一直在尝试使用Traefik作为Google云容器引擎的入口控制器。

我让我的超文本传输协议部署/服务启动并运行(当我用普通的负载均衡器公开它时,它回答得很好)。

然后我删除了LoadBalancer,并遵循本教程:https://docs.traefik.io/user-guide/kubernetes/

因此,我得到了一个新的traefik入口控制器部署和服务,以及一个traefik ui入口,我可以通过kubectl代理访问它。

然后,我为我的http服务创建入口,但我的问题来了:我找不到一种方法将其对外公开。

我希望任何人都可以通过外部IP访问它。

我错过了什么?

这是kubectl get--export all的输出:

NAME                                            READY     STATUS    RESTARTS   AGE
po/mywebservice-3818647231-gr3z9                1/1       Running   0          23h
po/mywebservice-3818647231-rn4fw                1/1       Running   0          1h
po/traefik-ingress-controller-957212644-28dx6   1/1       Running   0          1h

NAME                             CLUSTER-IP      EXTERNAL-IP   PORT(S)                       AGE
svc/mywebservice                 10.51.254.147   <none>        80/TCP                        1d
svc/kubernetes                   10.51.240.1     <none>        443/TCP                       1d
svc/traefik-ingress-controller   10.51.248.165   <nodes>       80:31447/TCP,8080:32481/TCP   25m
svc/traefik-web-ui               10.51.248.65    <none>        80/TCP                        3h

NAME                                DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deploy/mywebservice                 2         2         2            2           1d
deploy/traefik-ingress-controller   1         1         1            1           3h

NAME                                      DESIRED   CURRENT   READY     AGE
rs/mywebservice-3818647231                2         2         2         23h
rs/traefik-ingress-controller-957212644   1         1         1         3h

共有1个答案

戚哲
2023-03-14

您需要公开Traefik服务。将服务规范类型设置为LoadBalancer。请尝试我以前使用过的以下服务文件:

apiVersion: v1
kind: Service
metadata:
  name: traefik
spec:
  type: LoadBalancer
  selector:
    app: traefik
    tier: proxy
  ports:
  - port: 80
    targetPort: 80
 类似资料:
  • 我正在云中的AWS EKS服务上运行我的工作负载。我可以看到没有默认的入口控制器可用(因为它可用于GKE),我们必须选择第三方。 我决定使用Traefik。在跟踪文档和其他资源(像这样)之后,我觉得使用Traefik作为IngresController不会自动在云中创建LoadBalancer。我们必须手动完成它来设置所有内容。 如何使用Traefik作为Kubernetes入口,就像其他入口控制

  • 我正在运行一个kubernetes集群,它由三个节点组成,工作出色,但现在是时候让我的Web应用程序安全了,所以我部署了一个入口控制器(traefik)。但是我找不到在上面设置https的说明。我知道我必须做的大部分事情,比如设置“秘密”(带有证书的容器)等,但我想知道如何配置我的入口控制器和与之相关的所有文件,以便我能够使用安全连接 我已经配置了入口控制器,并创建了一些前端和后端。此外,我还配置

  • 问题内容: 我无法在Google Container Engine中使用“应用程序默认凭据”。这些文档说,它们是为App Engine和Compute Engine设计的,但是有人告诉我,它们应该透明地传递给在Container Engine上运行的容器。 这是失败的代码: 失败的错误: 期望Application Default Credentials与Container Engine一起使用是

  • 我试图在Google Container Engine(GKE)上创建一个kubernetes NFS卷,并让部署使用它。 我在github存储库kubernetes-nfs-volume-on-gke中显示了以下几个步骤: 创建GKE集群和GCE持久化磁盘 配置kubectl处理GKE集群的上下文 创建PersistentVolume(PV)和PersistentVolumeClaim(PVC)

  • 我基本上希望通过URL从外部访问Nginx hello页面。我已经为运行kubernetes和Nginx ingress:vps的v服务器的子域创建了一个(工作)a记录。我的域名。通用域名格式 我使用以下教程在CoreOS上通过kubeadm将Kubernetes安装为单节点集群:https://kubernetes.io/docs/setup/independent/install-kubead

  • GCP入口的以下注释等效于什么?我试图使用一个自定义的nginx模板,但我找不到以下注释的参考。在github的回答中,他们使用的是AWS,但我需要使用GCP来实现这一点。 我正在使用ingress类nginx 我正在尝试使用入口控制器在GCP Kubernetes集群中进行入口TCP SSL终止。 我想要来自<代码>https://example.com:1234重定向到