云原生生态周报 Vol. 11 | K8s 1.16 早知道

简介: 业界要闻Pivotal 发布了完全基于 Kubernetes 的 Pivotal Application Service(PAS)预览版。这意味着 Pivotal 公司一直以来在持续运作的老牌 PaaS 项目 Cloud Foundry (CF)终于得以正式拥抱 Kubernetes。

业界要闻

  1. Pivotal 发布了完全基于 Kubernetes 的 Pivotal Application Service(PAS)预览版这意味着 Pivotal 公司一直以来在持续运作的老牌 PaaS 项目 Cloud Foundry (CF)终于得以正式拥抱 Kubernetes。PAS 将 CloudFoundry 的核心控制平面完全移植到了 Kubernetes 之上,从而使得用户可以使用 CF 闻名已久的 cf push APP 命令一键在 Kubernetes 上发布应用;而与此同时,操作人员则可以通过 K8s API 来进行平台层的管理
  2. 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)
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:https://developer.ibm.com/open/projects/kabanero/:kabanero构建在knative,istio,tekton之上,提供build、流量管理、CICD等能力,同时支持Eclipse codewind,Eclipse Che等IDE对接;目前主要面向 Java 生态。
  2. kyverno, 一个 Kubernetes 原生的 Policy Engine 项目https://github.com/nirmata/kyverno

     (a)  kyverno作为一个 [dynamic admission controller](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/) 运行在k8s集群中,接受 APIServer 的 Admission WebHook HTTP 回调请求,来匹配类似资源的类型,名称,标签,资源规格等检查策略;
    • 可以看到,相比于 OPA,kyverno 更加轻量级,可以认为只是 K8s 本身的 Policy 能力的一个封装

      (b)  这些检查策略可以通过kyverno的自定义资源类型kyverno.io/v1alpha1来定义;
      
      (c)  主要的使用场景是,可以对相同应用在不同部署环境做不同策略的admission 的validating 和 mutating
      

本周阅读推荐

  1. 《KUBERNETES 2020: WHAT’S IN STORE FOR NEXT YEAR AND BEYOND?》知名技术媒体发布了对 Kubernetes 生态在 2020 年的趋势预测,主要包括了三个重点方向:

     (a)   Serverless 架构
     (b)  混合云架构
     (c)  端到端的 CI/CD 方案
    
  2. 初探云原生应用管理(二): 为什么你必须尽快转向 Helm v3》Helm 是目前云原生技术体系中进行应用管理最被广泛使用的开源项目,没有之一。根据 CNCF 刚刚发布的 KubeCon EU 2019 的总结报告,Kubernetes(k8s),Prometheus 和 Helm 这三个项目,再次蝉联 KubeCon 上最被关注的开源项目前三名。如果您还不了解 Helm V3,可以移步《深度解读Helm 3: 犹抱琵琶半遮面
  3. 阿里云Kubernetes CSI实践》我们知道Kubernetes中关于使用存储卷的机制有In-Tree、Flexvolume模式,那为何还要提出CSI方式呢?CSI标准使K8S和存储提供者之间将彻底解耦,将存储的所有的部件作为容器形式运行在K8S上,它具有怎样的协议规范,如何部署及使用呢?

本周报由阿里巴巴容器平台联合蚂蚁金服共同发布

本周作者:徙远、张磊、元毅
责任编辑:木环


前期周报回顾

云原生生态周报 Vol. 10 | 数据库能否运行在 K8s 当中?
前期周报回顾
云原生生态周报 Vol. 9 | K8s 1.15 后的性能提升
云原生生态周报 Vol. 8 | Gartner 发布云原生趋势
云原生生态周报 Vol. 7 | Docker 再爆 CVE
云原生生态周报 Vol. 6 | KubeCon EU 特刊
云原生生态周报 Vol. 5 | etcd性能知多少
云原生生态周报 Vol. 4 | Twitter 走向 K8s
云原生生态周报 Vol. 3 | Java 8 ️️ Docker

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
人工智能 算法 Java
AI:互联网程序设计竞赛之蓝桥杯大赛的简介、奖项设置、大赛内容以及蓝桥杯与ACM(ICPC)的四个维度对比之详细攻略
AI:互联网程序设计竞赛之蓝桥杯大赛的简介、奖项设置、大赛内容以及蓝桥杯与ACM(ICPC)的四个维度对比之详细攻略
AI:互联网程序设计竞赛之蓝桥杯大赛的简介、奖项设置、大赛内容以及蓝桥杯与ACM(ICPC)的四个维度对比之详细攻略
|
关系型数据库 MySQL 流计算
Flink自定义sink写入mysql
Flink自定义sink写入mysql
192 0
|
存储 Go 数据安全/隐私保护
Golang 语言怎么使用 Viper 管理配置信息?(下)
Golang 语言怎么使用 Viper 管理配置信息?(下)
199 0
|
Swift iOS开发
iOS @available 和 #available 的用法
iOS @available 和 #available 的用法
676 0
|
缓存 UED
什么是Expires字段
【8月更文挑战第18天】什么是Expires字段
438 1
|
数据可视化 数据管理 定位技术
如何将QGIS中的属性表与Excel表格关联?
作为UE开发人员,经常会使用到QGIS进行数据管理编辑。QGIS与Excel之间数据并不完全兼容,而UE开发过程中大部分的前期数据都储存在Eecel里。为了将Excel数据写入QGIS属性表实现数据可视化,我们内部总结了一个最快捷的方法
|
存储 监控 关系型数据库
PostgreSQL的备份策略是什么?
【8月更文挑战第4天】PostgreSQL的备份策略是什么?
193 7
|
机器学习/深度学习 人工智能 弹性计算
【ModelScope测评】实现对视频上传的自动化分类
对不起,我是开发小白,纯纯新手OvO
22147 6
【ModelScope测评】实现对视频上传的自动化分类
|
存储 负载均衡 安全
虚拟桌面和云桌面办公系统
虚拟桌面和云桌面办公系统
|
数据采集 存储 中间件
Scrapy,作为一款强大的Python网络爬虫框架,凭借其高效、灵活、易扩展的特性,深受开发者的喜爱
【6月更文挑战第10天】Scrapy是Python的高效爬虫框架,以其异步处理、多线程及中间件机制提升爬取效率。它提供丰富组件和API,支持灵活的数据抓取、清洗、存储,可扩展到各种数据库。通过自定义组件,Scrapy能适应动态网页和应对反爬策略,同时与数据分析库集成进行复杂分析。但需注意遵守法律法规和道德规范,以合法合规的方式进行爬虫开发。随着技术发展,Scrapy在数据收集领域将持续发挥关键作用。
246 4