github地址
https://github.com/clkevin/k8s-ansible
master分支
若遇到问题可通过上面的github沟通讨论
准备工作
节点准备,可增减node节点
- 10.254.0.56 k8s-master
- 10.254.0.57 k8s-node1
- 10.254.0.58 k8s-node2
- 10.254.0.59 k8s-node3
环境准备(以下操作针对master节点)
- 按上述节点名称在k8s-master中配置各节点,使k8s-master能够通过ssh免密访问master及其它各节点
- 安装git
yum install -y git
- 安装ansible
yum install -y ansible
- 在master用户home下 git clone https://github.com/clkevin/k8s-ansible.git
- 修改~/k8s-ansible/customer/hosts中的节点名称及ip
- 修改~/k8s-ansible/customer/ansible-hosts 下的ip等信息
- 将hosts复制到/etc/ansible/下
cp ~/k8s-ansible/customer/ansible-hosts /etc/ansible/hosts
- 通过
ansible all -m ping
测试是否正常
安装k8s
- 所有节点配置脚本:ansible-playbook 0.all.yml
- 部署节点脚本:ansible-playbook 1.build.yml
- 安装master节点脚本:ansible-playbook 2.master.yml
- 安装nodes
ansible-playbook 3.node.yml
- 安装k8s flannel网络: ansible-playbook 4.network.nodes.yml
- 安装dns:
ansible-playbook 5.dns.yml
更简单方式 ~/k8s-ansible/bin/install-k8s.sh;若此方式出现异常,再尝试上述方式安装
检查
- 检查node是否就绪:kubectl get nodes
- 检查是否可正常创建deployment: kubectl create -f ~/k8s-ansible/deployment/nginx.yml
- 检查是否可正常创建deployment: kubectl create -f ~/k8s-ansible/deployment/busybox.yml
- 检查是否可正常生成service: kubectl expose deployment nginx
- 检查是否可正常进入容器: kubectl exec -it podname bash
- 查看dns及service负载是否正常: 服务中curl ping 或 wget service_ip 及 service_name
- 异常的pod在对应的节点上查看容器: docker ps