ocp里面route和haproxy的关系
HAProxy是一个开源的负载均衡器和代理服务器,它可以处理任何基于TCP和HTTP的应用,并提供高可用性、负载均衡和代理功能。
在OpenShift环境中,HAProxy通常被用作路由层(Router Layer)的一部分。这个路由层负责将外部的网络请求路由到集群中的特定服务。OpenShift内置了一个叫做OpenShift Router的组件,这个组件基于HAProxy,用来处理集群内的路由需求。
当你在OpenShift中创建一个Route时,OpenShift Router会自动更新HAProxy的配置,以添加新的路由规则。这个规则会告诉HAProxy如何将到达某个特定域名或URL的请求转发到集群中的某个服务。
路由允许您在公共 URL 托管应用程序。根据应用程序的网络安全配置,它可以安全或不受保护。基于 HTTP 的路由是一个不受保护的路由,它使用基本的 HTTP 路由协议,并在未安全的应用程序端口上公开服务。
官方文档:
https://access.redhat.com/documentation/zh-cn/openshift_container_platform/4.11/html/networking/configuring-routes
参考文章1 :
https://blog.51cto.com/itrunner/2369482
TLS Termination有三种类型:edge、passthrough、reencrypt
edge 访问route使用https协议,route到内部网络为非加密的,如未配置证书则使用默认证书。
reencrypt 全部访问路径均是加密的
passthrough 加密通信直接发送到目标,route不需提供TLS Termination。
参考文章二 , http - route ok:
https://blog.csdn.net/frank0521/article/details/125476612
示例1 prome-alert:
kubectl create deployment dep-prome-alert --image=bqharbordd01.test.mtr.bj.cn:8443/it/prometheus-alert --replicas=2
kubectl expose deployment dep-prome-alert --port=8080 --target-port=8000 # 没指明名字默认是 dep-prome-alert
创建非https的 route
```yaml
apiVersion: route.openshift.io/v1
kind: Route
metadata:
labels:
app: dep-prome-alert
name: route-dep-prome-alert
namespace: default
spec:
host: prome-alert.apps.test.mtr.bj.cn
port:
targetPort: 8080
to:
kind: Service
name: dep-prome-alert
weight: 100
status:
ingress:
- conditions:
host: prome-alert.apps.test.mtr.bj.cn
routerCanonicalHostname: router-default.apps.test.mtr.bj.cn
routerName: default