tky*_*ass 4 openshift kubernetes
我是 kubernetes 和 openshift 的新手(来自 docker swarm world),我在处理一些 kubernetes 和 openshift 文档时遇到了问题,尤其是与route和services相关的文档。我一直在寻找如何在外部公开容器的副本集,我发现kubernetes 文档使用服务来公开 pod,而openshift 使用 routes。谁能向我解释这些差异?
使用的工具只有细微的差别。OpenShift 是一个 Kubernetes 发行版,这意味着它是一组自以为是的预选组件。因此对于 Ingress,OpenShift 使用 HAProxy 将 (HTTP) 流量获取到集群中。其他 Kubernetes 发行版可能使用 NGINX 入口控制器或类似的东西。
因此Services用于负载平衡集群内的流量。因此,当您创建一个 时ReplicaSet,您将有多个 Pod 正在运行。要与这些 Pod“交谈”,您通常会创建一个Service. 这Service将在您的 Pod 之间平均分配流量。
因此,为了从外部获取 HTTP(S) 流量到您的Service,OpenShift 使用Routes(Ingress在其他 Kubernetes 发行版中):
+-----+
+-->+ Pod |
+-------+ +---------+ | +-----+
Traffic--->+ Route +------>+ Service +--+-->+ Pod |
+-------+ +---------+ | +-----+
+-->+ Pod |
+-----+
Run Code Online (Sandbox Code Playgroud)
因此,要将您的应用程序暴露给外部世界,您通常创建一个内部Serviceusingoc create service然后创建一个Routeusing oc expose:
# Create a new ClusterIP service named myservice
oc create service clusterip myservice --tcp=8080:8080
oc expose service myservice
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
787 次 |
| 最近记录: |