K8s集群角色 | IP | 主机名 |
控制节点 | 192.168.1.11 | hd1.com |
工作节点 | 192.168.1.12 | hd2.com |
工作节点 | 192.168.1.13 | hd3.com |
初始化安装k8s集群的实验环境
本文章内容属于前期部署,三台机器操作相同,统一参考下列命令。
1.1 修改机器IP,变成静态IP
#设置静态ip
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.11
PREFIX=24
GATEWAY=192.168.1.2
DNS1=192.168.1.2
关闭NetworkManager,重启网络
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl restart network
ping百度测试
1.2配置机器主机名,并写入hosts文件,
三台机器更名
hostnamectl set-hostname hd1.com && bash
写入hosts文件,实现相互之间通过主机名互相访问
vim /etc/hosts
192.168.1.11 hd1.com
192.168.1.12 hd2.com
192.168.1.13 hd3.com
1.3配置主机ssh免密登录
生成本地密钥对文件,并拷贝到远程主机
三台机器操作相同
ssh-keygen
ssh-copy-id hd1.com
ssh-copy-id hd2.com
ssh-copy-id hd3.com
1.4关闭交换分区swap,提高性能
临时关闭
swapoff -a
永久关闭:把swap挂载那行注释掉,或者删除
vim /etc/fstab
#/dev/mapper/centos-swap swap swap defaults 0 0
Swap是交换分区,如果机器内存不够,会使用swap分区,但是swap分区的性能较低,k8s设计的时候为了能提升性能,默认是不允许使用交换分区的。Kubeadm初始化的时候会检测swap是否关闭,如果没关闭,那就初始化失败。如果不想要关闭交换分区,安装k8s的时候可以指定--ignore-preflight-errors=Swap来解决。
1.5修改机器内核参数
modprobe br_netfilter
echo "modprobe br_netfilter" >> /etc/profile
cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sysctl -p /etc/sysctl.d/k8s.conf
1.6关闭防火墙和selinux
防火墙
systemctl stop firewalld ; systemctl disable firewalld
SELINUX
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g'
1.7配置阿里云的repo源
yum install lrzsz -y
yum install openssh-clients
wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/Centos-7.repo
配置国内阿里云docker的repo源
yum -y install yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
配置epel源
yum -y install epel-release
配置安装k8s组件需要的阿里云的repo源
vim /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=kubernetes-yum-repos-kubernetes-el7-x86_64安装包下载_开源镜像站-阿里云
enabled=1
gpgcheck=0
1.8配置时间同步
yum install -y ntpdate
ntpdate cn.pool.ntp.org
也可以将其做成计划任务
crontab -e
* */1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
service crond restart
1.9开启ipvs
把ipvs.modules上传到hd1.com机器的/etc/sysconfig/modules/目录下
[root@hd1.com]# chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep ip_vs
拷贝给其他两台并运行,三台操作相同给755权限并运行,lsmod查看。
1.10安装基础软件包
yum install -y yum-utils device-mapper-persistent-data lvm2 wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel python-devel epel-release openssh-server socat conntrack ntpdate telnet ipvsadm
到这前期环境部署基本完成,下期开始安装Docker。