腾讯云云原生混合云-TKE发行版

时间:2021-07-15 | 标签: | 作者:Q8 | 来源:徐蓓 李波网络

小提示:您能找到这篇{腾讯云云原生混合云-TKE发行版}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的腾讯云云原生混合云-TKE发行版内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

背景

TKE发行版(TKE Kubernetes Distro)是由腾讯云TKE发布的K8s发行版本,用于帮助用户创建安全可靠的K8s集群。用户可依托TKE发行版在自建或者托管机房、物理机或者虚机上,运行与TKE完全一致的K8s服务。TKE发行版集群可无缝与腾讯云TKE集成,进而组建混合云。用户可通过TKE发行版集群将云下业务扩展到云上,利用腾讯云TKE、EKS等云服务弹性能力,为业务提供强大的资源保障。

目前TKE发行版已在GitHub开源:[https://github.com/tkestack/tke-k8s-distro]

使用场景与定位

在混合云场景下,不同的云服务商提供的K8s并不完全相同。并且用户在云服务商以外的环境只能使用社区版K8s,而运行环境的任何微小差异都可能导致业务故障,因此,如何尽可能地保障多环境中基础组件的一致性变得尤为重要。TKE发行版便是解决这个问题的一个不错的选择,用户无需花费精力去关注不同环境下K8s的能力差异,以及自行修复K8s中的遇到的问题。

依赖TKE发行版,用户现在可以编译和构建与腾讯云TKE相同的K8s版本。这意味着用户现在可以手动部署可靠和安全的集群,而无需持续测试和跟踪K8s更新、依赖关系和安全补丁。每一个TKE发行版都遵循腾讯云TKE和K8s社区标准新版本兼容性的流程。

TKE发行版在保证兼容性的基础上,对K8s进行了扩展,并且与腾讯云TKE服务保持版本一致。用户可以在自己的IDC或者混合云上部署TKE发行版,使用已有企业用户大规模验证的可靠安全的K8s服务。

TKE发行版的每个版本都会通过K8s社区官方一致性测试,保证兼容性,同时以patch形式提供源代码,并提供构建工具帮助用户进行编译。TKE发行版目前支持v1.20版本。

我们的优势

大规模生产集群验证

TKE发行版提供与腾讯云TKE相同的可安装版本和开源代码,功能和稳定性经过大量企业用户、公有云及自研云锤炼。用户可以使用提供的源代码和编译工具进行构建和部署。

无缝集成公有云TKE

TKE发行版可支持用户在自建或者托管机房,物理机或者虚机上,运行与腾讯云TKE完全一致的K8s服务。并且可以无缝与腾讯云TKE集成,组建混合云集群。

更长支持周期

TKE发行版的支持周期比社区版更长。在社区版停止支持后,TKE发行版将继续得到支持,包括重要问题以及安全漏洞的修复。

更多实用能力增强

TKE发行版结合腾讯自身业务特点和经验,针对部分场景(弹性扩容、离在线混部、资源隔离等)实现了能力增强。并且TKE发行版紧跟社区趋势,主导或深度参与社区KEP设计与实现。对于有实用价值KEP会先于社区支持,让用户提前享受到云原生技术进步。

功能增强

支持弹性扩容到腾讯云EKS服务

EKS是腾讯云的弹性容器服务,用户无须购买节点即可部署工作负载,非常适合突发等临时的扩容需求。在需要临时扩容时,可以秒级快速把工作负载从TKE发行版集群扩容到云上EKS,应对突发和临时流量,提高资源利用率,降低运维和资金危机公关 天猫成本。

支持动态修改kube-controller-manager日志级别

在运维K8s生产集群中,我们一般设置较低日志级别(0~2),而在问题排查时我们需要提高日志级别。TKE发行版实现了动态修改日志级别功能,从而避免因组件重启导致关键日志丢失。目前K8s官方版本支持kube-apiserver、kubelet和kube-scheduler设置,TKE发行版额外实现了kube-controller-manager组件的日志动态调级。

该feature已提交社区:【https://github.com/kubernetes/kubernetes/pull/98262】

支持Memory QoS with cgroups v2特性(进行中)

Memory QoS with cgroups v2是TKE团队设计实现的内存QoS功能,它利用v2 memory controller中memory.min/memory.high为pod/container/node提供全方位的内存保护。

目前该KEP已被K8s社区接受,预计在v1.22中实现alpha版。TKE发行版会先于社区支持该特性,为用户Pod、集群节点等提供更好的内存保护。

Memory QoS with cgroups v2:【https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/2570-memory-qos】

支持TencentOS QoS特性(进行中)

TencentOS是腾讯针对云场景研发的Linux操作系统,专门针对容器场景提供了原生优先级支持及资源隔离增强,包括CPU、内存、磁盘IO和网络IO等。TKE发行版内置了对TencentOS QoS特性的支持,将K8s资源隔离和QoS分级offload到TencentOS实现。该特性在开发中,预计下个版本支持。

TencentOS:【https://github.com/Tencent/TencentOS-kernel】

稳定性增强

TKE发行版依据大量生产经验,修复众多生产级bug,支持千万核集群在腾讯稳定运行。主要bugfix包括:

1.修复使用containerd时集群监控指标缺失问题



在containerd作为container runtime的集群中,kubelet没有正确设置采集指标的container name,导致不能被归类和分析。TKE发行版本修复了该问题,提交社区PR:【https://github.com/kubernetes/kubernetes/pull/90260】

2.修复删除Pod后立即创建并调度到同一个节点可能导致无法挂载成功的问题

K8s statefulset pod在删除后重新创建,如果pod调度到同一个节点,会因为卷挂载失败而导致启动失败。TKE发行版修复了该问题,提交社区PR:【https://github.com/kubernetes/kubernetes/pull/72914】



3.修复CentOS下创建容器会导致cgroup泄露的问题



TKE发行版关闭了kernel memory accouting以避免cgroup泄露。

4.修复kubectl describe deployment <xxx> NewReplicaSet 显示为 <none> 的问题

kubectl describe在获取deployment对象后,会对volume进行排序,有时会导致无法匹配到最新replicaset。TKE发行版修复了该问题,提交社区PR:【https://github.com/kubernetes/kubernetes/pull/97752】

5.修复Pod容器镜像有多tag时,Pod status镜像tag会不匹配问题

Pod容器一镜像有多tag时,会导致pod spec容器镜像tag与kubelet上报不符。TKE发行版backport社区PR修复此问题北京公关公司排名榜【https://github.com/kubernetes/kubernetes/pull/94833】

6.修复aws credential provider导致kubelet启动20s延迟问题

AWS credential provider在初始化时会尝试连接AWS元数据服务,会导致非AWS集群出现最长20s启动延迟。TKE发行版上报了bug【https://github.com/kubernetes/kubernetes/issues/92162】

并backport社区PR【https://github.com/kubernetes/kubernetes/pull/93260】

7.修复Ubuntu16.04 lxcfs升级造成pod退出问题

K8s集群在Ubuntu16.04下默认安装低版本lxcfs,在对lxcfs升级后,会导致pod无法正常运行。原因是低版本lxcfs挂载cgroupfs,kubelet在启动时会使用lxcfs已挂载cgroupfs,而非系统/sys/fs/cgroup。lxcfs在升级新版本后,旧cgroupfs会被解挂,导致kubelet对pod cgroup操作失败。TKE发行版修复了该问题。

如何使用TKE发行版

TKE发行版提供了安装工具脚本,帮助用户自动编译和构建发行版镜像,极大降低了TKE发行版的使用门槛。

编译和构建流程包括:

1.拉取patch代码

git clone[https://github.com/tkestack/tke-k8s-distro](https://github.com/tkestack/tke-k8s-distro)

2.编译组件

make

或者

make <release>

目前支持1.20版本。

3.组件产出

编译过程中,源码路径为_src/&lt;release&gt;,编译产出路径为_output/&lt;release&gt;,组件包括kubeadm,kube-apiserver,kube-controller-manager,kubectl,kubelet,kube-proxy,kube-scheduler。

下一步

TKE发行版的推出,使得用户线下IDC与腾讯云上TKE的融合成为可能。我们期望TKE发行版未来能成为混合云与多云的基石,让用户在混合云环境中,可随时随地享受到和云上TKE一致的体验。

TKE发行版未来会以开源方式运作,用户可以通过GitHub提供任何反馈,不仅限于Issue和PR。

GitHub:【https://github.com/tkestack/tke-k8s-distro】

腾讯云云原生混合云-TKE发行版

上一篇:腾讯云:SuperEdge v0.3.0版本发布,更快捷部署,更
下一篇:AppLovin Ask The Dev | Green Panda的自动化增长之路


版权声明:以上主题为“腾讯云云原生混合云-TKE发行版"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
扫码咨询
    腾讯云云原生混合云-TKE发行版
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“腾讯云云原生混合云-TKE发行版”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通腾讯云云原生混合云-TKE发行版的相关事宜。

关键词:腾讯云云原生混合云-TKE发

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:545321@QQ.com
电话:400-021-1330 | 客服QQ:545321
沪ICP备12034177号 | 沪公网安备31010702002418号