如何在OpenShift 4.x上安装Istio Service Mesh

这是续集。
您可以通过以下链接以PDF格式下载本文来支持我们。

    将指南下载为PDF

这是续集。
这是续集。
这是续集。
这是续集。
这是续集。

这是续集。

这是续集。
这是续集。
这是续集。
这是续集。

关门
这是续集。

这是续集。
这是续集。

服务网格提供了一种在OpenShift / Kubernetes容器环境中连接,保护和监视微服务应用程序的统一方法。网格可以描述为组成分布式微服务体系结构中的应用程序的微服务网络。在OpenShift 4.x群集上安装Istio Service Mesh的步骤。

红帽OpenShift服务网格基于开源 伊斯蒂奥 它使创建已部署服务的网络变得容易,该网络提供发现,负载平衡,服务到服务的身份验证,故障恢复,指标和监视。

Istio服务网格的功能

  • 交通管理 –控制服务之间的流量和API调用流,使调用更可靠,并在不利条件下使网络更健壮。
  • 服务身份和安全 –为网状网络中的服务提供可验证的身份,并能够保护服务流量通过不同程度的可信度的网络流动。
  • 政策执行 –将组织策略应用于服务之间的交互,确保实施访问策略并在消费者之间公平分配资源。通过配置网格(而不是通过更改应用程序代码)来进行策略更改。
  • 遥测 –了解服务之间的依赖性以及服务之间的流量的性质和流,从而能够快速发现问题。

Istio服务网格的组件

Istio服务网格分为控制平面和数据平面。

控制平面组件:

  • 飞行员 –在运行时配置Envoy Sidecar代理。
  • 搅拌机 –实施访问控制和使用策略。它还负责从Envoy代理和其他服务收集遥测数据。
  • 城堡 –用于证书管理–颁发和轮换。
  • 加利 –这将摄取服务网格配置,然后验证,处理和分发配置。

数据平面:

