前 言

两个月前,业界应用最为广泛的Kubernetes管理平台创建者Rancher Labs(以下简称Rancher)在KubeCon2019北美峰会上宣布,Rancher打造的轻量级Kubernetes发行版k3s正式GA,这款产品专为在资源有限的环境设计,可以满足在边缘计算环境中、在小型设备上运行Kubernetes集群的需求。在这之后,我们依旧持续受到全球开发者的关注,到12月末,Github Star突破了11,000。

本周,k3s发布新版本v1.17.0+k3s.1,这一版本是GA后的首个重大变更版本,本文将针对该版本进行简要说明。

版本号命名规则

之前k3s一直都使用通用的版本号,如v0.1、v0.2、v1.0等。由于k3s从K8s衍生而来,每个k3s版本都会对应一个Kubernetes版本,比如k3s v1.0对应的是Kubernetes v1.16.3,但是这些信息需要在Release Note中查找,这给用户带来了极大的不便。Rancher一向重视用户的使用体验,因此更改了k3s的版本号命名方式。新的版本号命名方式采用“<K8s version>+<k3s metadata>”的格式,比如v1.17.0+k3s.1版本,如此用户就能显而易见地清楚当前对应的Kubernetes版本。

v1.17.0+k3s.1重要改进

Helm2切换到Helm3

通常,我们都是通过Helm的CLI工具来管理chart。此前的k3s版本仅仅支持Helm2,在本次发布的新版本中增加了对Helm3的支持。Helm3中移除了Tiller组件,其本身的简洁性给k3s的使用带来了便利。在新版本的k3s中,Helm3的使用方式如下:


$ helm --kubeconfig /etc/rancher/k3s/k3s.yaml repo add helm-stable https://kubernetes-charts.storage.googleapis.com/
"helm-stable" has been added to your repositories $ helm --kubeconfig /etc/rancher/k3s/k3s.yaml search repo nginx
NAME CHART VERSION APP VERSION DESCRIPTION
helm-stable/nginx-ingress 1.28.0 0.26.2 An nginx Ingress controller that uses ConfigMap...
helm-stable/nginx-ldapauth-proxy 0.1.3 1.13.5 nginx proxy with ldapauth
helm-stable/nginx-lego 0.3.1 Chart for nginx-ingress-controller and kube-lego
helm-stable/gcloud-endpoints 0.1.2 1 DEPRECATED Develop, deploy, protect and monitor… $ helm --kubeconfig /etc/rancher/k3s/k3s.yaml install helm-stable/redis --generate-name $ helm --kubeconfig /etc/rancher/k3s/k3s.yaml list --all-namespaces
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
redis-1578463519 default 1 2020-01-08 06:05:22.482166284 +0000 UTC deployed redis-10.3.1 5.0.7
traefik kube-system 1 2020-01-08 05:24:20.987390979 +0000 UTC deployed traefik-1.81.0 1.7.19

注意:traefik是k3s内置的ingress-controller,但是默认通过Helm安装,所以这里我们可以读取到,请不要误删。

