环境准备

1.host

vi /etc/hosts

image

由上图可知,采用了三个节点来部署k8s,一个master主节点,两个子节点。主节点负责调度,子节点负责处理任务。

2.关闭swap分区、防火墙、SElinux

# k8s要求关闭swap  (qxl)
swapoff -a && sysctl -w vm.swappiness=0  # 关闭swap
sed -ri '/^[^#]*swap/s@^@#@' /etc/fstab  # 取消开机挂载swap

systemctl disable --now firewalld  # 关闭防火墙

# 关闭SElinux
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

3.安装docker

docker安装官方文档

# 卸载原来的docker
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

# 安装依赖
sudo yum update -y && sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

# 添加官方yum库
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

# 安装docker
sudo yum install docker-ce docker-ce-cli containerd.io

# 查看docker版本
docker --version

# 开机启动
systemctl enable --now docker

安装rancher

官方安装文档

对于学习k8s来说我们选择方案A-使用默认自签名证书就可以。

docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
-v <主机路径>:/var/lib/rancher/ \
-v /root/var/log/auditlog:/var/log/auditlog \
-e AUDIT_LEVEL=3 \
rancher/rancher:stable (或者rancher/rancher:latest)

如果不想用最新的rancher,建议使用以下版本:

docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:v2.2.5

利用rancher搭建k8s

安装完成后,直接在浏览器上访问你的主机ip就可以。(建议使用火狐浏览器,谷歌因为证书等原因无法打开)

image

设置密码并进入下一步。

image

确认rancher管理地址。

image

选择添加集群。

image

选择custom。

image

对集群起个名字,这里我选择flannel网络组件,根据自己需求来。

image

在主节点我选择了etcd与control选项,复制生成的命令在主节点运行。子节点选择worker选项,复制生成的命令在子节点运行。

image

接下来就等待集群自动建成,时间略长,建议喝杯咖啡。


一个好奇的人