阿里云Kubernetes容器服务Istio实践之常见问题分析

在使用阿里云Kubernetes容器服务Istio 1.0的过程中,如果遇到以下类似问题,请参考具体的问题分析。 我们会持续更新遇到的问题及其解决方法。

集群内无法访问集群之外的 URL问题

缺省情况下,Istio 服务网格内的 Pod,由于其 iptables 将所有外发流量都透明的转发给了 Sidecar,所以这些集群内的服务无法访问集群之外的 URL,而只能处理集群内部的目标。

可以通过定义 ServiceEntry 来调用外部服务;或者简单的对 Istio 进行配置,要求其直接放行对特定 IP 范围的访问。

具体可参见官方介绍

Tiller版本问题

如果在安装中遇到类似如下提示: Can't install release with errors: rpc error: code = Unknown desc = Chart incompatible with Tiller v2.7.0, 那么说明当前集群的Tiller版本较低,需要升级。

具体升级的方法如下:

 helm init --tiller-image registry.cn-hangzhou.aliyuncs.com/acs/tiller:v2.9.1 --upgrade

CRD版本问题

如果在第一次创建Istio 1.0时,出现如下提示信息,根据Istio官方文档, 需要升级 Custom Resource Definitions。

图片.png

升级方法:
在下载的Istio安装包中,可以找到新版本CRD的YAML文件,通过kubectl apply命令可以完成更新。

可以通过此处下载CRD文件。

kubectl apply -f install/kubernetes/helm/istio/templates/crds.yaml -n istio-system

按照官方文档,如果使用的Helm版本为 2.10.0之前的,会遇到上述CRD问题。

此外,如果启用了certmanager,还需要通过如下命令按照相关CRD:

kubectl apply -f install/kubernetes/helm/istio/charts/certmanager/templates/crds.yaml

子账户权限问题

如果在安装中遇到类似如下提示,那么说明当前使用的账号权限不具备安装Istio,请切换到主账号或者赋予账号足够权限,如自定义角色中cluster-admin (具体参见https://help.aliyun.com/document_detail/87656.html)。

Error from server (Forbidden): error when retrieving current configuration of:
Resource: "apiextensions.k8s.io/v1beta1, Resource=customresourcedefinitions", GroupVersionKind: "apiextensions.k8s.io/v1beta1, Kind=CustomResourceDefinition"

卸载Istio

如果使用的Helm版本早于2.9.0,则需要手工清除Job资源:

kubectl -n istio-system delete job --all

清除CRD的话,则需要执行如下命令:

kubectl delete -f install/kubernetes/helm/istio/templates/crds.yaml -n istio-system

总结

在使用阿里云Kubernetes容器服务Istio 1.0的过程中,如果遇到以下类似问题,请参考具体的问题分析。 我们会持续更新遇到的问题及其解决方法。敬请关注。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值