Kubernetes集群学习环境初始化脚本

最近在学习K8S部署实验环境,把搭建环境分享下。

此文只是部署环境初始化工作。具体集群的构建后面分享。

只是学习环境只有一个主机。

实验环境:

操作系统:CentOS7.9.2009

master:192.168.111.101

node-1:192.168.111.104

node-2:192.168.111.105

每个节点都需要执行初始化脚本。


完整脚本文件请在文后获取:

1、设置系统主机名

read -p "请输入主机名:" hstnhostnamectl set-hostname $hstn

2、 Host 文件各节点之间的相互解析

ifconfigread -p "请输入本机IP:" localIPecho "$localIP $hstn" >> /etc/hosts

3、配置yum阿里源加速

备份当前源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下载新的CentOS-Base.repo到/etc/yum.repos.d/

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo# 生成缓存yum clean all && yum makecache

4、安装相关软件依赖包

有一些包不是安装K8S必须的,工作中用到的,就都写在这里了,安装K8S只需要第一行的包就可以了。

yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools \git yum-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl-devel zip unzip sudo \zlib-devel iftop rsync ansible iotop htop automake autoconf libtool pcre pcre-devel nmap-ncat

5、防火墙配置

禁用firewalld防火墙

systemctl stop firewalldsystemctl disable firewalld

iptables服务配置

yum -y install iptables-servicessystemctl start iptables && systemctl enable iptables && iptables -F && service iptables save

6、关闭swap分区并且设置永久关闭

关闭swap分区可以增强Kubernetes中pod的效率

swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

关闭SELINUX服务

setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

7、为 K8S 来调整内核参数

设置内核参数文件

cat > /etc/sysctl.d/kubernetes.conf <

生效配置

sysctl -p /etc/sysctl.d/kubernetes.conf

8、调整系统时区

设置系统时区为中国/上海

timedatectl set-timezone Asia/Shanghai

将当前的UTC时间写入硬件时钟

timedatectl set-local-rtc 0

重启依赖于系统时间的服务

systemctl restart rsyslogsystemctl restart crond

9、服务优化关闭rsyslogd服务和开启 systemd journald 服务

创建持久化保存日志的目录

mkdir /var/log/journal # 持久化保存日志的目录
mkdir /etc/systemd/journald.conf.dcat > /etc/systemd/journald.conf.d/99-prophet.conf <

重启日志系统

systemctl restart systemd-journald

10、升级系统内核版本

安装Elrepo源

因为CentOS7自带的内核版本为3.10.x的系列,可能会导致运行k8s有bug

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.orgyum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

在线安装内核

yum --enablerepo=elrepo-kernel install kernel-lt -y

设置开机从新内核启动

安装完成后检查/boot/grub2/grub.cfg中,查看内核启动顺序。

awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg

手动选择启动顺序为0 表示第一个,根据时间顺序选择。

grub2-set-default 0

11、 kube-proxy 开启 ipvs 的配置

加载内核对应模块

modprobe br_netfilter

写对应配置模块脚本

cat > /etc/sysconfig/modules/ipvs.modules <

引导ipvs相关依赖模块加载

chmod 755 /etc/sysconfig/modules/ipvs.modulesbash /etc/sysconfig/modules/ipvs.moduleslsmod | grep -e ip_vs -e nf_conntrack_ipv

重启后请确定模块是否被引导

12、安装Docker

安装相关驱动

yum install -y yum-utils device-mapper-persistent-data lvm

添加docker源,采用阿里源

yum-config-manager \    --add-repo \    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

卸载已安装的docker

yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

安装docker服务

yum update -y && yum install -y docker-ce docker-ce-cli containerd.io bash-completion

创建对应目录

mkdir -p /etc/dockermkdir -p /etc/systemd/system/docker.service.d

配置daemon文件

graph :指定docker文件保存位置

registry-mirrors:使用的阿里云加速,大家可以使用自己的

cat > /etc/docker/daemon.json <

重启docker服务

sudo systemctl daemon-reloadsudo systemctl restart dockersudo systemctl enable docker

初始化完成,重新启动系统

环境初始化完成后,就可以开始部署kubernetes集群。下期分享。


完整脚本获取:

https://www.aliyundrive.com/s/U7wvUEwKYwJ
发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章