数据平面 由一组智能代理(特使这些代理可以调解和控制微服务之间的所有网络通信,还可以收集和报告所有网状网络流量的遥测。

Envoy内置功能包括:

  • 动态服务发现
  • 负载均衡
  • TLS终止
  • HTTP / 2和gRPC代理
  • 断路器
  • 健康检查
  • 分阶段推出,并按百分比分配流量
  • 故障注入
  • 丰富的指标

红帽OpenShift服务网格还提供了更复杂的操作功能,包括:

  • A / B测试
  • 金丝雀发布
  • 限速
  • 门禁控制
  • 端到端认证

在OpenShift 4.x上安装Istio Service Mesh

现在,按照接下来的几个步骤,基于Istio安装和配置Red Hat OpenShift Service Mesh。 组织运算符 将用于管理Istio控制平面的安装。

步骤1:安装Elasticsearch Operator

弹性搜索 运算符使您可以配置和管理Elasticsearch集群,以使用Jaeger进行跟踪和记录。

登录到OpenShift Container Platform Web控制台并导航到 经营者 > OperatorHub >搜索 弹性搜索 操作员

如何在OpenShift 4.x上安装Istio Service Mesh

点击“安装”。

如何在OpenShift 4.x上安装Istio Service Mesh

请选择 集群上的所有名称空间(默认) 用于安装模式和自动批准策略。

如何在OpenShift 4.x上安装Istio Service Mesh

单击订阅以启动安装。

步骤2:安装Jaeger Operator

积家 使您可以执行跟踪以监视复杂的分布式系统中的事务并进行故障排除。

导航至 经营者 > OperatorHub >搜索 积家算子

如何在OpenShift 4.x上安装Istio Service Mesh

点击“继续”至,然后选择以下其他设置进行订阅。

如何在OpenShift 4.x上安装Istio Service Mesh

步骤3:安装Kiali Operator

凯莉 使您可以在单个控制台中查看配置,监视流量以及查看和分析跟踪。要安装它,请搜索“Kiali算子”开 OperatorHub

如何在OpenShift 4.x上安装Istio Service Mesh

选择安装方式,更新渠道和批准策略。

如何在OpenShift 4.x上安装Istio Service Mesh

现在应该安装所有三个操作员。

如何在OpenShift 4.x上安装Istio Service Mesh

步骤4:安装Red Hat OpenShift Service Mesh Operator

安装Jaeger,Kiali和Elasticsearch运算符后,请继续安装Red Hat提供的Istio Service Mesh Operator。

导航至 经营者 > OperatorHub > 红帽OpenShift服务网格

如何在OpenShift 4.x上安装Istio Service Mesh

请选择 集群上的所有名称空间(默认) 在openshift-operators项目中安装Service Mesh Operator。

如何在OpenShift 4.x上安装Istio Service Mesh

请点击 安装稳定的 使用更新频道 自动的 批准策略。

如何在OpenShift 4.x上安装Istio Service Mesh

操作员应该在 openshift-operators 项目。

如何在OpenShift 4.x上安装Istio Service Mesh

步骤5:配置服务网格控制平面

现在,我们可以部署服务网格控制平面,该平面定义了用于控制平面安装的配置。

创建一个新项目: 首页 > 专案 > 建立专案

如何在OpenShift 4.x上安装Istio Service Mesh

命名项目 组织系统

创建项目会自动在OpenShift中切换到新项目。 经营者 > 已安装的运营商 > 伊斯蒂奥 服务网格控制平面

如何在OpenShift 4.x上安装Istio Service Mesh

点击创建 ServiceMeshControlPlane

默认的ServiceMeshControlPlane模板以YAML格式提供,请对其进行修改以适合您的用例。 客制化 指南以获取更多详细信息。

我自定义了配置,如下所示。

注意: 请不要复制粘贴此配置–它允许在带有污点的基础设施节点上运行Istio服务,这可能对您不起作用!

apiVersion: maistra.io/v1
kind: ServiceMeshControlPlane
metadata:
  name: full-install
  namespace: istio-system
spec:
  istio:
    global:
      proxy:
        accessLogFile: "/dev/stdout"
      mtls:
        enabled: false
      disablePolicyChecks: true
      policyCheckFailOpen: false
      outboundTrafficPolicy:
          mode: "REGISTRY_ONLY"
    gateways:
      istio-ingressgateway:
        autoscaleEnabled: true
        ior_enabled: true
      istio-egressgateway:
        autoscaleEnabled: true
        nodeSelector:
          node-role.kubernetes.io/infra: ""
        tolerations:
          - key: infra
            value: reserved
            effect: NoSchedule
          - key: infra
            value: reserved
            effect: NoExecute
    mixer:
      enabled: true
      nodeSelector:
        node-role.kubernetes.io/infra: ""
      tolerations:
        - key: infra
          value: reserved
          effect: NoSchedule
        - key: infra
          value: reserved
          effect: NoExecute
    kiali:
      enabled: true
      dashboard:
        viewOnlyMode: false
      ingress:
        enabled: true
      nodeSelector:
        node-role.kubernetes.io/infra: ""
      tolerations:
        - key: infra
          value: reserved
          effect: NoSchedule
        - key: infra
          value: reserved
          effect: NoExecute
    grafana:
      enabled: true
      nodeSelector:
        node-role.kubernetes.io/infra: ""
      tolerations:
        - key: infra
          value: reserved
          effect: NoSchedule
        - key: infra
          value: reserved
          effect: NoExecute
    tracing:
      enabled: true
      jaeger:
        template: all-in-one

点击“建立“控制飞机应该开始安装。

如何在OpenShift 4.x上安装Istio Service Mesh

您可以从CLI检查控制平面安装的状态

$ oc get smcp -n istio-system

您可以在Pod创建时观看其进度。

$ oc get pods -n istio-system -w

步骤6:配置服务网格成员卷

ServiceMeshMemberRoll中列出了属于控制平面的项目。您需要创建一个名为ServiceMeshMemberRoll的资源 默认值 在istio-system项目中。

切换到istio-system项目: 首页>项目> istio-system

导航到 运营商>已安装运营商> Red Hat OpenShift服务网格> Istio服务网格成员卷

如何在OpenShift 4.x上安装Istio Service Mesh

ServiceMeshMemberRolls 单击创建ServiceMeshMemberRoll。

如何在OpenShift 4.x上安装Istio Service Mesh

添加要成为Istio服务网格的一部分的项目,然后单击“创建”。从CLI中,可以在创建后更新ServiceMeshMemberRoll资源。

$ oc edit smmr -n istio-system

步骤7:使用自动Sidecar注入部署应用程序

要将应用程序部署到Service Mesh中,您必须通过指定 sidecar.istio.io/inject 值为的注释 "true"

请参见下面的示例。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: sleep
spec:
  replicas: 1
  template:
    metadata:
      annotations:
        sidecar.istio.io/inject: "true"
      labels:
        app: sleep
    spec:
      containers:
      - name: sleep
        image: tutum/curl
        command: ["/bin/sleep","infinity"]
        imagePullPolicy: IfNotPresent

对于项目中作为成员添加到控制平面的现有应用程序,可以通过添加或修改注释来更新部署中的pod模板:

$ oc patch deployment/ -p '{"spec":{"template":{"metadata":{"annotations":{"kubectl.kubernetes.io/restartedAt": "'`date -Iseconds`'"}}}}}'

您可以通过阅读 部署Bookinfo 场景。

有关OpenShift的更多指南。

在OpenShift 4.x / OKD 4.x上配置Chrony NTP服务

在Kubernetes / OpenShift上为Rook运行Ceph工具箱

将Harbor Image Registry Pull Secret添加到Kubernetes / OpenShift

使用HTPasswd身份提供程序管理OpenShift / OKD用户

如何使用oc命令显示OpenShift节点的日志

如何在OpenShift节点上打开Shell提示符

这是续集。
您可以通过以下链接以PDF格式下载本文来支持我们。

    将指南下载为PDF

这是续集。
这是续集。
这是续集。
这是续集。
这是续集。

这是续集。

这是续集。
这是续集。
这是续集。
这是续集。

关门
这是续集。

这是续集。
这是续集。

Sidebar