针对Helm的使用,k3s还有另外一种方式,就是通过“Auto-Deploying Manifests”功能来部署chart,当然它需要我们使用自定义CRD进行描述。这是k3s通过内置了一个自己实现的helm controller(https://github.com/rancher/helm-controller)来实现的,为了同时兼容Helm3和Helm2,我们增加了helmVersion进行说明,比如:


# 默认使用helm3,如使用helm2则指定helmVersion
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
name: grafana
namespace: kube-system
spec:
chart: stable/grafana
helmVersion: v2
targetNamespace: monitoring
set:
adminPassword: "NotVerySafePassword"
valuesContent: |-
image:
tag: master
env:
GF_EXPLORE_ENABLED: true
adminUser: admin
sidecar:
datasources:
enabled: true

此处更详细的信息,请参考官方文档:

https://rancher.com/docs/k3s/latest/en/advanced/

pause容器问题

我们都知道Kubernetes的Pod都需要一个pause镜像,此前的k3s版本使用的是gcr仓库的pause镜像,这增加了国内用户初次安装的难度,体验并不友好。新版本对此进行了优化,已经将pause镜像的地址配置使用DockerHub,这样对于刚接触k3s的用户来说,极大降低了初次部署的难度:

$ crictl images | grep pause
IMAGE TAG IMAGE ID SIZE
docker.io/rancher/pause 3.1 da86e6ba6ca19 327kB

关于这一issue更详细的说明,请参考:

https://github.com/rancher/k3s/issues/1128

其他

k3s内置实现了svclb,换言之,用户可以无需其他配置就能够使用type=Loadbalancer的service。在此前的版本中UDP端口的使用存在一些问题,此版本中进行了修复:

https://github.com/rancher/k3s/issues/577

k3s内置部署了metric-server,方便用户查看各种资源的度量信息。在此前的版本中,有用户反馈metrics信息查不到的情况,经过排查发现是部分架构的metric-server镜像没有推送完整,导致可能使用非amd64的镜像出现问题。在这一版本中也已经修复:

https://github.com/rancher/k3s/issues/1189

更多其他issue,请查看milestone:

https://github.com/rancher/k3s/milestone/13?closed=1

关于新版本的更多信息,请查阅Release Note:

https://github.com/rancher/k3s/releases/tag/v1.17.0+k3s.1

后 记

k3s发布至今,一直保持高速发展的态势。去年11月中旬发布了GA版本,Github Star数已经超过11,000。也有用户开始在生产环境中尝试使用k3s并且取得了不错的效果。作为一个发布不到一年的开源产品,固然不完美,也因此遭受了诸多质疑甚至谩骂攻击,我们十分理解用户的心情,也会坚守技术创新的初心。k3s的研发团队也在不断努力,针对社区用户提出的问题以及诸如边缘计算、嵌入式设备、CI环境等实际使用场景对k3s进行优化和完善。同时,我们非常欢迎各路豪杰参与k3s的改进。

k3s Github:

https://github.com/rancher/k3s

k3s新版本发布!支持Helm3!还有其他重要更新Highlight!的更多相关文章

  1. TarsGo新版本发布,支持protobuf,zipkin和自定义插件

    本文作者:陈明杰(sandyskies) Tars是腾讯从2008年到今天一直在使用的后台逻辑层的统一应用框架,目前支持C++,Java,PHP,Nodejs,Golang语言.该框架为用户提供了涉及 ...

  2. Kube-OVN1.5.0新版本发布,支持鲲鹏云平台网络平面部署

    近日,Kube-OVN发布了最新的1.5.0版本.自2019年4月开源以来,Kube-OVN经历了15次重要版本迭代,以及社区成立,建设者贡献代码,稳定性测试,国内外用户开始在生产环境中投入使用,企业 ...

  3. 深蓝词库转换2.5发布——支持微软五笔,支持Linux和macOS和更多命令行功能

    最近利用晚上的时间,对很久没有新版本发布的深蓝词库转换进行了版本升级.本次升级主要包含的功能包括: 一.支持Win10自带的微软五笔输入法用户自定义短语的导入导出. 1.在转换输入法词库列表中选择“W ...

  4. [转帖]2018年的新闻: 国内首家!腾讯主导Apache Hadoop新版本发布

    国内首家!腾讯主导Apache Hadoop新版本发布   https://blog.csdn.net/weixin_34194317/article/details/88811258 腾讯也挖了很多 ...

  5. TensorFlow 1.2.0新版本完美支持Python3.6,windows在cmd中输入pip install tensorflow就能下载应用最新tensorflow

    TensorFlow 1.2.0新版本完美支持Python3.6,windows在cmd中输入pip install tensorflow就能下载应用最新tensorflow 只需在cmd中输入pip ...

  6. EditPlus 5.0 中文版已经发布(3月26日更新)

    注意:新版本不再支持旧的注册码! 新特性: - Ctrl+Alt+Up/Down 键可添加多个插入点以及进行列选择 - Alt+鼠标点击可添加多个插入点 - 连续执行“选择单词”命令可将多个选中项添加 ...

  7. sp_configure错误:不支持对系统目录进行即席更新。

    今天在一台数据库服务器上(Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)     Standard Edition (64-bit))使 ...

  8. 遇到问题----java----myeclipse或者eclipse发布的项目时配置文件不更新或者无配置文件

    myeclipse或者eclipse发布的项目时配置文件不更新或者无配置文件. 正常的web项目有目录 src/main/resources 和 src/main/java 这两个目录默认在编译发布时 ...

  9. DevEco Device Tool 3.0 Release 新版本发布,支持多人共享开发

    DevEco Device Tool 是面向智能设备开发者提供的一站式集成开发环境,支持 HarmonyOS Connect 的组件按需定制,支持代码编辑.编译.烧录和调试.性能监测等功能,支持 C/ ...

