云原生生态周报 Vol. 11 | K8s 1.16 早知道
业界要闻
Pivotal 发布了完全基于 Kubernetes 的 Pivotal Application Service(PAS)预览版
这意味着 Pivotal 公司一直以来在持续运作的老牌 PaaS 项目 Cloud Foundry (CF)终于得以正式拥抱 Kubernetes。PAS 将 CloudFoundry 的核心控制平面完全移植到了 Kubernetes 之上,从而使得用户可以使用 CF 闻名已久的 cf push APP 命令一键在 Kubernetes 上发布应用;而与此同时,操作人员则可以通过 K8s API 来进行平台层的管理。
Linkerd 2.4 发布:
Linkerd 2.4 发布,此版本增加了流量分割和服务网格接口(SMI,Service Mesh Interface)支持;Linkerd 的新流量分割功能,允许用户动态控制服务流量的百分比。这个功能强大的特性,可以通过 Kubernetes 服务之间请求流量的增量转移,实现灰度和蓝绿部署等策略。
上游重要进展
1. Kubernetes 设计增强提议(KEP)
(a) PVC/PV 克隆在 K8s 1.16 即将 Beta:https://github.com/kubernetes/enhancements/pull/1147
K8s 的 PVC/PVC 已经支持以克隆的形式创建,这使得用户可以一键复制当前的容器应用在使用的整个存储依赖(包括数据)。这个特性在测试、调试、搬迁等很多场景中都有需求。
(b) External credential providers: https://github.com/kubernetes/enhancements/pull/1137
- k8s client 的认证方式现在只有 kubeconfig 一种。目前上游正在提议支持对接外部鉴权系统,以减少类似证书回滚、证书保存等问题;
- 支持 bearer tokens;支持 mTLS;等其他动态认证方式;
- 动态认证的配置通过 configmap 下发;其中包括认证系统的配置,工具等;
(c) Service Topology: add graduation criteria:https://github.com/kubernetes/enhancements/pull/1132
- 支持 k8s 服务拓扑感知的流量管理,实现服务的“本地访问”,本地可能包括:同一个 region,同一个 node,同一个 ns 等;
- 需要支持“本地服务”的健康检查,LB 规则等;考虑增加:PodLocator controller,kube-proxy 支持感知服务的拓扑配置,dns 支持拓扑感知;
2. Kubernetes v1.16.0-alpha.1 发布
其中几个需要重点关注的更新包括:
- k8s 原生支持 api 响应压缩;如果 client 请求 Header 中带
Accept-Encoding: gzip,且 response body 大于 128KB,那么客户端会接收到 GZIP 压缩的响应;go client 默认支持,其他语言客户端需要适配;参考(#77449, @smarterclayton) - 新增 runtimeclass admission controller,用来给 pod 配置特定 runtime 类型的 overhead,比如 kata 容器和 runc 的 pod overhead 就会差别很大;PodOverhead 在 1.16 中是一个 alpha 特性;参考(#78484, @egernst)
3. knative 项目
(a) 简化 eventing 的事件消费处理: 社区正在计划简化事件消费处理,Google 正在进行原型的设计,后续会将相关代码进行分享。
(b) 缩容时可配置自定义策略来选择 pod 缩容:暂定将在 1.0 版本提供 proposal
(c) 基于 Envoy Filter的Knative Activator 方案:Istio Team 最近给 knative 提出的 Knative Activator 新方案,通过在 Ingress Gateway 的 Envoy 中加入一个特殊的 filter,来实现 Activator 的功能。目前正在进行 POC,通过 Mixer Adapter 来实现激活 Autoscaler。
开源项目推荐
1. IBM 开源的 Serverless 方案 -- kabanero:
kabanero 构建在 knative, istio,tekton之上,提供build、流量管理、CICD等能力,同时支持Eclipse codewind,Eclipse Che等IDE对接;目前主要面向 Java 生态。
2. kyverno, 一个 Kubernetes 原生的 Policy Engine 项目:
(a) kyverno作为一个 dynamic admission controller 运行在k8s集群中,接受 APIServer 的 Admission WebHook HTTP 回调请求,来匹配类似资源的类型,名称,标签,资源规格等检查策略;
- 可以看到,相比于 OPA,kyverno 更加轻量级,可以认为只是 K8s 本身的 Policy 能力的一个封装
(b) 这些检查策略可以通过kyverno的自定义资源类型kyverno.io/v1alpha1来定义;
(c) 主要的使用场景是,可以对相同应用在不同部署环境做不同策略的 admission 的 validating 和 mutating
本周阅读推荐
知名技术媒体发布了对 Kubernetes 生态在 2020 年的趋势预测,主要包括了三个重点方向:
(a) Serverless 架构
(b) 混合云架构
(c) 端到端的 CI/CD 方案
Helm 是目前云原生技术体系中进行应用管理最被广泛使用的开源项目,没有之一。根据 CNCF 刚刚发布的 KubeCon EU 2019 的总结报告,Kubernetes(k8s),Prometheus 和 Helm 这三个项目,再次蝉联 KubeCon 上最被关注的开源项目前三名。如果您还不了解 Helm V3,可以移步《深度解读Helm 3: 犹抱琵琶半遮面》
我们知道 Kubernetes 中关于使用存储卷的机制有 In-Tree、Flexvolume 模式,那为何还要提出 CSI 方式呢?CSI 标准使 K8S 和存储提供者之间将彻底解耦,将存储的所有的部件作为容器形式运行在 K8S 上,它具有怎样的协议规范,如何部署及使用呢?
云原生生态周报 Vol. 11 | K8s 1.16 早知道的更多相关文章
- 云原生生态周报 Vol. 12 | K8s 1.16 API 重大变更
本文作者:源三.临石.张磊.莫源 业界要闻 1. K8s 1.16 将废弃一系列旧的 API 版本 影响面涉及 NetworkPolicy.PodSecurityPolicy.DaemonSet, D ...
- 云原生生态周报 Vol. 15 | K8s 安全审计报告发布
业界要闻 CNCF 公布 Kubernetes 的安全审计报告 报告收集了社区对 Kubernetes.CoreDNS.Envoy.Prometheus 等项目的安全问题反馈,包含从一般弱点到关键漏洞 ...
- 云原生生态周报 Vol. 14 | K8s CVE 修复指南
业界要闻 Mesosphere 公司正式更名为 D2IQ, 关注云原生. Mesosophere 公司日前发布官方声明正式更名为:D2iQ(Day-Two-I-Q),称关注点转向 Kubernetes ...
- 云原生生态周报 Vol.9| K8s v1.15 版本发布
本周作者 | 衷源.心贵 业界要闻 1.Kubernetes Release v1.15 版本发布,新版本的两个主题是持续性改进和可扩展性.(https://github.com/kubernetes ...
- [转帖]Kubernetes v1.17 版本解读 | 云原生生态周报 Vol. 31
Kubernetes v1.17 版本解读 | 云原生生态周报 Vol. 31 https://www.kubernetes.org.cn/6252.html 2019-12-13 11:59 ali ...
- 云原生生态周报 Vol. 3 | Java 8 ❤️ Docker
摘要: Docker Hub遭入侵,19万账号被泄露:Java 8 终于开始提供良好的容器支持:Snyk 年度安全报告出炉,容器安全问题形势空前严峻. 业界要闻 Docker Hub遭入侵,19万账号 ...
- 云原生生态周报 Vol. 5 | etcd性能知多少
业界要闻 1 Azure Red Hat OpenShift已经GA.在刚刚结束的Red Hat Summit 2019上,Azure Red Hat OpenShift正式宣布GA,这是一个微软和红 ...
- 云原生生态周报 Vol. 6 | KubeCon EU 特刊
5 月 26日,2019 年第一个 KubeCon + CloudNativeCon 在巴塞罗那成功闭幕.本届 KubeCon 共吸引了超过 7700 名与会者,相较去年哥本哈根大会的 4300 余名 ...
- 云原生生态周报 Vol.10 | 数据库能否运行在 K8s 当中?
业界要闻 IBM 以总价 340 亿美元完成里程碑意义的红帽收购:这是这家拥有 107 年历史的公司史上规模最大的一笔收购,该收购金额在整个科技行业的并购史上也能排到前三.在当天公布的声明中,IBM ...
随机推荐
- 使用Java操作Elasticsearch(Elasticsearch的java api使用)
1.Elasticsearch是基于Lucene开发的一个分布式全文检索框架,向Elasticsearch中存储和从Elasticsearch中查询,格式是json. 索引index,相当于数据库中的 ...
- python基础(23):面向过程与面向对象的优劣、初识面向对象
1. 面向过程与面向对象的优劣 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了写程 ...
- 易优CMS:小白学代码之notempty
[基础用法] 名称:notempty 功能:判断某个变量是否为空,可以嵌套到任何标签里面使用,比如:channel.type等 语法: {eyou:notempty name='$eyou.field ...
- JS常用标签
1.由来 JavaScript的出现就是为了解决,不需要将所有的表单数据全部提交到服务器. 2.添加 加载Js代码的三种方式: 第一种:<script></script>标签里 ...
- 关于 Android 状态栏的适配总结
1.要求状态栏透明,我们的内容布局延伸到系统状态栏,就是人们口中说的沉浸式状态栏: Android 5.0 及其以后版本:设置属性 View.SYSTEM_UI_FLAG_LAYOUT_FULLSCR ...
- windows10 性能优化
公司的电脑 CPU 是 i5, 内存: 8GB, 机械硬盘, 装的是 win10 操作系统, 作为开发机, 配置本来够低了, 公司又预装了很多个监控软件, 性能就更差了. 这些天明显感觉这个机器越来越 ...
- Python的 Datetime 、 Logging 模块
Datetime模块 datetime是python处理时间和日期的标准库 类名 date类 日期对象,常用的属性有 year . month . day time类 时间 ...
- [MySQL] 解决Error 1698: Access denied for user 'root'@'localhost'
当程序中使用root账号连接mysql时报以下错误,但是使用命令行是可以正常连接的,那么就查询下mysql数据库的user表,查看下当前用户的密码加密方式,看看是不是unix_socketMariaD ...
- 【PAT甲级】1008 Elevator (20分)
1008 Elevator 题目: The highest building in our city has only one elevator. A request list is made up ...
- 组装数据- 对象里面是key:value, value里面是数组的形式,如 {key:[aa,bb], key:[cc,dd]}
组合后 对象里面是key:value,value里面是数组的形式{key:[aa,bb], key:[cc,dd]} var chinaGeoCoordMap = { '无锡市': [121.4648 ...