当前位置: 首页 > web >正文

从零到一:使用anisble自动化搭建kubernetes集群

  在我们云原生俱乐部的暑期学习中,我们了解并学习了需要关于云原生的技术,其中在应用层面上最重要的就是shell编程和ansible,而想要掌握这两项技术离不开的就是实践,而kubernetes是我们云原生技术栈的核心技术,在生产实际中存在部署k8s环境的需求,所以我们不妨用ansible来实现k8s的部署,在实践中了解并掌握ansible,同时感受到自动化运维的魅力。

  我们准备了三台主机,cka-matser是我们的控制节点,cka-worker1和cka-worker2是我们的工作节点

 

这三台主机在未运行setup.sh脚本之前是不互通的,同时也未安装ansible以及所需工具的软件包,我们当然可以手动配置,但是我们不妨写个setup.sh脚本来对cka-master进行自动化配置,再用ansible同步到工作节点,以下是set.up关键的内容:

配置软件仓库:

安装ansible和所需的工具

配置anisble(注:在Ubuntu22.04.5中不会自动创建/etc/ansible目录

   

分发密钥,配置互信

这样我们就配置好了控制节点的ansible,接下来就是编写k8s.yaml的playbook来完成kubernetes的集群搭建。

 我们都知道ansible采用的是声明式编程的理念,简单说就是我们只需要使用ansible对应的模块来声明我们需要的状态,ansible就可以帮助我们实现。

 在k8s.yaml这个playbook中我们定义了四个task,分别是deploy docker、deploy k8s、init cluster、work join and label,这四个任务完成了docker、cri-docker、kubelet、kubectl、kubeadm的下载和配置,同时配置CNI的通信配置,最后初始化集群并让cka-worker1、cka-worker2加入集群,打上工作节点的标签,以下是关键步骤的playbook片段:


安装docker并配置镜像仓库

  安装cri-docker并配置socket实现通信


关闭交换分区,允许br_netfilter桥接流量

  下载kubelet、kubeadm、kubectl

初始化集群

配置calico网络插件

加入集群、打上标签

  附上环境搭建成功的验证

  总结:在本次ansible的应用中,我们手动的编写了setup.sh的shell脚本和k8s.yaml的playbook,我们在编写的过程中不仅精进了shell脚本的使用,而且我们熟悉了playbook的编写流程,当然我们也复习到了k8s的集群搭建,将我们云原生的核心技术栈都使用了一遍,对于我们的个人成长起到了不小的作用,感谢云原生俱乐部为我们提供了成长的平台。

http://www.xdnf.cn/news/19472.html

相关文章:

  • 代码随想录算法训练营五十三天|图论part11
  • 物理气相沉积(PVD)技术及应用现状和发展趋势
  • 【线性代数基础 | 那忘算9】基尔霍夫(拉普拉斯)矩阵 矩阵—树定理证明 [详细推导]
  • unity3d 中 R3 实际使用 安装方法
  • 7.3 el-menu
  • 螺旋曲面交线投影切线角度计算与分析
  • 深度学习数据加载实战:从 PyTorch Dataset 到食品图像分类全流程解析
  • React前端开发_Day11
  • 响应式编程框架Reactor【7】
  • Spring —— 数据源配置和注解开发
  • Uniapp 项目创建与目录结构解析
  • 网站漏洞早发现:cpolar+Web-Check安全扫描组合解决方案
  • Elasticsearch面试精讲 Day 3:分片与副本策略详解
  • Win32学习笔记 | recv函数
  • 【Linux系统】线程互斥
  • 【安全学习】DVWA 靶场 SQL 注入漏洞原理分析与防御策略(教育用途)
  • C#语言入门详解(17)字段、属性、索引器、常量
  • 微软:LLM多阶段强化学习框架
  • 深入探讨JavaScript性能瓶颈:我的优化实战与思考
  • mac Monterey 安装erlang23
  • 【数据分享】上市公司-创新投入、研发投入数据(2007-2022)
  • LeetCode 287.寻找重复数
  • 基于EcuBus-Pro实现LIN UDS升级
  • 动态规划2(c++)
  • 【工具类】ssh使用案例
  • (HR小科普)人才测评软件的功能和应用
  • CH59x CH58x 触摸按键应用开发实例讲解(二)
  • 【Zephyr炸裂知识系列】11_手撸内存泄露监测算法
  • Pomian语言处理器研发笔记(二):使用组合模式定义表示程序结构的语法树
  • Tiptrans转运 | 免费5国转运地址