《OpenShift 4.x HOL教程汇总》
说明:本文已经在OpenShift 4.6环境中验证

Istio缺省是不限制服务网格中的服务对外部访问的,不过我们可以对Egress进行控制,以限制Istio上的服务对外部资源的访问。

环境准备:我们在开始之前先确保环境和完成《OpenShift 4 之Istio-Tutorial (2) 部署三个微服务》一样,只部署了3个微服务和VirtualService、Gateway,没有DestinationRule。

  1. 首先把recommendation v1和recommendation v2部署删除,然后部署recommendation v3(这个微服务会访问http://worldclockapi.com/api/json/cet/now外部服务,以获得当前的时间)。
$ oc delete -f recommendation/kubernetes/Deployment-v1.yml
$ oc delete -f recommendation/kubernetes/Deployment-v2.yml
$ oc apply -f recommendation/kubernetes/Deployment-v3.yml
$ oc get pod
NAME                                 READY   STATUS    RESTARTS   AGE
customer-77dc47d7f8-szhd5            2/2     Running   16         2d11h
preference-v1-55476494cf-xm4dq       2/2     Running   0          4d8h
recommendation-v3-57556796f8-qcdl7   2/2     Running   0          151m
  1. 此时向customer发测试请求,可以正常访问。
$ curl $INGRESS_GATEWAY/customer
customer => preference => recommendation v3 2020-01-19T11:33+01:00 from '83bbb6d11a7e': 1
  1. 执行以下命令,修改Istio缺省的对外访问策略为必须是REGISTRY_ONLY的服务才能通过Egress访问外部服务。
$ oc get configmap istio -n istio-system -o yaml | sed 's/mode: ALLOW_ANY/mode: REGISTRY_ONLY/g' | kubectl replace -n istio-system -f -
  1. 此时向customer发测试请求,确认应无法正常访问外部服务。
$ curl $INGRESS_GATEWAY/customer
customer => Error: 503 - preference => Error: 500 - <!doctype html>
...
  1. 文件istiofiles/service-entry-egress-worldclockapi.yml定义了ServiceEntry对象允许访问“worldclockapi.com”主机。
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:name: worldclockapi-egress-rule
spec:hosts:- worldclockapi.comports:- name: http-80number: 80protocol: http

执行命令,创建ServiceEntry对象。

$ create -f istiofiles/service-entry-egress-worldclockapi.yml
  1. 此时向customer发测试请求,又可以正常访问了。
$ curl $INGRESS_GATEWAY/customer
customer => preference => recommendation v3 2020-01-19T11:43+01:00 from '83bbb6d11a7e': 4
  1. 删除recommendation v3,恢复环境。
$ oc delete -f recommendation/kubernetes/Deployment-v3.yml
$ oc delete -f istiofiles/service-entry-egress-worldclockapi.yml

OpenShift 4 之Istio-Tutorial (11) 控制Egress访问相关推荐

  1. 11 控制对象访问:代理模式

    1.引入 1.0 联系JAVA知识 Java中的  动态代理 和 静态代理  这两个知识点也就是代理模式的知识点. 1.1 需求引入 接着第10张 状态模式的例子接着向下进行: 糖果机已经可以取得糖果 ...

  2. 第十七部分 Istio控制 Egress 流量

    简述 默认情况下,Istio服务Mesh中的Pod,由于其 iptables 将所有外发流量都透明的转发给了 Sidecar,所以这些集群内的服务无法访问集群之外的 URL,而只能处理集群内部的目标. ...

  3. 控制 Egress 流量

    原文链接:控制 Egress 流量 本文主要内容来自 Istio 官方文档,并对其进行了大量扩展和补充. 缺省情况下,Istio 服务网格内的 Pod,由于其 iptables 将所有外发流量都透明的 ...

  4. iphone控制中心自定义没有计算机,如何在iPhone上自定义iOS 11控制中心功能

    苹果最新推出的适用于iPhone和iPad的iOS 11,具有重新设计和模块化的控制中心.这个新的控制中心具有相当多的3D触摸手势,新的动画和可定制性.此外,内置了新的控件,以前在iOS版本下载或使用 ...

  5. 云原生周报 | Fluent Bit下载量达到10亿次;对 Istio 1.11的支持已经结束

    业界要闻 1. Fluent Bit下载量达到10亿次 摘要:如何快速有效地从企业中跨分布式环境创建的大量日志和事件数据中获取情报.这一问题变得越来越困难,随着组织迅速采用分布式.动态.云原生服务,这 ...

  6. JAVA线程并发数量控制_线程同步工具(二)控制并发访问多个资源

    声明:本文是< Java 7 Concurrency Cookbook>的第三章, 作者: Javier Fernández González 译者:郑玉婷 控制并发访问多个资源 在并发访 ...

  7. 11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志

    2019独角兽企业重金招聘Python工程师标准>>> 11.18 Apache用户认证 htpasswd命令 >htpasswd命令是Apache的Web服务器内置工具,用于 ...

  8. Semaphore控制同时访问的线程个数countdownlatch等待多个线程执行完本身线程再执行...

    Semaphore控制同时访问的线程个数countdownlatch等待多个线程执行完本身线程再执行 Semaphore控制同时访问的线程个数countdownlatch等待多个线程执行完本身线程再执 ...

  9. java安全权限配置_使用Spring安全表达式控制系统功能访问权限问题

    一.SPEL表达式权限控制 从spring security 3.0开始已经可以使用spring Expression表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限.Spring ...

最新文章

  1. asp自动解析网页中的图片地址,并将其保存到本地服务器
  2. python各个解释器的用途-常见的Python五大解释器!
  3. PopupWindow的使用
  4. FT到底值多少钱——再议Fcoin机制及估值模型
  5. 《娱乐至死》读书笔记(part4)--只有给观众他们想要的东西,你才可以得到市场占有率
  6. salt-ssh的使用(不需要安装客户端)
  7. guid主键 oracle_使用GUID作为数据库主键的测试
  8. 订单编号,递增且不连续(php版)
  9. List接口的常用方法以及ArrayList/LinkedList源码分析
  10. Mysql的安装和配置
  11. 圆形取景框 相机_据说这款设备可以使老旧单反相机解决无线联机拍摄方案
  12. memcached运行情况监测
  13. vue 打开摄像头保存图片
  14. 【转】Symstore 详细使用
  15. vm怎么装vim_虚拟机中Ubuntu下安装vim及配置文件和插件之菜鸟初体验
  16. 能ping通,TCP就一定能连通吗?
  17. jdk1.8中文帮助文档
  18. 奥的斯服务器故障显示m什么意思,奥迪斯电梯故障代码对照表 奥的斯电梯故障解决方法...
  19. java对接银联商务扫码支付
  20. Livezilla安装配置, APE(Ajax Push Engine)安装配置

热门文章

  1. python经济统计_给统计人讲python(3)模拟城市_数据分析
  2. 计算机d盘不显示容量,电脑D盘可用空间小,可是看不到文件
  3. 华为畅享20不能升级鸿蒙,华为mate20可以升级鸿蒙os吗-mate20能不能更新鸿蒙系统...
  4. 分式混合运算20道题_FAG剖分式调心滚子轴承的性能
  5. c语言随机产生10个30 100,c语言编写随机产生10个100~200之间整数,幷按从大到小排序...
  6. 国风国潮吹到PPT设计,可编辑模板轻松掌握东方韵味
  7. 适合海报设计的最佳字体
  8. UI实用可临摹素材|剖析UI界面设计基本原则!
  9. HTML中的父选择器,html – css4中是否有父选择器?
  10. mysql top virt_linux top命令VIRT,RES,SHR,DATA的含义