一、准备工作
规划集群
集群节点规划
10.254.4.1
10.254.4.2
10.254.4.3关闭swap
swapoff -a
节点互信
本文以第一个节点 10.254.4.1作为操作节点,所以需要做从10.254.4.1 到其他节点的互信,在4.1上执行如下命令:
ssh-keygen -t rsa
ssh-copy-id -i .ssh/id_rsa.pub root@10.254.4.1
ssh-copy-id -i .ssh/id_rsa.pub root@10.254.4.2
ssh-copy-id -i .ssh/id_rsa.pub root@10.254.4.3软件安装
安装以下可能会用到的软件:
//可能python使用yum会装不到
yum install -y epel-release python-pip python34 python34-pip ansible
pip install netaddr
pip install --upgrade pip
// 这个组件版本不对,会导致kubespray安装失败,需要更新
pip install --upgrade jinja2
二、使用kubespray部署集群
1. 下载kubespray
wget https://github.com/kubernetes-incubator/kubespray/archive/v2.5.0.tar.gz
2. 节点规划配置
tar -xvf v2.5.0.tar.gz
cd kubespray-2.5.0/
cp -rfp inventory/sample inventory/mycluster
declare -a IPS=(10.254.4.1 10.254.4.2 10.254.4.3)
CONFIG_FILE=inventory/mycluster/hosts.ini python3 contrib/inventory_builder/inventory.py ${IPS[@]}
3. 修改国内源
安装过程中会用到google的镜像,此处替换为使用国内源,执行:
cd kubespray/
sed -i 's/gcr\.io\/google_containers/mirrorgooglecontainers/g' roles/download/defaults/main.yml
sed -i 's/gcr\.io\/google-containers/mirrorgooglecontainers/g' roles/download/defaults/main.yml
sed -i 's/gcr\.io\/google_containers/mirrorgooglecontainers/g' roles/kubernetes-apps/ansible/defaults/main.yml
4. 安装
ansible-playbook -i inventory/mycluster/hosts.ini cluster.yml