18.8. 教程:网络
本教程演示了 OSToy 应用程序如何使用集群内联网来通过微服务和视觉化 pod 扩展来分隔功能。
图中显示至少有两个独立的 pod,每个 pod 都有自己的服务。
一个 pod 充当前端 Web 应用,服务和一个公开访问的路由。其他容器集充当 backend 微服务与服务对象,以便前端容器集能够与微服务通信。如果多个 pod,此通信发生在 pod 之间。由于这些通信限制,此微服务无法从此集群外部或其他命名空间或项目访问(如果已配置)。此微服务的唯一用途是提供内部 Web 请求,并返回包含当前主机名(即 pod 的名称)的 JSON 对象,以及随机生成的颜色字符串。此颜色字符串用于显示方框,其中颜色显示在标题为"Intra-cluster Communication"的标题中。
有关网络限制的更多信息,请参阅关于网络策略。
18.8.1. 集群内网络
您可以在 OSToy 应用程序中查看您的网络配置。
流程
- 在 OSToy 应用程序中,点击左侧菜单中的 Networking。
检查网络配置。名为"Hostname Lookup"的右侧标题演示了如何使用为 pod 创建的服务名称转换为内部 ClusterIP 地址。
输入在正确的标题("Hostname Lookup")中创建的微服务名称,其格式为 <
service_name>.<namespace>.svc.cluster.local
。您可以运行以下命令来在ostoy-microservice.yaml
的服务定义中找到此服务名称:$ oc get service <name_of_service> -o yaml
输出示例
apiVersion: v1 kind: Service metadata: name: ostoy-microservice-svc labels: app: ostoy-microservice spec: type: ClusterIP ports: - port: 8080 targetPort: 8080 protocol: TCP selector: app: ostoy-microservice
在本例中,完整主机名为
ostoy-microservice-svc.ostoy.svc.cluster.local
。您会看到一个 IP 地址返回。在本例中,它是
172.30.165.246
。这是集群内 IP 地址,只能从集群内部访问。