
1、环境
以下机器都是centos7.7版本
192.168.0.100 node1 master1 etcd1 kubespray 部署机器 192.168.0.101 node2 master2 etcd2192.168.0.102 node3 master3 etcd3192.168.0.103 node4 node1192.168.0.104 node5 node2
2、kubespray地址
https://github.com/kubernetes-sigs/kubespray
3、设置部署机器到所有节点无密码访问
# 在部署节点master1 上 ssh-keygen ssh-copy-id node1ssh-copy-id node2ssh-copy-id node3ssh-copy-id node4ssh-copy-id node5
4、安装python3和ansible
yun install python36pip3 install ansible
5、配置kubespray环境和地址
以下安装都是基于root进行的,如果没有权限请设置sudo权限
cd /optgit clone https://github.com/kubernetes-sigs/kubespray# 安装依赖cd kubespraypip3 install -r requirements.txt# 拷贝配置文件cp -rfp inventory/sample inventory/mycluster# 使用脚本配置 ansible inventory 文件declare -a IPS=(192.168.0.100 192.168.0.101 192.168.0.102 192.168.0.103 192.168.0.104)CONFIG_FILE=inventory/mycluster/hosts.yaml python3 contrib/inventory_builder/inventory.py ${IPS[@]}
设置gcr地址,由于国内网络问题导致gcr镜像和quay镜像拉取很慢,本人自建了个仓库用来中转镜像, 暂时没限制,不保证后续一直能用,后续会分享怎么搭建步骤。
vim inventory/mycluster/group_vars/all/all.yml#最后进行追加# 加载内核模块,否则 ceph, gfs 等无法挂载客户端kubelet_load_modules: truegcr_image_repo: "gcr.xdpai.cn"kube_image_repo: "gcr.xdpai.cn/google-containers"quay_image_repo: "quayio.xdpai.cn"docker_rh_repo_base_url: "https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/stable/"docker_rh_repo_gpgkey: "https://mirrors.aliyun.com/docker-ce/linux/centos/gpg"docker_version: "19.03"

vim inventory/mycluster/group_vars/k8s-cluster/k8s-cluster.ymlkube_image_repo: "gcr.xdpai.cn/google-containers"

配置一些额外的插件 比如helm dashboard ingress
vim inventory/mycluster/group_vars/k8s-cluster/addons.yml 把需要的插件插件设置成True
启动安装,可能需要一段时间
ansible-playbook -i inventory/mycluster/hosts.yaml --become --become-user=root cluster.yml
无报错安装成功界面
