当前位置: 首页 > news >正文

互站网泉州市第一建设有限公司网站

互站网,泉州市第一建设有限公司网站,赣州哪里做网站,网站搭建素材群文章目录 访问外部服务Envoy 代理将请求传递给网格外服务配置服务条目以提供对外部服务的受控访问访问外部 HTTP 服务 直接访问外部服务 出口网关清理 HTTP 网关其他 访问外部服务 为了更好的做好网络访问控制#xff0c;k8s结合Istio出口网络升级示意图 来自 Istio 的 pod… 文章目录 访问外部服务Envoy 代理将请求传递给网格外服务配置服务条目以提供对外部服务的受控访问访问外部 HTTP 服务 直接访问外部服务 出口网关清理 HTTP 网关其他 访问外部服务 为了更好的做好网络访问控制k8s结合Istio出口网络升级示意图 来自 Istio 的 pod 的所有出站流量都会重定向到其 sidecar 代理因此集群外部 URL 的可访问性取决于代理的配置。默认情况下Istio 配置 Envoy 代理来传递未知服务的请求。 一般来说服务访问网格外部服务默认放行但是如果想要严格管控网格流量需要对出方向进行管控。 这里展示三种不同的方式访问外部服务 允许 Envoy 代理将请求传递给网格外服务。配置服务条目以提供对外部服务的受控访问。直接访问外部服务。 Envoy 代理将请求传递给网格外服务 Istio 有一个配置: meshConfig.outboundTrafficPolicy.mode用于配置外部服务的 sidecar 处理如果此选项设置为ALLOW_ANYIstio 代理将允许对未知服务的调用通过。如果该选项设置为REGISTRY_ONLY则 Istio 代理会阻止任何没有 HTTP 服务或网格内定义的服务条目的主机。 ALLOW_ANY是默认值目的是允许快速开始使用 Istio而无需控制对外部服务的访问。 配置服务条目以提供对外部服务的受控访问 Service Entry服务条目允许在Istio的内部服务注册表中添加额外的服务记录以便网格中自动发现的服务可以访问或路由到这些手动指定的服务。如果我们想要控制出口网络必须先要设置ServiceEntry 正常情况我们对外访问先设置为ALLOW_ANY。这样就可以开始在某些外部服务上使用 Istio 功能而不会阻止任何其他服务。配置完所有服务条目后可以将模式切换为REGISTRY_ONLY阻止任何其他无意/恶意的访问。 访问外部 HTTP 服务 创建一个ServiceEntry以允许访问外部 HTTP 服务httpbin-ext.yml apiVersion: networking.istio.io/v1alpha3 kind: ServiceEntry metadata:name: httpbin-ext spec:hosts:- httpbin.orgports:- number: 80name: httpprotocol: HTTPresolution: DNSlocation: MESH_EXTERNAL网格内服务访问httpbin.org时Sidecar 代理将忽略原始目标 IP 地址并将流量定向到httpbin.org通过DNS解析执行 DNS 查询以获取httpbin.org 真实IP 地址。 2. 从k8s内部向外部 HTTP 服务发出请求 $ kubectl exec $SOURCE_POD -c sleep -- curl -sS http://httpbin.org/headers {headers: {Accept: */*,Host: httpbin.org,...X-Envoy-Decorator-Operation: httpbin.org:80/*,...} }请注意 Istio sidecar 代理添加的标头X-Envoy-Decorator-Operation。 3. 检查 sidecar 代理的日志 $ kubectl logs $SOURCE_POD -c istio-proxy | tail [2019-01-24T12:17:11.640Z] GET /headers HTTP/1.1 200 - 0 599 214 214 - curl/7.60.0 17fde8f7-fa62-9b39-8999-302324e6def2 httpbin.org 35.173.6.94:80 outbound|80||httpbin.org - 35.173.6.94:80 172.30.109.82:55314 -请注意 HTTP 请求相关的条目httpbin.org/headers。 直接访问外部服务 与Envoy 直通外部服务使用ALLOW_ANY流量策略指示 Istio sidecar 代理直通未知服务的调用不同这种方法完全绕过了 sidecar实质上禁用了指定 IP 的所有 Istio 功能。无法像使用该ALLOW_ANY方法那样逐步添加特定目的地的服务条目。因此仅当由于性能或其他原因无法使用 sidecar 配置外部访问时才建议将此配置方法作为最后的手段。 简单方法是将global.proxy.includeIPRanges配置选项设置为用于内部集群服务的一个或多个 IP 范围。这些 IP 范围值取决于集群运行的平台。允许这些IP直接访问外部服务 --set values.global.proxy.includeIPRanges172.16.0.0/16 要以更安全的方式实施出口流量控制必须通过出口网关引导出口流量并查看其他注意事项 出口网关 Istio 使用入口和出口网关 来配置在服务网格边缘执行的负载均衡器。入口网关允许定义所有传入流量流经的网格的入口点。出口网关是一个对称的概念它定义了网格的出口点。出口网关允许 Istio 功能例如监控和路由规则应用于网格出口流量。 检查Istio出口网关是否部署 $ kubectl get pod -l istioegressgateway -n istio-system如果没有返回 Pod请部署 Istio 出口网关。由于各家云厂商有自己的构建方法此处不做介绍 2. 创建ServiceEntry 假设我们还是使用上文的httpbin-ext配置 3. Gateway为httpbin.org创建出口、端口 80并为定向到出口网关的流量创建目标规则。 apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata:name: istio-egressgateway spec:selector:istio: egressgatewayservers:- port:number: 80name: httpprotocol: HTTPhosts:- httpbin.org --- apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata:name: egressgateway-for-httpbin spec:host: istio-egressgateway.istio-system.svc.cluster.localsubsets:- name: httpbin定义 VirtualService将流量从 sidecar 引导至出口网关以及从出口网关引导至外部服务 apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata:name: direct-httpbin-through-egress-gateway spec:hosts:- httpbin.orggateways:- istio-egressgateway- meshhttp:- match:- gateways:- meshport: 80route:- destination:host: istio-egressgateway.istio-system.svc.cluster.localsubset: httpbinport:number: 80weight: 100- match:- gateways:- istio-egressgatewayport: 80route:- destination:host: httpbin.orgport:number: 80weight: 100清理 HTTP 网关 $ kubectl delete gateway istio-egressgateway $ kubectl delete serviceentry httpbin $ kubectl delete virtualservice direct-httpbin-through-egress-gateway $ kubectl delete destinationrule egressgateway-for-httpbin其他 请注意在 Istio 中定义出口Gateway本身并不为运行出口网关服务的节点提供任何特殊处理。集群管理员或云提供商应在专用节点上部署出口网关并引入额外的安全措施以使这些节点比网格的其他节点更安全。 Istio无法安全地强制所有出口流量实际上都流经出口网关。Istio 仅通过其 sidecar 代理启用此类流程。如果攻击者绕过sidecar代理就可以直接访问外部服务而无需遍历出口网关。这样攻击者就逃脱了 Istio 的控制和监视。集群管理员或云提供商必须确保没有流量绕过出口网关离开网格。Istio 外部的机制必须强制执行此要求。例如集群管理员可以配置防火墙来拒绝所有非来自出口网关的流量。Kubernetes网络策略还可以禁止所有非源自出口网关的出口流量请参阅 下一节的示例。此外集群管理员或云提供商可以配置网络以确保应用程序节点只能通过网关访问互联网。为此集群管理员或云提供商可以阻止将公共 IP 分配给网关以外的 Pod并可以配置 NAT 设备以丢弃并非源自出口网关的数据包。
http://www.w-s-a.com/news/204819/

