检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
未认证的控制面DoS攻击(CVE-2022-23635) 漏洞详情 表1 漏洞信息 漏洞类型 CVE-ID 披露/发现时间 DoS CVE-2022-23635 2022-02-22 影响评分 7.5 高危 触发场景 简单安装时,Istiod是从集群内获取的,受攻击的可能性小一点。
众所周知,将传统的单体应用拆分为一个个微服务固然带来了各种好处,包括更好的灵活性、可伸缩性、重用性,但微服务也同样面临着特殊的安全需求,如下所示: 为了抵御中间人攻击,需要用到流量加密。 为了提供灵活的服务访问控制,需要用到TLS和细粒度访问策略。 为了决定哪些人在哪些时间可以做哪些事,需要用到审计工具。
漏洞公告 未认证的控制面DoS攻击(CVE-2022-23635) Istiod TLS证书密钥滥用(CVE-2021-34824)
虚拟机服务灰度发布 虚拟机上部署ASM-PROXY,且网格化后,可以设置灰度策略实现简单的灰度发布。如下图所示,虚拟机1上部署httptest应用(原版本v1),虚拟机2上部署httptest-canary应用(灰度版本v2),配置v1版本、v2版本分别50%的流量比例。当容器服
ar会重启关联的Pod,将会暂时中断您的业务”,单击“确定”。 配置同步 将准备工作中备份的配置文件在新网格中恢复,若未配置kubectl命令,可参考CCE配置kubectl 。 kubectl create -f all-svc.yaml kubectl create -f all-vs
数据面升级说明 单击“升级”会将所有服务实例对接到新版本控制面,您可以通过修改命令空间的标签(去除istio-injection:enabled ,加上istio.io/rev: {revision} ,其中{revision} 为版本号,如1-13-9-r5),并重启部分pod进行测试,若无问题,则可以全部切换。
容器服务加入网格:将tomcat服务加入网格,确保服务诊断状态为正常。 访问容器服务:编辑虚拟机的/etc/hosts文件,添加域名解析,然后通过curl命令访问容器服务。 部署容器服务 登录云容器引擎控制台,在“集群管理”页面单击集群名称,进入集群详情页。 在左侧导航栏选择“资源 > 工作负载”,单击右上角“镜像创建”。
登录集群,使用kubectl get gateway -n istio-system命令查看使用的gateway是否配置好使用的IP/域名和端口。使用kubectl get svc -n istio-system命令查看使用的ingressgateway是否有对应的IP和端口,且未处于pending状态。
验证业务功能正常可用。 异常回退 将集群添加回企业版网格。 使用控制面kubectl 执行如下命令: kubectl create -f all-gw.yaml 使用数据面kubectl 执行如下命令: kubectl create -f user-all-svc.yaml 功能验证。 将新建网格集群删除。
2版本(红星形)为例进行说明。 图2 Bookinfo应用的端到端架构 在ASM中运行Bookinfo应用,无需对应用自身做出任何改变,只需简单的在ASM环境中对服务进行配置和运行,即把Envoy Sidecar注入到每个服务之中。最终的部署结果如图3所示。 图3 Envoy Si
true 执行以下命令,确认最新日志无报错。 kubectl logs -n istio-operator $(kubectl get po -n istio-operator | awk '{print $1}' | grep -v NAME) 执行以下命令,确认IOP CR是正常状态。
如果已完成虚拟机治理任务,可以将其中的ASM-PROXY卸载,释放资源。 删除已添加的iptables规则 以root用户登录虚拟机。 执行以下命令删除添加的istio iptables规则。 iptables -t nat -D PREROUTING -p tcp -j ISTIO_INBOUND
创建相应目录及文件 在ECS虚拟机上执行以下命令: mkdir -p /opt/asm_proxy/certs/ touch /opt/asm_proxy/asm_proxy.env 备份虚拟机iptables规则 在ECS虚拟机上执行以下命令: iptables-save > ~/iptables
产品优势 简单易用 无需修改任何服务代码,也无需手动安装代理,只需开启应用服务网格功能,即可实现丰富的无侵入服务治理能力。 内置金丝雀、蓝绿灰度发布流程 灰度版本一键部署,流量切换一键生效。 灰度策略可配置,支持流量比例、请求内容(Cookie、OS、浏览器等)。 一站式健康、性
b-mesh-gateway gateway和virtualSevice host添加‘*’ 开启istio DNS访问 在A业务集群上使用如下命令 kubectl edit iop {iop名} -nistio-system 在spec.meshConfig.defaultConfig
网格仅使用了网关能力。 已经创建和原网格网关同规格的ELB实例。 创建Ingress资源 证书secret从istio-system空间迁移到业务命令空间,可使用如下命令: kubectl -nistio-system get secret {证书名} -oyaml > /tmp/{证书名}.yaml
VERIFY SIGNATURE:与1.a中的公钥保持一致。 图4 创建JWT Token 通过入口网关访问httpbin服务。 执行以下命令,带1创建的JWT Token访问服务。 TOKEN=1创建的JWT Token curl -I -H "Authorization: Bearer
-oyaml | grep lifec -a10 在“lifecycle”下的“preStop”中,定义了一个命令nginx -s quit; sleep 10,这个命令首先会发送一个优雅关闭信号给Nginx进程,然后暂停10秒。这样,在Pod终止之前,Nginx会有足够的时间完成正在处理的请求并优雅地关闭。
-413d-a5b9-5c1ac3fe3705)* .*.*.* 将准备工作中备份的istio 配置文件拷贝一份到新集群节点上, 执行如下命令: #查看老ELB IP grep -i "老ELB IP" *.yaml #ELB IP 替换 sed -i 's/老ELB IP/新ELB
在kubectl节点执行以下命令,获取tomcat工作负载的Pod名称。 kubectl get pod -n <vmns>|grep tomcat 回显示例: tomcat-75cbb4b948-nzrfs 2/2 Running 0 19h 执行以下命令,对虚拟机服务发起访问。