陈奇网络工作室

【K8s超级补丁】KLTS新手攻略:KLTS现有成果、如何使用、路线图规划,如何参与到KLTS项目贡献中来?

本文目录

显示

1.

01 KLTS现有成果

2.

一键安装即可尽享KLTS维护版本

3.

03 KLTS未来可期

4.

快来参与贡献KLTS的明天就在你手中

4.1.

推荐阅读

欢迎来到?KLTS新手攻略,相信通过上期《DaoCloud道客云原生开源项目KLTS,全称为Kubernetes Long Term Support,为Kubernetes早期版本提供长期免费的维护支持》 ,大家对KLTS开源项目都有了一定的了解。

KLTS持续维护库伯内特斯早期发行的版本,定期修复常见的CVE漏洞和bug,可直接用于生产,完全开源,包含了完整的库伯内特斯运行时环境及其依赖100万KLTS .提供的维护版本,可以说是库伯内特斯早期发行的版本的超级补丁。

如何使用?如何可持续的发展和培育KLTS?接下来就为大家详细介绍一下,KLTS现有成果、如何使用、路线图规划,以及如何参与到KLTS项目贡献中来。

01 KLTS现有成果

KLTS已经正式上线一段时间了,目前KLTS的维护者包括库伯内特斯社区成员、审核人、批准人各个层级的成员,涉及到社区中多个签名。与之对应的,他们也是KLTS的成员、审核者、维护者。

目前,在KLTS成员的辛勤维护下,目前KLTS发布了Its.1的版本内容,支持库伯内特1.10~1.19的10个版本。修复了一些中高优先级的CVE和严重问题,还提供了国内镜像加速,支持CentOS和人的本质操作系统,定制了一键安装脚本,目前共计76 个PRs。

如下图所示,V1.16.15是库伯内特斯的社区发行版本号,而lts.0是KLTS提供的补丁版本号。

一键安装即可尽享KLTS维护版本

为方便广大开发者进入社区后,更便捷安装和使用版本内容,KLTS提供了以下脚本,可以自动完成安装流程,一键到位,方便快捷。

wget https://github.com/klts-io/klts/raw/main/install.sh

chmod x install.sh。/install.sh

用法:/install。sh[选项]

-h,-救命:显示此帮助并退出

-Kubernetes-container-registry=ghcr。io/klts-io/Kubernetes-lts:Kubernetes容器注册表

-kubernetes-version=1。18 .20码。1:要安装的库伯内特斯版本

-containerd-version=1。3 .10码。0:要安装的容器d版本

- runc-version=1.0.2-lts.0:要安装的runc版本

-Kubernetes-RPM-source=https://github。com/klts-io/Kubernetes-lts/raw/RPM-v 1。18 .20码。0:Kubernetes RPM源

-容器d-RPM-source=https://github。com/klts-io/container d-lts/raw/RPM-v1。3 .10码。0:容器d RPM源

-Runc-RPM-source=https://github。com/klts-io/Runc-lts/raw/RPM-v 1。0 .两个lts。0:运行转速源

-其他-rpm-source=https://github。com/klts-io/其他/raw/RPM:其他每分钟转数源

-Kubernetes-DEB-source=https://github。com/klts-io/Kubernetes-lts/raw/de b-v 1。18 .20码。0:Kubernetes DEB来源

-集装箱d-de b-source=https://github。com/klts-io/container d-lts/raw/de b-v 1。3 .10码。0:容器d DEB源

-Runc-DEB-source=https://github。com/klts-io/Runc-lts/raw/de b-v 1。0 .两个lts。0:Runc DEB源

-其他-deb-source=https://github。com/klts-io/others/raw/DEB:其他黛比来源

-Focus=enable-iptables-discover-bridged-traffic、disable-swap、disable-selinux、setup-source、install-kubernetes、install-containerd、install-runc、install-crictl、install-cniplugins、setup-crictl-config、setup-containerd-cni-config、setup-ku delete-config、setup-containerd-config、daemon-reload、start-containerd、status-containerd、enable-containerd、start-kubelet、status-kubelet、enable

- skip=\'\ '跳过特定步骤

此外,对于想要了解安装细节和准备工作流程的伙伴,我们准备了下列比较详细的安装介绍。

2.1 准备工作

1)准备一台兼容的Linux操作系统操作系统主机库伯内特斯项目为基于一种自由操作系统和红衣主教的Linux操作系统操作系统发行版以及一些不提供包管理器的发行版提供通用的指令。

2)每台主机至少有2 GB以上的内存(如果内存太少会影响应用的运行)和2个以上的CPU核心。

3)群集中所有主机的网络连接(公共网络和内部网)

4)单个节点上不能有重复的主机名、MAC地址或product_uuid。请参考确保每个节点上MAC地址和product_uuid的唯一性。

5)打开主机上的一些端口。请参考检查所需端口。

6)禁用交换分区。为了让kubelet正常工作,您必须禁用交换分区。2.2保证每个节点上MAC地址和product_uuid的唯一性。

使用命令ip link或ifconfig -a获取网络接口的MAC地址。

使用su docat/sys/class/DMI/id/product_uuid命令验证product _ uuid。

一般来说,硬件设备都有唯一的地址,但是有些虚拟机的地址可能是重复的。Kubernetes使用MAC地址和product_uuid来确定集群中的唯一节点。如果这些值在每个节点上不是唯一的,安装可能会失败。安装失败:

https://github.com/kubernetes/kubeadm/issues/312.3,检查网络适配器。

如果您有多个网络适配器,并且您的Kubernetes组件在默认路由下不可达,我们建议您提前添加IP路由规则,以便Kubernetes集群可以通过相应的适配器完成连接。2.4允许iptables检查桥接流量。

确保br_netfilter模块已加载。这可以通过运行lsmod | grep br_netfilter来完成。要显式加载该模块,请执行命令sudo modprobe br_netfilter。

为了让Linux节点上的iptables正确地查看桥接的流量,您需要确保net。在sysctl配置中,bridge.bridge-nf-call-iptables设置为1。例如:

cat EOF | sudo tee/etc/modules-load . d/k8s . conf

br _网络过滤器

文件结束

cat EOF | sudo tee/etc/sysctl . d/k8s . conf

net . bridge . bridge-nf-call-IP 6 tables=1

net . bridge . bridge-nf-call-iptables=1

文件结束

sudo系统

有关更多详细信息,请参考网络插件要求页面。网络插件要求:

https://kubernetes . io/zh/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/# network-plugins-requirements 2.5检查所需的端口。

控制平面节点

工作节点

以上是NodePort服务的默认端口范围。节点端口服务:

https://kubernetes . io/zh/docs/concepts/services-网络/服务/

任何标有*的端口号都可能被覆盖,因此您需要确保自定义端口是打开的。

尽管控制平面节点已经包含etcd端口,但您也可以使用自定义外部etcd集群或指定自定义端口。

您正在使用的Pod网络插件(见下文)可能也需要打开某些端口。由于每个Pod网络插件不同,请参考相应文档中的端口要求。

2.6设置节点名称

该命令的语法格式如下:

主机名ctl set-hostname您的新主机名

echo '127.0.0.1 $(主机名)'/etc/hosts

echo '1 $(主机名)'/etc/hosts

2.7关闭交换

执行以下命令关闭Swap:

swapoff -a

如果需要永久关闭,请编辑/etc/fstab文件,并将swap的挂载路径更改为comments。

2.8关闭Selinux

执行以下命令关闭Selinux:

setenforce 0

如果需要永久关闭,请编辑/etc/sysconfig/selinux,用SELINUX=disabled替换SELINUX=enforcing。2.9安装运行时

为了在Pod中运行容器,Kubernetes使用了容器运行时。

Linux节点

默认情况下,Kubernetes使用容器运行时接口(CRI)与您选择的容器运行时进行交互。

如果不指定运行时,kubeadm将通过扫描一组众所周知的Unix域套接字,自动尝试检测系统上安装的运行时。

下表列出了一些容器运行时及其对应的套接字路径:

如果同时检测到docker和Containerd,则Docker是首选。这是不可避免的,即使你只安装了Docker,因为Docker 18.09自带了Containerd,两者都可以检测到。如果检测到两个或更多其他运行时,kubeadm会输出一条错误消息并退出。

Kubelet通过内置的Dockers HimmCRI与Docker集成。

其他操作系统

默认情况下,kubeadm使用docker作为容器运行时。Kubelet通过内置的Dockers HimmCRI与Docker集成。

码头工人

基于Red Hat的分发

执行以下命令来安装基于Red Hat发行版的Docker:

yum安装docker

基于Debian的发行版

执行以下命令来安装基于Debian发行版的Docker:

apt-get安装docker.io

集装箱d

默认情况下,Containerd只提供amd64架构的下载包。如果使用其他基础设施,可以安装Docker官方仓库的containerd.io包。在安装Docker引擎中找到关于设置Docker存储库和为各自的Linux发行版安装containerd.io软件包的说明。

您还可以使用以下源代码来构建:

版本=1.5.4

wget-c https://github . com/container d/container d/releases/download/v $ { VERSION }/container d-$ { VERSION }-Linux-amd64 . tar . gz

tar xvf container d-$ { VERSION }-Linux-amd64 . tar . gz-C/usr/local/

mkdir/etc/containerd/containerd配置默认值/etc/containerd/config.toml

wget-c-O/etc/systemd/system/container d . service https://raw . githubusercontent . com/container d/container d/main/container d . service

系统启动容器启用容器

有关更多信息,请参见容器运行时。容器运行时:

https://kubernetes . io/zh/docs/setup/production-environment/container-runtimes/

03 KLTS未来可期

目前KLTS发布的一个版本已经包含了避免内核内存泄露的重要解决方案,以及多个高危漏洞的修复。为了方便用户,一键安装脚本已经可以支持最常用的Centos和Ubuntu,另一个是国内已经配置了镜像加速。

KLTS的路线图主要是针对当前项目的完整性、易用性和新创场景覆盖。此外,还会结合各种升级需求,包括跨版本平滑升级。

在完整性方面,我们计划加入containerd和runc的LTS项目,因为containerd的版本和Kuberents的版本之间存在兼容性问题,比如Containerd的1.4版本需要Kuberents的1.19版本。详细内容请参考https://github.com/klts-io/containerd-lts,的项目介绍,会有这方面的介绍。

在可用性方面,我们很多客户都是离线的,所以离线环境的安装和升级是一个亟待解决的问题。

在新创层面,随着国内新创云的不断发展,这个方向的需求也在增加,未来我们会逐步完成对各种新创场景的支持。

此外,KLTS将根据新用户的需求更新和改进我们的路线图。

来投稿吧。KLTS的未来掌握在你的手中。

加入社区的伙伴可以点击首页的project一栏,页面下方的任务广告牌可以查看已有的任务内容。通过参与公共关系审核/问题回复/文档、维护CI健康、使用新版本和提供反馈来参与社区贡献。

此外,KLTS还有两周一次的会议,通常涉及功能和问题的讨论。如:跟踪上一次周会行动项目的进展,是否有新的发布和未决事项,添加CVE和问题讨论,以及其他主题。如果你有什么想法、需求或者反馈,可以在github和slack的周会上积极提问,提出建议。会议时间为周三下午2点,相关话题会提前加入周会链接。每周会议链接:

https://meeting.tencent.com/dm/PkJXF9cytpxe's怀抱的木头终于诞生了,而KLTS却方兴未艾。期待广大秉持自由软件精神,有浪漫想法的开发者加入KLTS开源社区,共同贡献,共同耕耘,结出累累硕果。

加入https://github.com/klts-io/. KLTS社区

加入KLTS Slack聊天频道https://join.slack.com/t/klts/shared _邀请/ZT-za 36806 q-6 pwb _ yrry 9 RP 78 oryvonig。

当然也可以加入DaoCloud道客云原生交流群参与交流互动:

(企业)微信扫码加盟

DaoCloud公司简介:DaoCloud道客,云原生领域的创新领导者,成立于2014年底。拥有自主知识产权的核心技术,致力于打造开放的云原生操作系统,为企业数字化转型赋能。产品能力覆盖云原生应用开发、交付、运维的全生命周期,提供公有云、私有云、混合云等多种交付方式。公司自成立以来,深耕金融科技、先进制造、智能汽车、零售网点、城市大脑等领域。其标杆客户包括交通银行、浦发银行、上汽集团、东风汽车、海尔集团、屈臣氏、金拱门(麦当劳)等。目前公司已完成超亿元的D轮融资,被誉为科技领域的准独角兽企业。公司在北京、武汉、深圳、成都设立了多家分公司和合资企业,员工总数超过350人。是上海市高新技术企业、上海市“科技巨人”企业、上海市“专业化创新型”企业,并被纳入科技创新板培育企业名单。

西部数码代理(chenqinet.cn)是工信部批准的正规老牌云服务商,拥有ISP、云牌照、IDC、CDN全业务资质。自成立以来,二十多年来一直专注于域名注册,虚拟主机云服务器,企业邮箱,企业网站建立等互联网基础服务!

公司开发的云计算平台以便捷、高效、高性价比、意想不到的售后优势占领市场,跻身国内前三的接入服务商,为国内超过50万家网站提供高速稳定的托管服务!先后荣获中国高新技术企业、中国优秀云计算服务商、中国十大IDC企业、中国最受欢迎云服务商等称号!

目前西部数码代理高性能云服务器在售,最低仅售48元!

http://zhuji.chenqinet.cn/cloudhost/

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3