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

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
应用实时监控服务-应用监控,每月50GB免费额度
函数计算FC,每月15万CU 3个月
简介: 业界要闻Pivotal 发布了完全基于 Kubernetes 的 Pivotal Application Service(PAS)预览版这意味着 Pivotal 公司一直以来在持续运作的老牌 PaaS 项目 Cloud Foundry (CF)终于得以正式拥抱 Kubernetes。

业界要闻

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

本周阅读推荐

  1. 《KUBERNETES 2020:  WHAT’S IN STORE FOR NEXT YEAR AND BEYOND?》

知名技术媒体发布了对 Kubernetes 生态在 2020 年的趋势预测,主要包括了三个重点方向:
(a) Serverless 架构
(b) 混合云架构
(c) 端到端的 CI/CD 方案

  1. 初探云原生应用管理(二): 为什么你必须尽快转向 Helm v3

Helm 是目前云原生技术体系中进行应用管理最被广泛使用的开源项目,没有之一。根据 CNCF 刚刚发布的 KubeCon EU 2019 的总结报告,Kubernetes(k8s),Prometheus 和 Helm 这三个项目,再次蝉联 KubeCon 上最被关注的开源项目前三名。如果您还不了解 Helm V3,可以移步《深度解读Helm 3: 犹抱琵琶半遮面

  1. 阿里云 Kubernetes CSI 实践

我们知道 Kubernetes 中关于使用存储卷的机制有 In-Tree、Flexvolume 模式,那为何还要提出 CSI 方式呢?CSI 标准使 K8S 和存储提供者之间将彻底解耦,将存储的所有的部件作为容器形式运行在 K8S 上,它具有怎样的协议规范,如何部署及使用呢?

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1月前
|
Cloud Native Serverless 数据中心
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
ACK One注册集群已正式支持ACS(容器计算服务)算力,为企业的容器化工作负载提供更多选择和更强大的计算能力。
|
15天前
|
Cloud Native Serverless 数据中心
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
22 10
|
3月前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
216 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
4月前
|
Kubernetes Cloud Native 微服务
云原生入门与实践:Kubernetes的简易部署
云原生技术正改变着现代应用的开发和部署方式。本文将引导你了解云原生的基础概念,并重点介绍如何使用Kubernetes进行容器编排。我们将通过一个简易的示例来展示如何快速启动一个Kubernetes集群,并在其上运行一个简单的应用。无论你是云原生新手还是希望扩展现有知识,本文都将为你提供实用的信息和启发性的见解。
|
4月前
|
Kubernetes Cloud Native 云计算
云原生入门:Kubernetes 和容器化基础
在这篇文章中,我们将一起揭开云原生技术的神秘面纱。通过简单易懂的语言,我们将探索如何利用Kubernetes和容器化技术简化应用的部署和管理。无论你是初学者还是有一定经验的开发者,本文都将为你提供一条清晰的道路,帮助你理解和运用这些强大的工具。让我们从基础开始,逐步深入了解,最终能够自信地使用这些技术来优化我们的工作流程。
|
3天前
|
人工智能 分布式计算 调度
打破资源边界、告别资源浪费:ACK One 多集群Spark和AI作业调度
ACK One多集群Spark作业调度,可以帮助您在不影响集群中正在运行的在线业务的前提下,打破资源边界,根据各集群实际剩余资源来进行调度,最大化您多集群中闲置资源的利用率。
|
13天前
|
Prometheus Kubernetes 监控
OpenAI故障复盘丨如何保障大规模K8s集群稳定性
OpenAI故障复盘丨如何保障大规模K8s集群稳定性
|
17天前
|
运维 分布式计算 Kubernetes
ACK One多集群Service帮助大批量应用跨集群无缝迁移
ACK One多集群Service可以帮助您,在无需关注服务间的依赖,和最小化迁移风险的前提下,完成跨集群无缝迁移大批量应用。
|
2月前
|
缓存 容灾 网络协议
ACK One多集群网关:实现高效容灾方案
ACK One多集群网关可以帮助您快速构建同城跨AZ多活容灾系统、混合云同城跨AZ多活容灾系统,以及异地容灾系统。
|
3月前
|
Kubernetes Ubuntu 网络安全
ubuntu使用kubeadm搭建k8s集群
通过以上步骤,您可以在 Ubuntu 系统上使用 kubeadm 成功搭建一个 Kubernetes 集群。本文详细介绍了从环境准备、安装 Kubernetes 组件、初始化集群到管理和使用集群的完整过程,希望对您有所帮助。在实际应用中,您可以根据具体需求调整配置,进一步优化集群性能和安全性。
185 12

相关产品

  • 容器服务Kubernetes版