非缺省域名下 Istio 的使用
Posted 伪架构师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了非缺省域名下 Istio 的使用相关的知识,希望对你有一定的参考价值。
Kubernetes 缺省的域名为 cluster.local
,好死不死的,istio 的缺省安装也沿用了这一设定,
并且文档中并没有明确指出这一假设。Istio 中使用了大量的 FQDN 进行服务的甄别,域名不一致这样
的问题可以说是后患无穷。经过 101 号 issue 的讨论,得知 proxy 和 pilot 组件提供了域名的设置功能,
大致用法如下:
Pilot
kubectl edit deploy istio-pilot -n istio-system
或者编辑官方的 istio.yaml
,查找docker.io/istio/pilot:0.2.9
的容器,并在 args 一节中加入如下的两行:
- --domain
- cloud.ctrm
Proxy
这部分略讨厌,因为每个业务 Pod 中都会有 SideCar 加载,因此只能逐个修改,方法同样有两个,
一个是使用 kubectl edit deploy [workload-deployment]
的方式,另外一个就是,保存istioctl kube-inject -f [workload.yaml]
输出的文本。同样在docker.io/istio/proxy_debug:0.2.9
所在容器的 args 一节中加入下面的参数:
- --domain
- cloud.ctrm
这些 Deployment 修改之后,会进行更新,接下来 Pilot 和 Mixer 就能正确的识别和处理集群中的服务了。
以上是关于非缺省域名下 Istio 的使用的主要内容,如果未能解决你的问题,请参考以下文章
5G下的微服务架构:拥抱NFV,Istio 1.1将支持多网络平面