文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

k8s自动化安装脚本(二进制)的操作步骤

2024-04-02 19:55

关注

介绍

通过ansible脚本+shell实现自动化部署k8s基础集群(v1.25.0)

部署结构

请添加图片描述

1. 通过二进制部署包镜像安装k8s集群、目录etcd节点只支持1-3个节点、最多三个etcd节点

2. 因k8s版本相对较新、需要升级内核来支持后台程序、当前版本只支持Cento7,内核版本(5.19.4-1.el7.elrepo.x86_64)

3. 采用k8s二进制安装,通过system进行管理,采用本地yum仓库,版本是:1.25.0

4. 部署节点安装docker的yum源是基于Centos7.5/7.6,版本是:19.03.14

5. 部署节点安装ansible时,使用离线安装,版本:2.9.27

操作步骤

环境准备

作用IP地址操作系统配置
k8s-master01192.168.1.13CentOS7最低配置2C2G
ansible192.168.1.140CentOS7最低配置1C1G

备注

解压部署包

#上传部署包(xshell)
yum -y install lrzsz 
rz install_k8s_binary_20220905.tar.gz
#解压
tar -xvf install_k8s_binary_20220905.tar.gz -C /opt

修改host文件

#部署机器,初始脚本、安装包镜像
[deploy_server]
192.168.1.11 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22 hostname="Ansible"

#apiserver、controller、scheduler、通过下面的install_kubelet_enable来确认是否在master节点上安装kubelet、proxy服务
[kubernetes_master]
192.168.1.12 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22  hostname="k8s-master01"

#kubelet、proxy,可任意添加节点数,只要不超出k8s本身的限制即可
[kubernetes_node]
#192.168.1.13 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22  hostname="k8s-node01"


#单节点或者三节点其他的暂时不支持,通过脚本解析主机信息,目前只支持1-3个节点
[etcd]
192.168.1.12 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22 ETCD_NAME="k8s-master01"

#不填写,则不安装镜像仓库、目前尚未完成(待完善)
[docker_repositry]
#192.168.1.136 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22 hostname="k8s-node01"

#双节点
[haproxy_keepalived]
#192.168.1.12 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22 hostname="k8s-haproxy"
#192.168.1.12 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22 hostname="k8s-haproxy"


[nodes:children]
kubernetes_master
kubernetes_node
haproxy_keepalived
etcd

[all:vars]
#interface="ens33"             #部署机器的网卡名称
master_vip="192.168.1.120"     #高可用

#布尔值 true or false
install_kubelet_enable="true"  #master节点是否安装kubelet、kube-proxy  
network_enable="false"         #联网状态下,加载网络yum仓库
Basic_enable="true"            #安装基础软件包    
clear_cert_data="false"        #清理上一次生成的证书及清理cfssl的安装包


#k8s 组件服务
dashboard_enable="false"       #安装dashboard服务
prometheus_enable="false"      #安装Prometheus服务,尚未完成
ingress_enable="false"         #安装ingress服务,尚未完成

初始化环境

[root@registry]# cd /opt/install_k8s_binary
[root@registry install_k8s_binary]# sh Run.sh 
1) 初始化环境(ansible))
2) 安装k8s集群(v1.25.0)(二进制)
----------------------------------------------------------------------------
请输入对应的数字编号:1
请输入部署机的地址(192.168.1.11):
#部署机的地址,通过脚本获取的地址,确认无误后直接回车即可

执行结果

安装docker服务安装ansible服务,修改ansible.cfg配置准备离线yum仓库挂载点是:部署包的下的yum目录准备离线registry仓库,相关挂载点是:/var/images/

安装k8s集群

登录部署机器上执行Run.sh脚本

执行结果如下:

登录master的节点

image-20220905193211806

因本地虚拟机限制,目前使用单节点测试部署,一主一从的也测试可行高可用版本尚未测试,虚拟机测试电脑容易死机?

部署包下载

链接: https://pan.baidu.com/s/1-_yDvPnE7Jt167S_9IzWzw?pwd=egwf

提取码: egwf 

总结

上述则是当前部署中可运行正常的服务执行Run.sh 输入init,则可以调试脚本,对应的启动文件,修改,则可以进行调试(playbook/tools/deploy_test.yaml)

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