18.8. 教程:网络


本教程演示了 OSToy 应用程序如何使用集群内联网来通过微服务和视觉化 pod 扩展来分隔功能。

OSToy 图表

图中显示至少有两个独立的 pod,每个 pod 都有自己的服务。

一个 pod 充当前端 Web 应用,服务和一个公开访问的路由。其他容器集充当 backend 微服务与服务对象,以便前端容器集能够与微服务通信。如果多个 pod,此通信发生在 pod 之间。由于这些通信限制,此微服务无法从此集群外部或其他命名空间或项目访问(如果已配置)。此微服务的唯一用途是提供内部 Web 请求,并返回包含当前主机名(即 pod 的名称)的 JSON 对象,以及随机生成的颜色字符串。此颜色字符串用于显示方框,其中颜色显示在标题为"Intra-cluster Communication"的标题中。

有关网络限制的更多信息,请参阅关于网络策略

18.8.1. 集群内网络

您可以在 OSToy 应用程序中查看您的网络配置。

流程

  1. 在 OSToy 应用程序中,点击左侧菜单中的 Networking
  2. 检查网络配置。名为"Hostname Lookup"的右侧标题演示了如何使用为 pod 创建的服务名称转换为内部 ClusterIP 地址。

    OSToy Networking 页面
  3. 输入在正确的标题("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

  4. 您会看到一个 IP 地址返回。在本例中,它是 172.30.165.246。这是集群内 IP 地址,只能从集群内部访问。

    OSToy DNS
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.