Rancher部署K8s集群

一、集群配置  

服务器 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集群

Rancher部署K8s集群_第1张图片

 2、选择自定义

Rancher部署K8s集群_第2张图片

3、编写集群信息

Rancher部署K8s集群_第3张图片

输入集群名称

选择k8s版本

网络类型选择Flannel

点击下一步

Rancher部署K8s集群_第4张图片

 

创建master节点时上面三个组件全部勾选,设置一个节点名称k8s-master

复制下面的docker命令在master节点服务器中运行...

点击完成,进入管理页面等待集群启动完成

Rancher部署K8s集群_第5张图片

等待中...

Rancher部署K8s集群_第6张图片

 集群状态变换成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页面中复制配置文件到剪贴板

Rancher部署K8s集群_第7张图片

 然后复制到config文件中,并保存退出。

8、查看全部Pod状态

kubectl get pods -A

 至此Rancher搭建k8s集群完成!

你可能感兴趣的:(kubernetes,rancher,docker)