我使用bitnami helm chart(https://github.com/bitnami/charts/tree/main/bitnami/redis)在Openshift(CRC)中部署了一个Redis单机版
我使用了以下参数:
helm repo add my-repo https://charts.bitnami.com/bitnami
helm upgrade --install redis-ms my-repo/redis \
--set master.podSecurityContext.enabled=false \
--set master.containerSecurityContext.enabled=false \
--set auth.enabled=false \
--set image.debug=true \
--set architecture=standalone
我可以看到一个Redis主节点pod“Ready to accept connections”(准备接受连接)然后我创建一个Route(路由)来将Redis暴露在集群之外:
kind: Route
apiVersion: route.openshift.io/v1
metadata:
name: redis
spec:
host: redis-ms.apps-crc.testing
to:
kind: Service
name: redis-ms-master
port:
targetPort: tcp-redis
wildcardPolicy: None
但是当我尝试连接到“redis-ms.apps-crc.testing:80”时,我得到了:
"Unknown reply: H"
而如果我使用oc port-forward --namespace redis-ms svc/redis-ms-master 6379:6379
,然后连接到“localhost:6379”,则可以正常工作
1条答案
按热度按时间6pp0gazn1#
OpenShift
Route
仅限于HTTP(S)流量,这是由于router sends traffic with SNI .入口控制器配置为接受外部请求并根据配置的路由代理这些请求。这仅限于HTTP、使用SNI的HTTPS和使用SNI的TLS,这对于通过使用SNI的TLS工作的Web应用程序和服务来说已经足够。
如果您需要公开非HTTP流量,比如数据库或Redis示例,您可以直接将
Service
公开为LoadBalancer
类型Service
。此外,它实际上看起来像是特定的helm图表支持将其设置为配置选项
master.service.type
。