【问题标题】:Installing Istio in GKE在 GKE 中安装 Istio
【发布时间】:2020-10-11 18:05:40
【问题描述】:

在 GKE 中找到了 2 种安装 istio 的方法,不确定哪种是推荐的方法,有什么区别。 1. Installing via lots of commands shown in the Istio document 2. I have an existing GKE cluster, their is an option to edit the cluster and add-on as Istio enabled

虽然尝试了 2 种方式,但我在 GKE 集群工作负载 UI 控制台中看不到任何与 Istio 相关的服务,例如 citadel、galley、遥测,但如果我以 kubectl get pods -n istio-system 运行,我可以看到它在终端中运行 它们在安装上有什么不同,推荐的安装方式是什么?

【问题讨论】:

  • 最大的区别是安装的版本addon vs operator。您能否分享您使用的 Istio 安装链接(带有lots of commands 的那个)?

标签: google-kubernetes-engine kubernetes-ingress istio gke-networking


【解决方案1】:

回答问题:

在 GKE 中找到了 2 种安装 istio 的方式,不知道哪个是推荐的方式,有什么区别。

两种方法都是正确的(在 GKE 插件和/或 istioctl/operator 上启用 Istio)。主要区别在于它们之间存在一些差异(使用的版本、附加配置选项、自动更新等)。

引用官方文档:

我应该在 GKE 上使用 Istio 吗?

虽然 GKE 上的 Istio 管理安装和升级,但它使用适合大多数需求的控制平面的默认安装选项。但是,您应该注意这些限制:

  • 安装的 Istio 版本与 GKE 版本绑定,您将无法独立更新它们。
  • 在控制平面的配置上有strong limitations。在生产环境中使用 Istio on GKE 插件之前,您应该查看这些限制。

如果您需要使用更新的 Istio 开源版本,或者希望更好地控制您的 Istio 控制平面配置(在某些生产用例中可能会发生),我们建议您使用 open source version of Istio 而不是GKE 插件上的 Istio。

-- Cloud.google.com: Istio: Istio on GKE: Overview: Should I use Istio on GKE

另外值得一提的是:

请注意,Istio on GKE 插件会自动在集群的节点池中为Cloud MonitoringLoggingTrace 设置access scopes

-- Cloud.google.com: Istio: Istio on GKE: Overview: Support

这意味着从Istio.io 安装可能需要额外的配置/步骤才能将日志发送到 Stackdriver。


还值得一提的是,对于具有 1.17.9-gke.6300 或更高版本且启用了 GKE 插件上的 Istio 的 GKE 集群,会有一些重大变化。

从 1.6 版开始,Istio on Google Kubernetes Engine 插件使用 Istio Operator 进行安装和配置。 Istio Operator 遵循 Kubernetes Operator pattern。 Operator 允许您通过为 Istio 安装定义 Kubernetes custom resource definition (CRD) 来配置 Istio。然后,操作员使用controller 对安装进行更改以匹配自定义资源。

当您将集群升级到 1.17.9-gke.6300 或更高版本时,Istio 1.6 Operator 和控制平面会与现有的 1.4.x Istio 控制平面一起安装。升级需要用户操作并遵循双控制平面升级过程(在 Istio 文档中称为金丝雀升级)。

-- Cloud.google.com: Istio: Istion on GKE: Upgrade with Operator


接下来:

虽然尝试了 2 种方式,但我在 GKE 集群工作负载 UI 控制台中看不到任何与 Istio 相关的服务,例如 citadel、galley、遥测,但如果我以 kubectl get pods -n istio-system 运行,我可以看到它在终端中运行

您是否在kubectl 报告istio-system 中的资源和检查Cloud Console -> Kubernetes Engine -> Workloads 之间的任何时间?

您还可以检查下图中的框是否设置正确。

【讨论】:

    猜你喜欢
    • 2019-08-23
    • 1970-01-01
    • 1970-01-01
    • 2019-04-13
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 2020-08-09
    相关资源
    最近更新 更多