一、集群配置
服务器 | CPU | 内存 | 磁盘 | 操作系统 |
k8s-master | 16核 | 16G | 60G | CentOS Linux release 7.5.1804 |
k8s-node-1 | 16核 | 16G | 60G | CentOS Linux release 7.5.1804 |
k8s-node-2 | 16核 | 16G | 60G | CentOS Linux release 7.5.1804 |
Rancher version : 2.6.3
二、环境初始化
所有服务器均执行一遍
1、将桥接的IPv4流量传递到iptables的链,并修改/etc/sysctl.conf
# 修改 /etc/sysctl.conf
cat > /etc/sysctl.conf << EFO
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EFO
# 生效,如报错可在Docker安装完成之后再执行该命令
sysctl -p /etc/sysctl.conf
2、关闭防火墙关闭swap
# 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
# 关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config && setenforce 0 # 永久
# 看/etc/selinux/config文件中SELINUX=disabled 即可
sed -i 's/permissive/disabled/' /etc/selinux/config && setenforce 0
## 关闭swap
swapoff -a && sed -ri 's/.*swap.*/#&/' /etc/fstab
3、 时间同步
# 时间同步
yum install ntpdate -y
ntpdate time.windows.com
4、设置服务器节点名称
# 设置服务器节点名称
hostnamectl set-hostname k8s-master
bash
三、docker容器安装
所有服务器均需安装
1、删除已存在的docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
2、配置repo源和epel源
先备份原来的源
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 https://mirrors.aliyun.com/repo/Centos-7.repo
或
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
运行 yum makecache 生成缓存
yum makecache
安装epel源
yum -y install epel-release
yum的'--showduplicates'选项对于显示软件包的多个版本很有用。当您有非常特定的依赖项并尝试查找要安装的软件包的特定名称时,它将起着非常大的作用
# yum list docker --show-duplicates
3、安装依赖
yum -y install yum-utils device-mapper-persistent-data lvm2
4、添加软件源信息
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5、更新并安装Docker-CE
yum makecache fast
yum -y install docker-ce-19.03.15-3.el7
6、添加镜像加速
可参考文档:
阿里云镜像加速配置 - codedot - 博客园 (cnblogs.com)
mkdir -p /etc/docker/
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://i******.mirror.aliyuncs.com"] //这里请添加自己的阿里云镜像加速
}
EOF
7、启动docker
# 添加开启启动
systemctl enable docker
# 更新xfsprogs
yum -y update xfsprogs
# 启动
systemctl start docker
docker info
# 测试docker是否已经能够正常使用
# 启动第一个容器
docker run hello-world
四、启动rancher
1、启动rancher
启动时需要添加 --privileged 参数
# docker run -d --restart=unless-stopped --privileged --name rancher -p 80:80 -p 443:443 rancher/rancher:stable
2、查看日志
如果没有明显的错误就运行成功了
# docker logs -f rancher
3、查看运行状态
# docker ps
4、在Web界面登录
dashboard
五、k8s集群管理
1、添加一个k8s集群
2、选择自定义
3、编写集群信息
输入集群名称
选择k8s版本
网络类型选择Flannel
点击下一步
创建master节点时上面三个组件全部勾选,设置一个节点名称k8s-master
复制下面的docker命令在master节点服务器中运行...
点击完成,进入管理页面等待集群启动完成
等待中...
集群状态变换成Active启动完成
4、worker-node节点的添加
各节点服务器配置好环境及Docker之后,运行如下docker 命令加入k8s集群:
docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.6.3 --server https://internal.pisx.com:7643 --token f4jlvlq88xmfdspqbbv67***************kzmw7sqvqt4z6zshw54 --ca-checksum 82740ea67cd0fe54768778****************c95ceb06266c34ed979b80c29b0 --node-name k8s-node-1 --worker
主机名:
--node-name k8s-node-1
--node-name k8s-node-2
组件:
--etcd
--controlplane (master节点必安装)
--worker
六、kubectl工具的安装
这里是将kubectl工具安装在master上
1、安装wget
yum install -y wget
2、下载kubectl
wget https://storage.googleapis.com/kubernetes-release/release/v1.18.20/bin/linux/amd64/kubectl
3、加x权限
chmod +x kubectl
4、将kubectl移到PATH中
mv kubectl /usr/local/bin/
5、查看版本
kubectl version --client
6、创建kube目录
mkdir ~/.kube
7、编辑~/.kube/config文件
vi ~/.kube/config
在Rancher页面中复制配置文件到剪贴板
然后复制到config文件中,并保存退出。
8、查看全部Pod状态
kubectl get pods -A
至此Rancher搭建k8s集群完成!