网站首页 > 技术教程 正文
公司的服务目前大都使用Kubernetes承载,但一些外购的服务没有部署在集群中,如何使用配置在Kubernetes中的域名访问集群外的服务?这篇文章,介绍如何解决这个问题。为了说明白这个问题,先在集群外的一台IP为10.0.11.104的服务器上部署一个服务,代码如下,
from flask import Flask
# -*- coding: utf-8 -*-
# 创建 Flask 应用程序实例
app = Flask(__name__)
# 定义指定路由处理函数
@app.route('/hello')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run(host='0.0.0.0', debug=True)
访问链接http://10.0.11.104/hello,输出“Hello, World!”
我们在Kubernetes集群中已经通过Ingress资源对象配置了一个域名“test.example.com”,使用指定路径“/hello”访问上面的服务。
应用下面的Kubernetes资源配置文件,
apiVersion: v1
kind: Endpoints
metadata:
name: portredirect
namespace: test
subsets:
- addresses:
- ip: 10.0.11.104
ports:
- name: http
port: 5000
---
apiVersion: v1
kind: Service
metadata:
name: portredirect
namespace: test
spec:
type: ClusterIP
ports:
- name: http
port: 80
targetPort: 5000
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: finereport
namespace: test
annotations:
nginx.ingress.kubernetes.io/proxy-request-buffering: "off"
spec:
tls:
- hosts:
- '*.example.com'
secretName: web-ssl
rules:
- host: test.example.com
http:
paths:
- path: /hello
backend:
serviceName: portredirect
servicePort: 80
在Kubernetes中,Endpoints资源对象一般不用手动创建,它会跟着Service资源对象自动创建,Endpoints 对象会自动获取该 Service 所选择的所有 Pod 的 IP 地址和端口信息,并将其填充到 Endpoints 对象中。在本文的场景中,实际的Pod并不存在,我们需要手动创建一个Endpoints,只要保证Endpoints和Service的名字相同,它们会自动绑定,这样在集群内部访问服务名“portredirect”就可以访问到前面部署的Python服务。在集群外面访问链接“https://www.example.com/hello”也可以访问到Python服务。
这样的配置有两个好处:
- 集群内服务使用服务名即可访问外部的服务
- 可以依赖集群已有的统一域名访问
希望这篇文章能帮到你!
猜你喜欢
- 2024-10-10 Nginx和Firewall都可以实现四层转发,你喜欢哪一个?
- 2024-10-10 nginx做转发时,带下划线字段的header内容丢失
- 2024-09-14 NGINX 应用性能优化指南(第二部分):反向代理缓冲
- 2024-09-14 10《Nginx 入门教程》Nginx 的反向代理(上)
- 2024-09-14 Nginx 全面攻略:动静分离、压缩、缓存、黑白名单、跨域、高可用
- 2024-09-14 Portainer实用教程Portainer如何使用 Nginx 容器实现端口转发?
- 2024-09-14 Nginx TCP代理转发和负载均衡(nginx代理tcp转http)
- 2024-09-14 记一次nginx无法转发到后端的问题
- 2024-09-14 Nginx的请求数据处理流程(nginx的请求数据处理流程是什么)
- 2024-09-14 nginx使用(nginx使用的端口)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)