节点规划
IP |
Role |
192.168.0.10 |
rke部署节点 |
192.168.0.11 |
control plane, etcd, worker |
规划说明:单独选择了一台服务器192.168.0.10作为部署节点,在部署节点上使用rke为目标服务器192.168.0.11安装最小的Kubernetes环境,两台机器的操作系统均为 CentOS
环境准备
- 安装 RKE - 需要在部署节点(192.168.0.10)上安装 RKE 二进制包,官方链接
- 创建非 root 用户 - 需要在目标节点(192.168.0.11)上创建非 root 用户,用来与部署节点进行 SSH 连接
1 2 3
| groupadd docker useradd docker_user usermod -aG docker docker_user
|
- 配置 SSH 免密登录 - 由于 RKE 通过 SSH tunnel 技术安装部署 k8s 集群,需要配置 RKE 所在节点到 k8s 各节点的 SSH 免密登录。(如果 RKE 所在节点也需要加入到 k8s 集群中,需要配置到本机的 SSH 免密登录)
1 2 3 4
| ssh-keygen
ssh-copy-id docker_user@192.168.0.11
|
- 安装 docker - 由于 RKE 通过 docker 镜像rancher/hyperkube启动 k8s 组件,因此需要在 k8s 集群的各个节点上安装 docker,需注意要安装 k8s 支持的 docker 版本
1 2 3 4 5 6 7 8
| yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates|sort –r
yum install docker-ce-18.06.1.ce -y
|
- 关闭 swap - k8s 1.8 开始要求关闭系统的 swap,如果不关闭,默认配置下 kubelet 将无法启动。这里需要关闭所有 k8s worker 节点的 swap
配置 cluster.yml
关于cluster的详细说明,可以查看官方链接,这里展示一下我的 cluster.yml 配置
1 2 3 4 5 6 7 8
| nodes: - address: 192.168.0.11 user: docker_user role: - controlplane - etcd - worker ssh_key_path: /root/.ssh/id_rsa
|
部署 kubernetes 集群
当 cluster.yml 文件配置完成后,可以通过命令./rke up
完成集群的部署任务