Kubernetes学习-集群搭建篇(一) 搭建Master结点

慈云数据 2024-05-09 技术支持 68 0

🏷️个人主页:牵着猫散步的鼠鼠 

🏷️系列专栏:Kubernetes渐进式学习-专栏

🏷️个人学习笔记,若有缺误,欢迎评论区指正 

目录

1. 前言

2. 集群搭建方式

3. 环境说明

4. 利用kubeadm初始化Master结点

4.1. 初始操作

4.2 安装基础软件(全部结点都要安装)

4.3. 部署Kubernetes Master结点

5. 总结 


1. 前言

我们在前面的几篇文章中讲解了Kubernetes的相关概念,接下来我们进入实战,从零搭建Kubernetes集群。

2. 集群搭建方式

Kubernetes集群的搭建方式主要有以下几种:

  1. kubeadm

    • 优点:
      • 易于使用:kubeadm提供了简单的命令行工具来初始化和管理Kubernetes集群。
      • 社区支持:由于是官方提供的工具,因此有广泛的社区支持和文档。
      • 版本控制:可以轻松升级和降级Kubernetes版本。
      • 自定义:支持自定义配置,可以根据需求调整集群设置。
    • 缺点:
      • 生产就绪:默认配置可能不适合生产环境,需要额外的配置和调优。
      • 学习曲线:对于新手来说,可能需要一定时间来理解和学习kubeadm的工作原理。
  2. Minikube

    • 优点:
      • 易于启动:适合快速启动一个本地的Kubernetes环境进行开发和测试。
      • 无需外部依赖:可以在个人电脑上运行,不需要额外的物理或虚拟机。
    • 缺点:
      • 单节点:仅适用于单节点集群,不适合生产环境。
      • 功能有限:某些Kubernetes功能可能无法在Minikube中完全支持。
  3. Kind (Kubernetes in Docker)

    • 优点:
      • 快速部署:可以在Docker容器中运行Kubernetes集群,非常适合本地开发和测试。
      • 无需虚拟机:与Minikube类似,Kind也不需要额外的虚拟机。
    • 缺点:
      • Docker依赖:依赖于Docker环境,不支持其他容器运行时。
      • 同样适用于单节点环境,不适合生产部署。
  4. 手动搭建

    • 优点:
      • 完全控制:可以完全自定义集群的每个组件和配置。
      • 理解深入:通过手动搭建,可以更深入地理解Kubernetes的内部结构和组件交互。
    • 缺点:
      • 复杂性:手动搭建过程复杂,容易出错。
      • 维护困难:升级和故障排查需要更多的手工操作。
  5. 自动化工具(如Ansible, Terraform)

    • 优点:
      • 自动化:可以自动化集群的部署和配置过程,减少人为错误。
      • 可重复:脚本可以重复使用,便于管理多个集群。
    • 缺点:
      • 学习成本:需要学习额外的工具和脚本语言。
      • 维护脚本:随着集群的变化,脚本可能需要更新和维护。
  6. 托管服务(如GKE, EKS, AKS)

    • 优点:
      • 管理简单:云提供商管理Kubernetes的控制平面,用户只需管理工作节点。
      • 高可用:通常提供高可用性和自动扩展功能
      • 与云服务集成:与云提供商的其他服务(如存储、网络)集成良好。
    • 缺点:
      • 成本:可能需要支付额外的费用。
      • 云提供商依赖:锁定到特定的云提供商。

每种搭建方式都有其适用场景和优缺点。选择哪种方式取决于你的需求、资源、技能和预算。对于学习和测试环境,我们采用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 
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon