《Kubernetes部署篇:基于containerd部署k8s安装流程及软件包下载》

一、背景

对于一些初学kubernetes者,安装kubernetes不是一件简单的事,这里就简单介绍基于containerd容器版K8S安装流程及安装心得,希望能够给大家带来一些帮助!

环境信息如下:

操作系统 CPU架构 K8S版本 容器引擎
Ubuntu 20.04.5 LTS x86_64 v1.24.7、v1.25.14、v1.26.9 containerd

二、安装流程

2.1、使用kubeadm基于外部etcd

1、系统环境初始化,主要包括 主机名设置、主机hosts解析、关闭防火墙、关闭swap分区、修改系统参数、时间时区同步、修改内核参数、启用ipvs模式
2、安装二进制etcd,主要包括: 手动生成etcd相关证书、安装etcd单机或集群
3、安装containerd容器引擎,可使用 apt工具或二进制安装方式
4、安装指定版本的kubeadm、kubelet、kubectl,可使用 apt工具或二进制方式
5、安装负载均衡高可用,可使用 Nginx + keepalived高可用负载均衡模式
6、下载K8S相关镜像, 建议使用国内阿里云镜像源下载
7、下载calcio网络插件的yml文件及镜像, 注意k8s版本与calico版本对应关系
8、安装k8s集群,主要包括master节点和worker节点, 注意提前在k8s主机上下载所需的镜像文件
9、安装calico网络插件, 注意提前在k8s主机上下载所需的镜像文件
10、k8s集群测试, 主要包括coredns测试、功能性测试、高可用测试


2.2、使用kubeadm基于内部etcd

1、系统环境初始化,主要包括 主机名设置、主机hosts解析、关闭防火墙、关闭swap分区、修改系统参数、时间时区同步、修改内核参数、启用ipvs模式
2、安装containerd容器引擎,可使用 apt工具或二进制安装方式
3、安装指定版本的kubeadm、kubelet、kubectl,可使用 apt工具或二进制方式
4、安装负载均衡高可用,可使用 Nginx + keepalived高可用负载均衡模式
5、下载K8S相关镜像, 建议使用国内阿里云镜像源下载
6、下载calcio网络插件的yml文件及镜像, 注意k8s版本与calico版本对应关系
7、安装k8s集群,主要包括master节点和worker节点, 注意提前在k8s主机上下载所需的镜像文件
8、安装calico网络插件, 注意提前在k8s主机上下载所需的镜像文件
9、k8s集群测试, 主要包括coredns测试、功能性测试、高可用测试


三、软件下载

3.1、下载问题总结

环境信息如下:

问题一:根据K8S版本如何确认需要下载哪些镜像?

思路:安装完指定版本的kubeadm后,使用kubeadm config images list

如下列表所示,列出了v1.24.17版本所需的镜像信息

registry.k8s.io/kube-apiserver:v1.24.17
registry.k8s.io/kube-controller-manager:v1.24.17
registry.k8s.io/kube-scheduler:v1.24.17
registry.k8s.io/kube-proxy:v1.24.17
registry.k8s.io/pause:3.7
registry.k8s.io/etcd:3.5.6-0
registry.k8s.io/coredns/coredns:v1.8.6

如下列表所示,列出了v.1.25.13版本所需的镜像信息

registry.k8s.io/kube-apiserver:v1.25.14
registry.k8s.io/kube-controller-manager:v1.25.14
registry.k8s.io/kube-scheduler:v1.25.14
registry.k8s.io/kube-proxy:v1.25.14
registry.k8s.io/pause:3.8
registry.k8s.io/etcd:3.5.6-0
registry.k8s.io/coredns/coredns:v1.9.3

如下列表所示,列出了v1.26.8版本所需的镜像信息

registry.k8s.io/kube-apiserver:v1.26.9
registry.k8s.io/kube-controller-manager:v1.26.9
registry.k8s.io/kube-scheduler:v1.26.9
registry.k8s.io/kube-proxy:v1.26.9
registry.k8s.io/pause:3.9
registry.k8s.io/etcd:3.5.6-0
registry.k8s.io/coredns/coredns:v1.9.3	

说明:由于国内网络无法下载,可以将镜像仓库地址换成阿里云的 registry.cn-hangzhou.aliyuncs.com/google_containers


问题二:K8S版本与containerd版本对应关系?

K8S版本 pause版本
1.24.17 3.7
1.25.14 3.8
v1.26.9 3.9

说明:根据官方文档,并没有找到v1.24版本以上的K8S与containerd版本对应关系表,按我的理解,应该是 安装containerd最新的稳定版即可,仅供参考,如果你有更好的建议,可以在底下评论区进行留言!


问题三:K8S版本与calico版本对应关系?

calico版本 calico yml文件下载 支持K8S版本
v3.24.6 calico.yml v1.22、v1.23、v1.24、v1.25
v3.25.2 calico.yml v1.23、v1.24、v1.25、v1.26
v3.26.1 calico.yml v1.24、v1.25、v1.26、v1.27

问题四:二进制安装kubeadm、kubelet、kubectl,如何进行哪些步骤?

通过使用apt工具安装kubeadm、kubelet、kubectl,发现除了本身的工具之外,还安装了一些依赖软件。这里就 以v1.24.17版本为例,如下所示:

软件名称 软件版本
kubeadm v1.24.17
kubelet v1.24.17
kubectl v1.24.17
conntrack 1.4.5
cri-tools 1.26.0
kubernetes-cni 1.2.0
socat 1.7.3
ebtables 2.0.11

3.2、K8S资源列表(稳定版)

这里分享一个github下载加速网站,如果下载很慢,可以考虑!

二进制文件 containerd
v1.24.17或者v1.24.17 1.7.0、1.7.1、1.7.2、1.7.3、1.7.4、1.7.5
v1.25.14或者v1.25.14 1.7.0、1.7.1、1.7.2、1.7.3、1.7.4、1.7.5
v1.26.9或者v1.26.9 1.7.0、1.7.1、1.7.2、1.7.3、1.7.4、1.7.5

总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:《K8S集群运维指南》

你可能感兴趣的:(《企业级K8s集群运维实战》,kubernetes,容器,云原生)