10.5.2 生成Istio的配置cluster.env

生成Istio的配置cluster.env的过程需要获取如下三个环境变量值,分别为:

1)设置环境变量ISTIO_NAMESPACE的值为Istio控制面板对应的Kubernetes命名空间,默认为istio-system。

2)获取命名空间istio-system下的配置项istio的内容,读取MeshConf ig,如下所示:


kubectl get configmap -n istio-system istio -ojson

从获取的数据中,查看键为mesh的对应值中controlPlaneAuthPolicy对应的内容,如下所示:


....
   # Mutual TLS authentication between sidecars and istio control plane.
   controlPlaneAuthPolicy: NONE
....

设置环境变量CONTROL_PLANE_AUTH_POLICY的值为上述controlPlaneAuthPolicy对应的值,如NONE;

3)通过如下命令获取Kubernetes集群中的服务的CIDR,具体如下所示:


kubectl -n kube-system get cm kubeadm-config  -o yaml | grep serviceSubnet | awk '{print $2}'

设置环境变量ISTIO_SERVICE_CIDR的值为上述命令返回的结果,例如172.21.0.0/20;接着,根据上述设置的环境变量生成Istio的配置cluster.env,内容定义如下所示:


ISTIO_SERVICE_CIDR=172.21.0.0/20
ISTIO_SYSTEM_NAMESPACE=istio-system
ISTIO_CP_AUTH=NONE