k8s搭建-新建虚拟机及前置配置(一)
新建虚拟机及前置配置1、虚拟机及系统版本VMWare15+centOS72、安装后静态ip配置2.1 修改网络配置文件命令:vim /etc/sysconfig/network-scripts/ifcfg-eno16777736修改后的内容如下:TYPE="Ethernet"BOOTPROTO="static"#修改为staticDEFROUTE="yes"PEERDNS="yes"PEERROU
新建虚拟机及前置配置
1、虚拟机及系统版本
- VMWare15+
- centOS7
2、安装后静态ip配置
2.1 修改网络配置文件
命令:
vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
修改后的内容如下:
TYPE="Ethernet"
BOOTPROTO="static" #修改为static
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="eno16777736"
UUID="d778e1f1-6208-4d49-8c15-32df426daf2b"
DEVICE="eno16777736"
ONBOOT="yes"
IPADDR="192.168.200.110" #配置ip
NETMASK="255.255.255.0"
GATEWAY="192.168.200.2"
DNS1="192.168.200.2"
DNS2="8.8.8.8"
重启网络服务
service network restart
3、禁用防火墙
3.1 停止firewall
systemctl stop firewalld.service
3.2 查看防火墙状态
firewall-cmd --state
3.3 禁止firewall开机启动
systemctl disable firewalld.service
4、禁用SELinux
建议在主机上禁用SELinux,让容器可以读取主机文件系统
命令:
vim /etc/sysconfig/selinux
修改后:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
5、关闭swap
swapoff -a
删除swap相关行 /mnt/swap swap swap defaults 0 0 这一行或者注释掉这一行
vim /etc/fstab
查看内存说明
free -m
仅在内存不足的情况下–当剩余空闲内存低于vm.min_free_kbytes limit时,使用交换空间
vim /etc/sysctl.conf
修改内容:
vm.swappiness = 0
使配置生效
sysctl -p
6、配置k8s内核
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system
7、查看cggroup
查看linux是否启用了linux cgroups
cat /boot/config-`uname -r` | grep CGROUP
CONFIG_CGROUPS=y
#CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_SCHED=y
CONFIG_BLK_CGROUP=y#CONFIG_DEBUG_BLK_CGROUP is not set
CONFIG_NETFILTER_XT_MATCH_CGROUP=m
CONFIG_NET_CLS_CGROUP=y
CONFIG_NETPRIO_CGROUP=m
7.1、检查CGROUP参数
确认是否开启CONFIG_CGROUP_PIDS=y
7.2、查看当前内核版本
uname -r
uname -a
cat /etc/redhat-release
7.3、升级内核(若内核4+,可忽略该步骤)
7.3.1、更新yum源仓库
yum -y update
7.3.2、启用 ELRepo 仓库
ELRepo 仓库是基于社区的用于企业级 Linux 仓库,提供对 RedHat Enterprise (RHEL) 和 其他基于 RHEL的 Linux 发行版(CentOS、Scientific、Fedora 等)的支持。
ELRepo 聚焦于和硬件相关的软件包,包括文件系统驱动、显卡驱动、网络驱动、声卡驱动和摄像头驱动等。
- 导入ELRepo仓库的公共密钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
- 安装ELRepo仓库的yum源
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
7.3.3、查看可用的系统内核包
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
7.3.4、安装最新版本内核
yum --enablerepo=elrepo-kernel install kernel-ml
--enablerepo
选项开启 CentOS 系统上的指定仓库。默认开启的是 elrepo
,这里用 elrepo-kernel
替换。
7.3.5、设置 grub2
内核安装好后,需要设置为默认启动选项并重启后才会生效
查看系统上的所有可用内核:
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
设置新的内核为grub2的默认版本
服务器上存在4 个内核,我们要使用最新版本,可以通过 grub2-set-default 0
命令或编辑 /etc/default/grub
文件来设置
方法1、通过 grub2-set-default 0
命令设置
grub2-set-default 0
其中 0 是上面查询出来的可用内核
方法2、编辑 /etc/default/grub
文件
vim /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
生成 grub 配置文件并重启
grub2-mkconfig -o /boot/grub2/grub.cfg
7.3.6、一键部署脚本
#!/bin/bash
yum -y update
if [ $? = 0 ];then
echo "更新yum源仓库完成"
else
echo "更新yum源仓库失败,正在退出..."
exit 1
fi
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
if [ $? = 0 ];then
echo "导入ELRepo仓库的公共密钥完成"
else
echo "导入ELRepo仓库的公共密钥失败,正在退出..."
exit 1
fi
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
if [ $? = 0 ];then
echo "安装ELRepo仓库的yum源完成"
else
echo "安装ELRepo仓库的yum源失败,正在退出..."
exit 1
fi
yum -y --enablerepo=elrepo-kernel install kernel-ml
if [ $? = 0 ];then
echo "安装最新版本内核完成"
else
echo "安装最新版本内核失败,正在退出..."
exit 1
fi
grub2-set-default 0
if [ $? = 0 ];then
echo "设置最新版本内核完成"
else
echo "设置最新版本内核失败,正在退出..."
exit 1
fi
grub2-mkconfig -o /boot/grub2/grub.cfg
if [ $? = 0 ];then
echo "设置 grub2完成"
else
echo "设置 grub2失败,正在退出..."
exit 1
fi
echo "查看系统上的所有可用内核:"
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
8、重启Linux
reboot
9、验证
uname -r
10、删除旧内核(可选)
查看系统中全部的内核:
rpm -qa | grep kernel
方法1、yum remove 删除旧内核的 RPM 包
yum remove <包名>
方法2、yum-utils 工具
如果安装的内核不多于 3 个,yum-utils
工具不会删除任何一个。只有在安装的内核大于 3 个时,才会自动删除旧内核。
安装yum-utils
yum install yum-utils
删除旧版本
package-cleanup --oldkernels
更多推荐
所有评论(0)