
🏷️个人主页:牵着猫散步的鼠鼠
🏷️系列专栏:Kubernetes渐进式学习-专栏
🏷️个人学习笔记,若有缺误,欢迎评论区指正
目录
1. 前言
2. 集群搭建方式
3. 环境说明
4. 利用kubeadm初始化Master结点
4.1. 初始操作
4.2 安装基础软件(全部结点都要安装)
4.3. 部署Kubernetes Master结点
5. 总结
1. 前言
我们在前面的几篇文章中讲解了Kubernetes的相关概念,接下来我们进入实战,从零搭建Kubernetes集群。
2. 集群搭建方式
Kubernetes集群的搭建方式主要有以下几种:
-
kubeadm
-
Minikube
- 优点:
- 易于启动:适合快速启动一个本地的Kubernetes环境进行开发和测试。
- 无需外部依赖:可以在个人电脑上运行,不需要额外的物理或虚拟机。
- 缺点:
- 单节点:仅适用于单节点集群,不适合生产环境。
- 功能有限:某些Kubernetes功能可能无法在Minikube中完全支持。
- 优点:
-
Kind (Kubernetes in Docker)
- 优点:
- 快速部署:可以在Docker容器中运行Kubernetes集群,非常适合本地开发和测试。
- 无需虚拟机:与Minikube类似,Kind也不需要额外的虚拟机。
- 缺点:
- Docker依赖:依赖于Docker环境,不支持其他容器运行时。
- 同样适用于单节点环境,不适合生产部署。
- 优点:
-
手动搭建
- 优点:
- 完全控制:可以完全自定义集群的每个组件和配置。
- 理解深入:通过手动搭建,可以更深入地理解Kubernetes的内部结构和组件交互。
- 缺点:
- 复杂性:手动搭建过程复杂,容易出错。
- 维护困难:升级和故障排查需要更多的手工操作。
- 优点:
-
自动化工具(如Ansible, Terraform)
- 优点:
- 自动化:可以自动化集群的部署和配置过程,减少人为错误。
- 可重复:脚本可以重复使用,便于管理多个集群。
- 缺点:
- 学习成本:需要学习额外的工具和脚本语言。
- 维护脚本:随着集群的变化,脚本可能需要更新和维护。
- 优点:
-
托管服务(如GKE, EKS, AKS)
每种搭建方式都有其适用场景和优缺点。选择哪种方式取决于你的需求、资源、技能和预算。对于学习和测试环境,我们采用kubeadm来搭建集群
3. 环境说明
- 操作系统:CentOs7.6
- Docker:20+
- k8s:1.23.6
- 主节点云服务器:4H8G
- 从节点云服务器:4H4G
云服务器最低配置推荐:2核,2G内存,20G硬盘,学习的话购买2H2G的就够用啦
4. 利用kubeadm初始化Master结点
4.1. 初始操作
关闭防火墙
systemctl stop firewalld systemctl disable firewalld
关闭 selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config # 永久 setenforce 0 # 临时
关闭swap,关闭完swap后要重启一遍机器!
swapoff -a # 临时 sed -ri 's/.*swap.*/#&/' /etc/fstab # 永久
根据规划设置主机名
hostnamectl set-hostname 这里填你的主机名(随便起,比如k8s-master)
在master添加hosts配置
cat >> /etc/hosts /etc/sysctl.d/k8s.conf /etc/yum.repos.d/kubernetes.repo