问题描述
找到了在GKE中安装istio的2种方法,不确定哪种是推荐的方法,并且有什么区别。 @H_404_1@1. Installing via lots of commands shown in the Istio document @H_404_1@2. I have an existing GKE cluster,their is an option to edit the cluster and add-on as Istio enabled
虽然尝试了两种方式,但在GKE群集工作负载UI控制台中看不到任何与istio相关的服务,例如城堡,厨房,遥测,但是如果我以@H_404_1@kubectl get pods -n istio-system运行,则可以在终端中看到它的运行情况。 它们在安装方面有什么不同,这是推荐的安装方式吗?
解决方法
回答问题:
找到了两种在GKE中安装istio的方法,不确定哪种是推荐的方法,并且有什么区别。
两种方法都是正确的(在GKE插件上启用Istio和/或使用istioctl
/ operator)。主要区别在于它们之间存在一些差异(使用的版本,其他配置选项,自动更新等)。
引用官方文档:
我应该在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插件会自动在群集的节点池中为access scopes,Cloud Monitoring和Logging设置Trace。
这意味着从Istio.io开始的安装可能需要其他配置/步骤才能将日志发送到Stackdriver。
还值得一提的是,对于GKE
版本为1.17.9-gke.6300
或更高版本且启用了GKE插件的Istio的群集,有一些重大更改。
从1.6版开始,Google Kubernetes Engine插件上的Istio使用Istio Operator进行安装和配置。 Istio运算符遵循Kubernetes Operator pattern。操作员可通过为Istio安装定义Kubernetes custom resource definition(CRD)来配置Istio。然后,操作员使用controller 对安装进行更改以匹配自定义资源。
将群集升级到1.17.9-gke.6300或更高版本时,将在现有的1.4.x Istio控制平面旁边安装Istio 1.6操作员和控制平面。升级需要用户采取措施,并遵循双控制平面升级过程(在Istio文档中称为“金丝雀升级”)。
- Cloud.google.com: Istio: Istion on GKE: Upgrade with Operator
以下内容:
虽然尝试了两种方式,但在GKE群集工作负载UI控制台中看不到任何与istio相关的服务,例如城堡,厨房,遥测,但是如果我以
kubectl get pods -n istio-system
身份运行,则可以在终端中看到它的运行情况。
您有没有在kubectl
之间报告istio-system
中的资源并在Cloud Console
-> Kubernetes Engine
-> Workloads
中检查资源的时间?
您还可以检查下图中的框是否设置正确。