首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Knative+MiniKube设置中获取公共IP或域名

在Knative+MiniKube设置中获取公共IP或域名
EN

Stack Overflow用户
提问于 2022-09-04 06:30:27
回答 1查看 98关注 0票数 0

我正在尝试使用连体来自托管一个简单的FaaS平台,这个平台来自于一个在线的Linux服务器。我已经成功地安装了小库贝,并使用共轭算子安装/配置了级联。

在链接指南中的默认选择之后,我已经将kourier设置为网络层,并选择了Magic (sslip.io)设置。在运行minikube tunnel之后,我可以成功地提供像helloworld-python这样的演示应用程序。

但是,根据KNative,我的“外部IP”是一个私有ip:

代码语言:javascript
复制
kubectl --namespace knative-serving get service kourier

NAME      TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)                      AGE
kourier   LoadBalancer   10.100.195.53   10.100.195.53   80:31140/TCP,443:31175/TCP   15h

(注意,IP以10.开头,此IP不是机器外部的。)

因此,应用程序返回包含这个私有IP:http://helloworld-python.default.10.100.195.53.sslip.io的sslip.io地址。因此,我可以从主机服务器查询此服务(例如,通过curl),但不能从任何其他机器访问该服务。同样,如果我试图配置任何“事件”服务,KNative会生成带有私有IP地址的web挂钩,这显然无法工作,因为像GitHub这样的外部服务并不能解决它们。

那么,在这种情况下,为什么K困返回私有IP呢?KNative的安装似乎没有给出任何迹象表明情况会是这样,这表明

代码语言:javascript
复制
kubectl --namespace knative-serving get service kourier

可能会返回一个CNAME或IP地址,我们应该“为以后的DNS配置注意这一点”(除非使用Magic )。它应该归还一个私人IP吗?

  • 若然,公开服务的程序为何?我是否需要运行其他配置来公开公共IP?
  • 如果没有,是否需要为每种配置增加一些额外的配置,以便使用机器的公共IP?(或者至少可以将我自己的反向代理绑定到IP上?)
  • 库里尔是专为私人IP设计的吗?(文档非常简洁地解释了为什么人们应该选择kourier istio或等高线来建立网络,只是说istio是默认的,但是新用户如果不确定的话应该选择kourier?)

作为一个侧注/背景上下文,我的服务器有一个固定的IP地址,我使用卡迪 (在容器中与minikube位于同一个码头网络中)向服务提供https域名。另外,如果我只是按照标准迷你导轨作为NodePort或LoadBalancer来创建服务,那么我可以轻松地获取kubectl get svc显示的端口,并通过指向迷你库容器上的上述端口,在caddy中公开该服务,类似于Caddyfile中的如下所示:

代码语言:javascript
复制
minikube.app.mydomain.com {
  reverse_proxy minikube:32637 {
    header_up Host {host}
  } 
}

这只是为了确认,在香草迷你库贝,我没有问题的入口配置。KNative显然有一个额外的网络层,它通过它为应用程序生成URL,但这已经失败了。我不能就这样用私有IP地址KNative返回来替换“`minikube:32637”)

EN

回答 1

Stack Overflow用户

发布于 2022-09-04 13:44:17

本机使用HTTP Host报头在多个服务之间共享一个IP地址(类似于您对caddy.所做的操作)。

如果您想使用caddy来路由这些请求,则需要使用Host重写指令头。您可以使用替换表单和/或更改本机域前缀,以使这更容易。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73597233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档