相关文章:

  • 阿里云建站数据库用什么app制作开发费用多少
  • 中国住房和城乡建设部网站资质查询中小开网站
  • 交易所网站开发水果营销软文
  • 石家庄有什么好玩的地方2017织梦网站怎么做seo
  • wordpress项目插件seo的含义
  • 网站平台建设的作用电影宣传类网页界面设计
  • 户外网站模板国外优秀的平面设计网站
  • 家政网站怎么做网站机房建设方案
  • 学校网站建设运行情况2022年近期舆情热点话题
  • 做淘宝需要知道什么网站吗有没有做软件的网站
  • 安丘网站建设制作做网站和微信小程序
  • 京东网站的建设与发展前景黑龙江建设网官网登陆
  • soho的网站怎么做微网站平台建设方案
  • 网站开发下载阿里云oss做视频网站
  • 东莞营销网站制作做一个网站建设
  • 啥网站都能看的浏览器下载网站后台管理系统展望
  • 新建站点步骤汉中 wordpress联盟
  • 坪山网站设计的公司网站 seo 设置
  • 济南网站设计公司排名如何免费注册网站域名
  • 网站开发分工甜妹妹福利wordpress
  • 网站中英文要怎么做网站建设的策划文案
  • 合肥推广外包公司佛山seo
  • 成都网站品牌设计策划课堂网站开发
  • 做直播网站赚钱公司网站空间怎么续费
  • 企业网站制作公司有哪些太原网站建设 thinkphp3.2
  • 云集网站哪个公司做的百度竞价排名怎么做
  • 做网站公司赚钱吗网站建设英语翻译
  • 网络公司除了做网站产品设计作品
  • dede网站模板替换湘潭建设路街道网站
  • 东莞网站优化效果如何网络设计工作