1.服务器配置要求
- 一台或者多台服务器,操作系统Centos7;
- 硬盘配置:内存4G,CPU4核,硬盘100G;
- 集群中所有机器之间网络互通;
- 可以访问外网,因为需要拉取镜像;
- 关闭swap分区;
2. 搭建k8s集群部署方式
目前生产环节部署k8s集群主要有两种方式:
- kubeadm:kubeadm是一个k8s部署工具,提供kubeadmin init和kubeadm join,用于快速部署k8s集群;官网地址:Kubeadm | Kubernetes
- 二进制包:从GitHub下载发行部的二进制包,手动部署每个组件,组成k8s集群;
说明:Kubeadm降低部署门槛,但是屏蔽了很多细节,问题很难排查。如果想要更可控,推荐使用二级制包部署k8s集群,虽然手动部署麻烦点,期间可以学习很多工作原理,也有利于后期维护。
3. 搭建k8s集群准备环境
3.1 准备环境
* 服务器1:192.168.23.12 k8s-master
* 服务器2:192.168.23.9 k8s-node1
* 服务器3:192.168.23.10 k8s-node2
3.2 防火墙管理
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #禁止防火墙开机自启
sed -i 's/enforcing/disabled/' /etc/selinux/config #永久关闭selinux
setenforce 0 #临时关闭selinux
3.3 关闭swap
sed -ri 's/.*swap.*/#&/' /etc/fstab #永久关闭swap分区
swapoff -a #临时关闭swap分区
3.4 设置主机名以及修改host
hostnamectl set-hostname k8s-master #192.168.23.12机器上设置主机名
hostnamectl set-hostname k8s-node1 #192.168.23.9设置
hostnamectl set-hostname k8s-node2 #192.168.23.10设置
cat >> /etc/hosts << EOF
192.168.23.12 k8s-master
192.168.23.9 k8s-node1
192.168.23.10 k8s-node2
EOF
3.5 将桥接的ipv4流量传递到iptables的链
在每个节点添加如下命令:
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
vm.swappiness = 0
EOF
modprobe br_netfilter #加载br_netfilter模块
lsmod | grep br_netfilter #查看是否加载
sysctl --system #生效
3.6 ntp时间同步
在每个节点添加时间同步:
yum install ntpdate -y
ntpdate time.windows.com
3.7 开启ipvs
yum -y install ipset ipvsadmin #在每个节点安装ipset和ipvsadmin
若提示:No package ipvsadmin available,在http://www.rpmfind.net/linux/rpm2html/search.php?query=ipvsadm(x86-64)下载ipvsadm-1.27-8.el7.x86_64.rpm后上传安装。
rpm -ivh ipvsadm-1.27-8.el7.x86_64.rpm #ipvsdm安装
yum -y install lrzsz #安装rz,sz命令
#在所有节点执行如下脚本:
cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF
#授权、运行、检查是否加载:
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4
单独检查是否加载的命令:
lsmod | grep -e ip_vs -e nf_conntrack_ipv4

原创文章,作者:jacky,如若转载,请注明出处:https://kubiyun.com/archives/365
评论列表(1条)
How are you?