随机推荐

  1. 洛谷$P$4301 $[CQOI2013]$新$Nim$游戏 线性基+博弈论

    正解:线性基 解题报告: 传送门! 这题其实就是个博弈论+线性基,,,而且博弈论还是最最基础的那个结论,然后线性基也是最最基础的那个板子$QwQ$ 首先做这题的话需要一点点儿博弈论的小技能,,,这题的 ...

  2. 洛谷P1220 关路灯 题解 区间DP

    题目链接:https://www.luogu.com.cn/problem/P1220 本题涉及算法:区间DP. 我们一开始要做一些初始化操作,令: \(p[i]\) 表示第i个路灯的位置: \(w[ ...

  3. day5 函数和参数

    函数就是最基本的一种代码抽象的方式 定义一个函数使用def语句 def my_abs(x): if x >= 0: return x else: return -x 定义一个什么事也不做的空函数 ...

  4. 开源工具abaplint的介绍

    长期以来,SAP提供的标准ABAP开发工具是我们对代码进行检查的唯一方式.这意味着我们只能对ABAP服务器上的ABAP代码做出分析,而离线代码则成为了纯粹的文本,开发者无法对其进行检查.abaplin ...

  5. Java环境准备

    电脑重装系统了,所以需要重新配置环境变量. 首先必备工具:jak.eclipse.maven.tomcat 首先配置Java运行环境. 在系统环境变量中新建变量JAVA_HOME:jdk所在的路径,P ...

  6. 结合docker发布后端项目(基于gradle包管理)的shell脚本

    结合docker发布后端项目(基于gradle包管理)的shell脚本 本教程依据个人理解并经过实际验证为正确,特此记录下来,权当笔记. 注:基于linux操作系统(敏感信息都进行了处理) 目前主流的 ...

  7. 观察者模式的应用:Winform窗体之间传值

    观察者模式的应用:Winform窗体传值 观察者模式的概念: 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并更新. 今天我们就学着用一下这个观察者模式,先想象 ...

  8. Android反编译三件套 apktool 、dex2jar、jd-gui

    1.还是老话下载三件套(点击下载) 或者自己在百度搜索下载 2.使用apktool反编译apk cd到D:\TESTCODE\android\android反编译三件套目录下 输入java -jar ...

  9. 浏览器应用集成嵌入WPS指南

    因为该WPS插件使用NPAPI机制来和浏览器交互,故要求使用插件的浏览器必须支持NPAPI机制且必须开启NPAPI机制. 以下是支持的常见的浏览器及其版本: FireFox浏览器52及小于52的版本( ...

  10. 最短路Dijkstra算法模板

    // // dijkstra妯℃澘.cpp // algorithm // // Created by david.xu on 2018/8/6. // Copyright 漏 2018骞?david ...