首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker和Kubernetes内部API的端点路径

Docker和Kubernetes内部API的端点路径
EN

Stack Overflow用户
提问于 2018-10-26 20:39:51
回答 1查看 38关注 0票数 1

我是Docker和Kubernetes的新手。现在我正在开发Restful API,稍后将其部署到Kubernetes集群中的Docker容器。

端点的路径将如何更改?我听说Docker-Swarm和Kubernetes在端点上添加了一些线条。

EN

回答 1

Stack Overflow用户

发布于 2018-10-26 21:09:54

端点URL本身的“路径”部分(对于这个问题,就是/questions/53008947/...部分)不会改变。但URL的其余部分可能会。

Docker在TCP端口级别发布服务(docker run -p选项,Docker Compose ports:部分),并且不会查看端口上的流量。如果将Apache或nginx代理作为堆栈的一部分,可能会更改HTTP级别的路径映射,但您的环境中可能会注意到这一点。

Kubernetes的工作原理类似,但有更多的层。容器运行在Pod中,可以将某个端口发布到Pod之外。这不是直接使用的;相反,服务引用Pod (通过它的标签)并重新发布它的端口,可能是在不同的端口号上。该服务有一个可在集群内使用的DNS名称service-name.namespace.svc.cluster.local;您还可以将该服务配置为可在服务中每个节点上的固定TCP端口上访问(NodePort),或者,如果您的Kubernetes运行在公共云提供商上,则在那里创建一个负载均衡器(LoadBalancer)。同样,所有这些都是严格在TCP级别进行的,不会影响HTTP路径。

还有另一个Kubernetes组件,Ingress控制器,它充当nginx代理(或具有类似功能的其他组件)的声明性包装器。这确实是在HTTP级别操作的,并且可能会更改路径。

与此相关的另一个推论是,访问服务的URL在不同的环境中可能不同:本地开发设置中的http://localhost:12345/path、Docker Compose中的http://other_service:8080/path、Kubernetes中的http://other-service/path、生产环境中的https://api.example.com/other/path。您需要一些方法来使其可配置(通常是一个环境变量)。

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

https://stackoverflow.com/questions/53008947

复制
相关文章

相似问题

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