# ansible-install-k8s-v1.20 **Repository Path**: lucky_liuzhe/ansible-install-k8s-v1.20 ## Basic Information - **Project Name**: ansible-install-k8s-v1.20 - **Description**: ansible一键部署二进制k8s-v1.20 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 3 - **Created**: 2021-03-06 - **Last Updated**: 2023-03-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: 运维, 自动化运维, Kubernetes, Ansible ## README # Kubernetes v1.20 企业级高可用集群自动部署(离线版) >### 注:确保所有节点系统时间一致 ### 1、找一台服务器安装Ansible ``` # yum install epel-release -y # yum -y install ntpdate # ntpdate time.windows.com # yum install ansible -y # yum install git -y ``` ### 2、下载所需文件 下载Ansible部署文件: ``` # git clone https://gitee.com/lucky_liuzhe/ansible-install-k8s-v1.20.git # cd ansible-install-k8s-v1.20 ``` 下载准备好软件包(包含所有涉及文件和镜像,比较大),解压到/root目录: 链接:https://pan.baidu.com/s/1XLAuQHp3D0z5XCVNGEhnCw 提取码:9po1 ``` # tar zxf binary_pkg.tar.gz ``` ### 3、修改Ansible文件 修改hosts文件,根据规划修改对应IP和名称。 ``` # vi hosts ... ``` 修改group_vars/all.yml文件,修改软件包目录和证书可信任IP。 ``` # vim group_vars/all.yml software_dir: '/root/binary_pkg' ... cert_hosts: k8s: etcd: ``` ## 4、一键部署 ### 4.1 架构图 ### 单Master架构 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0304/230922_269e05e1_8607117.jpeg "single-master.jpg") ### 多Master架构 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0304/230936_98d7e5b3_8607117.jpeg "multi-master.jpg") ### 4.2 部署命令 单Master版: ``` # ansible-playbook -i hosts single-master-deploy.yml -uroot -k ``` 多Master版: ``` # ansible-playbook -i hosts multi-master-deploy.yml -uroot -k ``` ## 5、查看集群节点 ``` # kubectl get node NAME STATUS ROLES AGE VERSION k8s-master Ready 9h v1.20.4 k8s-node1 Ready 9h v1.20.4 k8s-node2 Ready 9h v1.20.4 ``` ## 6、其他 ### 6.1 部署控制 如果安装某个阶段失败,可针对性测试. 例如:只运行部署插件 ``` # ansible-playbook -i hosts single-master-deploy.yml -uroot -k --tags addons ``` ### 6.2 节点扩容 1)修改hosts,添加新节点ip ``` # vi hosts ... [newnode] 192.168.0.17 node_name=k8s-node3 ``` 2)执行部署 ``` # ansible-playbook -i hosts add-node.yml -uroot -k ``` ### 6.3 所有HTTPS证书存放路径 部署产生的证书都会存放到目录“ansible-install-k8s-master/ssl”,一定要保存好,后面还会用到~