网站首页 > 精选教程 正文
K8s集群安装
首先要修改虚机的hostname,(为了去掉后缀.novalocal)
节点信息
ip | hostname | os | role |
192.168.110.3(控制端) | gyp-ansible | Centos7 | worker |
192.168.110.4 | gyp-master1 | Centos7 | master |
192.168.110.8 | gyp-master2 | Centos7 | master |
192.168.110.16 | gyp-master3 | Centos7 | master |
192.168.110.15 | gyp-worker | Centos7 | worker |
控制端安装Ansible运行环境
控制端,不可以作为master节点使用,但是可以是worker节点
- 配置yum源(这一步每台虚机都要操作)
- sudo yum install ansible -y #安装ansible
- sudo vi /etc/ansible/hosts #以下是我针对自己的节点信息所进行的配置
# Ex 2: A collection of hosts belonging to the 'webservers' group
# 输入你的虚机IP
[webservers]
192.168.110.3
192.168.110.5
192.168.110.11
192.168.110.12
# 配置虚机用户,我这里用户为centos
[webservers:vars] # 设置该组的参数
ansible_ssh_user='centos'
- sudo vi /etc/ansible/ansible.cfg # ansible的配置文件
# 进去之后 寻找private
:/private_key
# 找到对应的地方 按a键进行编辑
# 去掉注释
# 私钥的路径:根据自己所放位置,修改路径
private_key_file = /home/centos/k3s.pem
- 把私钥文件放到某个路径下,这里我选择的路径是/home/centos
- 修改几个文件的权限
- sudo chmod 600 k3s.pem
- 测试ansible是否安装成功:
- ansible all -m shell -a "hostname" #引号内输入你要执行的命令,这里我以“hostname”命令为例
- 运行该命令,直到每台机器都成功输出hostname
到这里,安装ansible成功!(如果遇到除控制端外的其他主机都没有报错,可以将控制端这台主机清理,再次安装)
部署集群
Github开源的kubeadm-ha项目
http://github.com/TimeBye/kubeadm-ha
- 下载该.zip文件,然后解压,将解压后的文件 ----> 复制到控制端的那台虚机上(这里我复制进去的文件夹名为kubeadm-ha,复制到的路径我选择的是/home/centos)。
集群规划------>选择你所搭建的集群样式
- 我所搭建的集群为
- 多主多节点
- 样式二 所以我选择
hosts.m-master.hostname
- 在控制端主机中,切换到指定目录下,修改hosts.m-master.hostname.ini文件
- cd /home/centos/kubeadm-ha/example
- sudo vi host.m-master.hostname.ini
# 根据你的集群情况填写
[all]
k8s-master1 ansible_host=192.168.110.3 ansible_user=centos
k8s-master2 ansible_host=192.168.110.5 ansible_user=centos
k8s-master3 ansible_host=192.168.110.11 ansible_user=centos
k8s-worker ansible_host=192.168.110.12 ansible_user=centos
; 私有云:
; VIP 负载模式:
; 也就是负载均衡器 + keepalived 模式,比如常用的 haproxy + keepalived。
; 本脚本中负载均衡器有 nginx、haproxy、envoy 可供选择,设置 lb_mode 即可进行任意切换。
; 设置 lb_kube_apiserver_ip 即表示启用 keepalived,请先与服务器提供部门协商保留一个IP作为 lb_kube_apiserver_ip,
; 一般 lb 节点组中有两个节点就够了,lb节点组中第一个节点为 keepalived 的 master 节点,剩下的都为 backed 节点。
;
; 节点本地负载模式:
; 只启动负载均衡器,不启用 keepalived(即不设置 lb_kube_apiserver_ip),
; 此时 kubelet 链接 apiserver 地址为 127.0.0.1:lb_kube_apiserver_port。
; 使用此模式时请将 lb 节点组置空。
;
; 公有云:
; 不推荐使用 slb 模式,建议直接使用节点本地负载模式。
; 若使用 slb 模式,请先使用节点本地负载模式进行部署,
; 部署成功后再切换至 slb 模式:
; 将 lb_mode 修改为 slb,将 lb_kube_apiserver_ip 设置为购买到的 slb 内网ip,
; 修改 lb_kube_apiserver_port 为 slb 监听端口。
; 再次运行初始化集群脚本即可切换至 slb 模式。
[lb]
; 注意etcd集群必须是1,3,5,7...奇数个节点
[etcd]
k8s-master1
k8s-master2
k8s-master3
[kube-master]
k8s-master1
k8s-master2
k8s-master3
[kube-worker]
k8s-worker
6. sudo vi ansible.cfg
# 进去之后 寻找private
:/private_key
# 找到对应的地方 按a键进行编辑
# 去掉注释
# 私钥的路径:根据自己所放位置,修改路径
private_key_file = /home/centos/k3s.pem
4. 修改我们拷贝进来的文件夹中的几个文件,要不然执行5时,
- sudo vi roles/prepare/docker/default/main.yml
- 执行第五步,ansible-playbook -i example/hosts.m-master.hostname.ini 90-init-cluster.yml
- 上述复制可能有问题,你就删除90-init-cluster.yml自己在手动输入虚机一次,问题就解决了
猜你喜欢
- 2024-10-08 CentOS7安装keepalived实现Nginx的高可用
- 2024-10-08 keepalived+nginx实现高可用实战全(双机主备,双主热备)
- 2024-10-08 nginx实现请求的负载均衡 + keepalived实现nginx的高可用
你 发表评论:
欢迎- 最近发表
-
- java 服务之间调用(rpc)(java实现服务器)
- Java机器学习库(Java ML)(二、聚类)
- 「Java库」如何使用优秀的加密库Jasypt来保护你的敏感信息?
- GitHub精选 | 轻量级Android和Java日志库
- Java面试官:MySQL binlog 有什么作用?主从延迟的了解么?
- Excel函数核武器库:50个高频场景公式——第二弹
- Excel函数核武器库:50个高频场景公式——第一弹
- Spring Cache高性能缓存库 - Caffeine简介
- Java通过Kafka Streams库来实现数据流处理
- 一连问了好几个大佬,竟然都不知道Redis为什么默认16个数据库?
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)