目录
- 一、概述
- 二、硬件配置
- 三、环境配置
-
-
- 1、master、node节点分别修改主机名
- 2、master、node节点主机名称解析
- 3、保证各个主机之间ssh免密登录
- 4、master、node节点关闭防火墙、SElinux、swap,安装支持桥接网络模块
- 5、master、node节点部署ipvs
- 6、master、node节点安装docker-ce并配置group,安装版本19.03
- 7、master、node节点安装kubelet、kubeadm、kubectl
- 8、master初始化kubernetes集群
- 9、master添加网络模型,选择flannel网络模型(弃用,选择安装网络模型参照 问题-2)
- 10、node节点加入到集群中(添加命令在初始化过程中生成)
-
- 四、问题整理及解决方案
一、概述
测试服务器部署kubernetes集群,三台主机搭建简化版集群,1master节点2node节点,因master节点为单节点,博客内容中删减了多master节点部署时配置keepalived和haproxy过程,后期需要,将会添加。
二、硬件配置
kube-master 192.168.239.225 centos7.8 master 8核 8G 500G
kube-node1 192.168.239.226 centos7.8 node1 16核 16G 500G
kube-node2 192.168.239.227 centos7.8 node2 16核 16G 500G
三、环境配置
1、master、node节点分别修改主机名
hostnamectl set-hostname kube-master
hostnamectl set-hostname kube-node1
hostnamectl set-hostname kube-node2
2、master、node节点主机名称解析
vim /etc/hosts
添加:
192.168.239.225 kube-master
192.168.239.226 kube-node1
192.168.239.227 kube-node2
3、保证各个主机之间ssh免密登录
ssh-keygen -t rsa
ssh-keygen -t dsa
ssh-copy-id root@192.168.239.225
4、master、node节点关闭防火墙、SElinux、swap,安装支持桥接网络模块
# 关闭SElinux,
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
# centos7用户还需要设置路由:
yum install -y bridge-utils.x86_64
modprobe br_netfilter # 加载br_netfilter模块,使用lsmod查看开启的模块
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system # 重新加载所有配置文件
systemctl disable --now firewalld # 关闭防火墙
# k8s要求关闭swap (qxl)
swapoff -a && sysctl -w vm.swappiness=0 # 关闭swap
sed -ri '/^[^#]*swap/s@^@#@' /etc/fstab # 取消开机挂载swap
5、master、node节点部署ipvs
yum install -y ipset ipvsadm
默认加载所有模块,使用以下命令查询
lsmod | grep ip_vs
如未查询到加载模块,可以手动添加加载
# 添加需要加载的模块
cat <<EOF > /etc/sysconfig/modules/ipvs.modules
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF
# 授权、运行、检查是否加载
chmod +x /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4
nf_conntrack_ipv4 15053 0
nf_defrag_ipv4 12729 1 nf_conntrack_ipv4
ip_vs_sh