ansible-kubeadm在线安装k8s v1.19-v1.20版本
ansible-kubeadm在线安装k8s v1.19-v1.20版本
1. ansible-kubeadm在线安装k8s v1.19-v1.20版本
安装要求
- 确保所有节点系统时间一致
- 操作系统要求:CentOS7.x_x64
- ansible机器与部署k8s集群做免密钥
找一台服务器安装Ansible
# yum install epel-release -y
# yum install ansible -y
下载所需文件
克隆部署k8s集群文件
# git clone https://gitee.com/scajy/ansible-kubeadm-install.git
# cd ansible-kubeadm-install/
修改Ansible文件
修改hosts文件,根据规划修改对应IP,变量名称尽量不要修改,按照规则添加对应所需变量名称
[master]
# 如果部署单Master或多master的主master配置
192.168.0.181 node_name=k8s-master01 [masternode]
# 用于存储集群部署多节点master,单独存放一个组,对部署编写方便
192.168.0.182 node_name=k8s-master02 [node]
192.168.0.183 node_name=k8s-node01
192.168.0.184 node_name=k8s-node02 [etcd]
192.168.0.181 etcd_name=etcd-1
192.168.0.182 etcd_name=etcd-2
192.168.0.183 etcd_name=etcd-3 [lb]
# 如果部署单Master,该项忽略
192.168.0.185 node_name=lb-master
192.168.0.186 node_name=lb-backup [k8s:children]
master
masternode
node [newnode]
192.168.0.187 ansible_ssh_port=22 node_name=k8s-node03修改group_vars/all.yml文件,修改etcd证书可信任IP或集群版本
# 安装目录
etcd_work_dir: '/etc/etcd'
tmp_dir: '/tmp/k8s' # k8s执行配置临时目录
tmp_kubernetes_dir: '/root/kubernetes' # 集群网络
service_cidr: '10.96.0.0/12'
pod_cidr: '10.244.0.0/16' # 与roles/addons/files/calico.yaml中网段一致 # 集群版本
k8s_version: 1.20.0 # 版本测试安装了,v1.19.0-v1.20.0版本,按照需要版本修改 # 高可用,如果部署单Master,该项忽略
vip: '192.168.0.188'
nic: 'eth0' # 修改为实际内网网卡名 # 自签证书可信任IP列表,为方便扩展,可添加多个预留IP
cert_hosts:
# 包含所有etcd节点IP
etcd:
- 192.168.0.181
- 192.168.0.182
- 192.168.0.183
一键部署架构
单master架构

多master架构

