1.设置自定义域名
Knative Serving路由使用example.com作为默认域名后缀,路由的完全限定域名是{route}.{namespace}.{default-domain}。要更改{default-domain}值,需要执行以下几个步骤:
1)编辑域配置conf ig-map,用自定义的域名替换example.com,例如:
kubectl edit cm config-domain --namespace knative-serving
2)编辑文件以替换example.com并保存更改。在此示例中,我们配置mydomain.com所有路由,如下所示:
apiVersion: v1 data: mydomain.com: "" kind: ConfigMap [...]
2.配置出站网络访问
社区中Istio和Knative默认阻止所有出站流量。配置项conf ig-network中的参数istio.sidecar.includeOutboundIPRanges指定Istio sidecar拦截的IP范围。要允许出站访问,请将默认参数值替换为集群的IP范围。
运行以下命令编辑conf ig-network:
kubectl edit configmap config-network --namespace knative-serving
然后,将istio.sidecar.includeOutboundIPRanges参数值更改为需要的IP范围,使用逗号分隔多个IP条目。
默认情况下Istio服务网格内的pod,由于其iptables将所有外发流量都透明地转发给了Sidecar,所以这些集群内的服务无法访问集群之外的URL,而只能处理集群内部的目标。默认情况下,istio.sidecar.includeOutboundIPRanges参数设置为“*”,这意味着Istio会拦截集群中的所有流量以及集群外的所有流量。除非你创建必要的出口规则,否则Istio会阻止除集群外的所有流量。通过将参数设置为有效的IP地址范围集时,Istio将不再拦截进入所提供范围之外的IP地址的流量,并且你无需指定任何出口规则。