Table of Contents
简介
本章节主要讲解在安装部署k8s-1.29.4环境之前的一些软件、环境调优的准备工作,本篇采用k8s二进制安装的方式进行部署,该环境是根据在用的一个30节点左右的k8s集群部署流程进行文章整理。
一.资源及软件准备
1.1.机器资源信息
资源说明:列出其中一部分IP和资源,集群规模大概在30个节点左右,单台机的配置大概是24核192G,2T的盘。
角色 | ip | 主机名 |
---|---|---|
master | 10.16.120.81 | pc-k8s-master-vm120-81 |
master | 10.16.120.82 | pc-k8s-master-vm120-82 |
master | 10.16.120.83 | pc-k8s-master-vm120-83 |
worker | 10.16.120.84 | pc-k8s-master-vm120-84 |
worker | 10.16.120.85 | pc-k8s-master-vm120-85 |
1.2.软件列表
软件版本说明,可以根据软件版本及指引提前将软件进行下载准备,将以下用到的软件下载在一个统一的目录下,并上传到master节点上去。
软件 | 版本 | 说明 | 备注 |
---|---|---|---|
系统 | unbutu-22.4 | 内核:5.15 | https://www.kernel.org/ |
kubernetes | v1.29.4 | https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md | |
etcd | v3.5.13 | https://github.com/etcd-io/etcd/releases | |
containerd | v1.7.16 | 下载cri版的cri-containerd-1.7.16-linux-amd64.tar.gz | https://github.com/containerd/containerd/releases/ |
cilium | v1.15.4 | https://github.com/cilium/cilium | |
ingress | v1.10.1 | kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.1/deploy/static/provider/cloud/deploy.yaml | |
coredns | v1.11.2 | coredns v1.11.2 | |
metallb | v0.14.5 | https://raw.githubusercontent.com/metallb/metallb/v0.14.5/config/manifests/metallb-native.yaml | |
cfssl | v1.6.1 | https://github.com/cloudflare/cfssl | |
helm | v3.14.4 | https://github.com/helm/helm/releases/latest |
1.2.网络规划
软件说明:
名称 | 网段 | 备注 |
---|---|---|
apiserver-vip | 10.16.120.80 | |
service网段 | 10.1.0.0/16 | |
pod网段 | 10.2.0.0/16 | |
coredns的service IP | 10.1.0.2 |
1.2.安装路径
软件说明:
名称 | 路径 | 备注 |
---|---|---|
kubernetes | /opt/kubernetes/{conf,bin,ssl,logs} | |
etcd | /opt/etcd/{conf,bin,ssl,logs} | |
containerd | /etc/containerd/config.toml |
二.系统初始化环境
2.1.内核升级
内核升级说明:
2.2.软件安装
软件安装说明:
sudo apt-get install wget vim net-tools jq telnet lvm2 git tar curl nfs-kernel-server chrony ipvsadm ipset sysstat conntrack -y
2.2.系统初始化
1.禁用防火墙
2.关闭swap
3.设置时间同步,检查时区、设置成24小时制
4.修改dns,一行一条命令
5.先检查编码相关配置,没有的话,编辑/etc/default/locale并添加如下信息
6.在/etc/hosts中配置主机名的映射
10.16.120.81 yt-pcauto-k8s.pc.com.cn #域名对应的是apiserver的vip,当配置好vip以后,改解析到正确的vip上
10.16.120.81 yt-pcauto-k8s-16-120-81
10.16.120.82 yt-pcauto-k8s-16-120-82
10.16.120.83 yt-pcauto-k8s-16-120-83
10.16.120.84 yt-pcauto-k8s-16-120-84
2.2.内核模块配置
配置一些需要的内核模块
配置后执行:lsmod | grep -e ip_vs -e nf_conntrack
结果如下:
2.3.内核参数优化
内核参数优化
文件句柄调优