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

从零到一:使用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.dtcms.com/a/359891.html

相关文章:

  • Openstack Eproxy 2025.1 安装指南
  • isat将标签转化为labelme格式后,labelme打不开的解决方案
  • IO_hw_8.29
  • TRELLIS:从多张图片生成3D模型
  • 【ACP】2025-最新-疑难题解析- 练习一汇总
  • Go学习1:常量、变量的命名
  • 一个投骰子赌大小的游戏
  • 内核等待队列以及用户态的类似机制
  • Chrome DevTools Performance 是优化前端性能的瑞士军刀
  • CD73.【C++ Dev】map和set练习题1(有效的括号、复杂链表的复制)
  • 嵌入式C学习笔记之编码规范
  • Nginx实现P2P视频通话
  • 现代C++特性 并发编程:线程管理库 <thread>(C++11)
  • 狂神说--Nginx--通俗易懂
  • 【秋招笔试】2025.08.31饿了么秋招笔试题
  • Linux基本工具(yum、vim、gcc、Makefile、git、gdb)
  • 苏宁移动端部分首页制作
  • ing Data JPA 派生方法 数据操作速查表
  • TFS-1996《The Possibilistic C-Means Algorithm: Insights and Recommendations》
  • Kafka面试精讲 Day 3:Producer生产者原理与配置
  • K8s学习笔记(一)——
  • Unity转抖音小游戏重点摘记
  • 通信原理(006)——分贝(dB)超级详细
  • 【数学史冷知识】关于行列式的发展史
  • spring-ai-alibaba-deepresearch 学习(七)——源码学习之PlannerNode
  • (树)Leetcode94二叉树的中序遍历
  • 8.29学习总结
  • YOLO 目标检测:YOLOv2基本框架、多尺度训练、锚框、维度聚类、位置预测、passthrough
  • 【机器学习基础】无监督学习算法的现代演进:从数据探索到智能系统的自主发现能力
  • hardhat 3 测试框架选择