istio 1.7发布
变更说明
涉及以下变更:
流量管理
•添加了 values.global.proxy.holdApplicationUntilProxyStarts config选项,它使sidecar注入器在pod容器列表的开始处注入sidecar,并将其配置为阻止所有其他容器的开始,直到代理就绪为止。默认情况下禁用此选项。(#11130)•新增了对用于客户端证书和CA证书的SDS支持,该证书用于使用DestinationRule从Egress Gateway发起的TLS/mTLS(#14039)
安全
•改进的信任域验证也可以验证TCP流量,以前仅验证HTTP流量。(#26224)•改进的Istio网关,允许在服务器的TLS模式为ISTIO_MUTUAL时使用基于源主体的授权。(#25818)•改进的虚拟机安全性。VM身份现在从一个短暂的Kubernetes服务帐户令牌中启动。VM的工作负载证书会自动轮换。(#24554)
遥测
•向istio-Agent添加了Prometheus指标。(#22825)•使用istioctl添加了自定义Metrics。(#25963)•向Stackdriver添加了TCP Metrics和访问日志。(#23134)•istioctl已弃用遥测插件。默认情况下将禁用这些功能,并且在将来的版本中将其完全删除。(#22762)•默认情况下,已启用Prometheus Metric合并。(#21366)•修复了合并的Prometheus指标不会在应用程序故障期间删除Envoy指标的。(#22825)•修复了无法解释的遥测会影响Kiali图。此修复程序将默认出站协议嗅探超时增加到5s,这对像mysql这样的服务器优先协议产生了影响。(#24379)•删除了不准确的pilot_xds_eds_instances和pilot_xds_eds_all_locality_endpoints Istiod指标。(#25154)
安装
•向版本中添加了用于在VM上运行Istio sidecar的RPM软件包。9117)•增加了对单个群集和多个群集的实验性中央Istiod支持 修复了阻止NodePort服务用作meshNetworks中的RegistryServiceName的。•改进的网关部署,默认情况下以非root用户身份运行。(#23379)•改进了operator默认情况下以非root用户身份运行的功能。(#24960)•通过指定严格的安全上下文来改进operator。(#24963)•改进了Istiod,默认情况下以非root用户身份运行。(#24961)•改进的Kubernetes strategic merge用于覆盖IstioOperator用户文件,从而改善了列出/处理的方式。(#24432)•将CRD和Webhook版本升级到v1。(#18771),(#18838)
istioctl
•为非Kubernetes工作负载添加了Allow proxy-status 命令,并通过--file参数传递了代理配置。•添加了一个配置文件以保存istioctl默认标志。可以使用环境变量ISTIOCONFIG更改其默认位置($HOME/.istioctl/config.yaml)。新命令istioctl实验性配置列表显示了默认标志。(#23868)•为istioctl operator init和istioctl operator remove命令添加了--revision标志,以支持多控制平面升级。(#23479)•添加了istioctl x uninstall命令以卸载Istio控制平面。(#24360)•改进的istioctl analyze可警告是否存在已弃用的混合器资源(#24471)•改进的istioctl analyze可警告DestinationRule是否未使用CaCertificates验证服务器身份。•改进的istioctl validate以检查资源中的未知字段。(#24861)•改进的istioctl install,在尝试以不支持的旧Kubernetes版本安装Istio时发出警告。(#26141)•删除的istioctl manifest apply。更简单的install命令将替换清单应用。(#25737)
升级说明
从Istio 1.6.x升级到Istio 1.7.x时,需要考虑以下更改。这些说明详细说明了有意破坏与Istio 1.6.x的向后兼容性的更改。这些说明还提到了在引入新行为时保留向后兼容性的更改。仅当新行为对Istio 1.6.x的用户而言是意外的时,才包括更改。
需要Kubernetes 1.16+
现在需要安装Kubernetes 1.16+。
安装
•istioctl manifest apply已删除,请istioctl install改用。•istioctl不建议安装遥测插件,请使用这些插件集成说明。
网关以非root用户身份运行
默认情况下,网关现在将在没有root权限的情况下运行。结果,它们将不再能够绑定到1024以下的端口。默认情况下,我们将绑定到有效端口。但是,如果要在网关上明确声明端口,则可能需要修改installation。例如,如果您以前有以下配置:
ingressGateways:
- name: istio-ingressgateway
enabled: true
k8s:
service:
ports:
- port: 15021
targetPort: 15021
name: status-port
- port: 80
name: http2
- port: 443
name: https
应该更改它以指定targetPort可以绑定到的有效对象:
ingressGateways:
- name: istio-ingressgateway
enabled: true
k8s:
service:
ports:
- port: 15021
targetPort: 15021
name: status-port
- port: 80
name: http2
targetPort: 8080
- port: 443
name: https
targetPort: 844
注意:targetPort仅修改网关绑定到的端口。客户端仍将连接到由port(通常为80和443)定义的端口,因此此更改应该是透明的。
如果您需要以root用户身份运行,可以使用此选项启用--set values.gateways.istio-ingressgateway.runAsRoot=true
。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【Ceph RGW】找一个用Go写的s3cmd
- 技术分享 | 如何优雅地在 Windows 上从 MySQL 5.6 升级到 5.7
- SpringCloud分布式配置中心
- Sharding-Proxy的基本功能使用
- React-Redux 对Todolist修改
- 快排解决寻找数组中的第K个最大元素
- Docker六脉神剑(一) Mac极速体验
- React-Router 5.0 制作导航栏+页面参数传递
- Vue3.0快速入门(速查)
- 憧憬博客Nginx到Tengine的迁移
- SpringCloud微服务构建浅析
- 宋宝华:Linux设备与驱动的手动解绑与手动绑定
- ELK7.x日志系统搭建 1. elk基础搭建
- 腾讯云直播开发日记 (二)附近直播-直播礼物-直播回放
- 腾讯云直播开发日记(三) 聊天室-直播转码-连麦混流