执行一键部署k8s集群命令
单master版本
# ansible-playbook -i hosts -uroot single-master-deploy.yml
多master版本
# ansible-playbook -i hosts -uroot multi-master-deploy.yml
查看集群节点
[root@k8s-master01 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-master01 Ready control-plane,master 15h v1.20.0
k8s-node01 Ready <none> 15h v1.20.0
k8s-node02 Ready <none> 15h v1.20.0
k8s-node03 Ready <none> 15h v1.20.0
节点扩容
修改hosts文件,添加新节点IP
# vi hosts
...
[newnode]
192.168.0.187 ansible_ssh_port=22 node_name=k8s-node03
执行安装添加k8s集群node节点
# ansible-playbook -i hosts -uroot add-node.yml
其他
部署控制
如果安装某个阶段失败,可针对性测试.
例如:只运行部署插件
# ansible-playbook -i hosts -uroot single-master-deploy.yml --tags common
所有HTTPS证书存放路径
部署产生的证书都会存放到目录“/tmp/k8s/ssl”,一定要保存好,后面还会用到~
ansible-kubeadm在线安装k8s v1.19-v1.20版本的更多相关文章
- centos环境 使用kubeadm快速安装k8s集群v1.16.2
全程使用root用户运行,宿主机需要连接外网 浏览一下官方kubeadm[有些镜像用不了] https://kubernetes.io/docs/setup/production-environmen ...
- 二进制安装K8S集群V1.16.3
centos linux7.5 cat > /etc/hosts << EOF 192.168.199.221 master 192.168.199.222 node1 192.16 ...
- 通过 Kubeadm 安装 K8S 与高可用,版本1.13.4
环境介绍: CentOS: 7.6 Docker: 18.06.1-ce Kubernetes: 1.13.4 Kuberadm: 1.13.4 Kuberlet: 1.13.4 Kuberctl: ...
- kubeadm简单安装k8s
One or more machines running a deb/rpm-compatible OS, for example Ubuntu or CentOS 2 GB or more of R ...
- Kubernetes实战指南(三十四): 高可用安装K8s集群1.20.x
@ 目录 1. 安装说明 2. 节点规划 3. 基本配置 4. 内核配置 5. 基本组件安装 6. 高可用组件安装 7. 集群初始化 8. 高可用Master 9. 添加Node节点 10. Cali ...
- kubeadm快速安装k8s
1.安装net-tools [root@localhost ~]# yum install -y net-tools 2.关闭firewalld [root@localhost ~]# systemc ...
- 使用kubeadm方式安装K8S
Kubeadm安装 kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实 ...
- 企业运维实践-还不会部署高可用的kubernetes集群?使用kubeadm方式安装高可用k8s集群v1.23.7
关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 文章目录: 0x00 前言简述 ...
- kubeadm部署K8S集群v1.16.3
本次先更新kubeadm快速安装K8S,二进制安装上次没写文档,后续更新,此次最新的版本是V1.16.3 1.关闭防火墙.关闭selinux.关闭swapoff -a systemctl stop f ...
- kubeadm部署k8s v1.19.4版本集群
1. 准备2台2c4g虚机 配置地址192.168.198.144,192.168.198.146,一台作为master,一台作为node 2. 部署环境准备,每一台虚机都需要操作 # 关闭防火墙sy ...
随机推荐
- Django 基础(二)
cookie和session from django.shortcuts import render from django.http import HttpResponse # Create you ...
- maya灯光导入houdini插件开发
加入工作室时师兄给了两道测试题,由于第一道是完善师兄的一个houdini项目管理插件,我只是开发了一些小功能,所以不好意思拿出来. 第二道题就完全是由自己开发的一个小插件,功能是把maya里的灯光导入 ...
- Crypto入门 (三)Morse
前言: Morse电码(Morsecode)是大家耳熟能详的编码方式,很多人都误认为它是一种加密方式,但其实它是一种编码,因为它并不存在密钥.在只能使用电报长短音传递信息的条件下,使用摩斯电码是为了方 ...
- [Leetcode 22]生成括号generate parentheses
题目 给定括号对数n,生成所有可能的标准括号结果* *指不能)( https://leetcode.com/problems/generate-parentheses/ Given n pairs o ...
- Excel 多表头导入导出(借助Aspose)
需求中Excell多表头,完成导入导出. Aspose 代码实现多表头方式借助代码比较繁琐, 借助模板方式. 简化逻辑. 注意,aspose从0开始索引. 导入部分代码: 实现选择导入Excel,导入 ...
- 【MSSQL】远程打开对象
opendatasource https://docs.microsoft.com/zh-cn/sql/t-sql/functions/opendatasource-transact-sql?view ...
- STM32上特殊管脚应用 重映射那个GPIO_Remap_SWJ_JTAGDisable
对于初学习者来说为什么用到PB3和PB4时无法控制输出呢? 下面就这一问题进行分析讲解. 首先,STM32F10x系列的MCU复位后,PA13/14/15 & PB3/4默认配置为JTAG功能 ...
- centos7开放8080端口
1. firewall-cmd --state :令防火墙处于开启状态 systemctl start firewalld.service: 2. firewall-cmd --zone=publi ...
- 实验九 团队作业6:团队项目编码与Alpha冲刺
项目 内容 课程班级博客链接 2018级卓越班 这个作业要求链接 实验九-团队作业6 团队名称 零基础619 团队成员分工描述 任务1:荣娟,鑫任务2:亚楠,桂婷任务3:亚楠,桂婷任务4:荣娟,鑫任务 ...
- IntelliJ IDEA常用插件
Mybatis Log Plugin安装好插件后,在Tools工具栏中可以看到安装好的插件,点击即可打开相应窗口,在Debug时,相应的Sql语句即可输出到此窗口,方便查看.此插件相当好用,提升开发效 ...