我有需要连接到在kubernetes pod内运行的对接应用程序的非拆卸应用程序。
考虑到pod可能会死掉,然后使用不同的ip地址再次出现,我的应用程序如何检测到这一点?有没有办法分配一个主机名重定向到任何现有的pod?
发布于 2018-05-15 06:16:26
您将不得不使用kubernetes服务。服务为您提供了一种使用静态Ip和dns与pods对话的方法(如果您的客户端应用程序在集群内)。
https://kubernetes.io/docs/concepts/services-networking/service/
您可以通过以下几种方式完成此操作:
最简单的
发布于 2018-05-15 23:21:38
除了Bal Chua的工作和silverfox的建议之外,我还想向您展示我用于Kubernetes的方法,以公开和管理来自外部的传入流量:
步骤1:部署应用程序
在本例中,Kubernetes示例hello应用程序将在端口8080/tcp上运行
kubectl run web --image=gcr.io/google-samples/hello-app:1.0 --port=8080第2步:在内部将您的部署公开为服务
此命令告诉Kubernetes公开端口8080/tcp以与外部世界交互:
kubectl expose deployment web --target-port=8080 --type=NodePort之后,请检查是否暴露了正在运行的命令:
kubectl get service web步骤3:管理入口资源
入口将流量发送到在Kubernetes中工作的适当服务。
打开文本编辑器,然后创建文件basic-ingress.yaml
带内容:
apiVersion:
extensions/v1beta1
kind: Ingress
metadata:
name: basic-ingress
spec:
backend:
serviceName: web
servicePort: 8080应用配置:
kubectl apply -f basic-ingress.yaml仅此而已。现在是测试的时候了。获取Kubernetes安装的外部IP地址:
kubectl get ingress basic-ingress并使用此地址运行web浏览器以查看hello应用程序的工作情况。
https://stackoverflow.com/questions/50336932
复制相似问题