码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • K8s集群环境搭建


    文章目录

    • 环境规划
      • 集群类型
      • 安装方式
      • 主机规划
        • 环境搭建
        • 主机安装
      • 环境初始化
      • 安装docker
        • 安装docker-ce
        • 安装kubernetes组件
        • 安装kubeadm kubelet kubectl工具
        • 配置containerd
          • 部署k8s的master节点(在master节点运行)
        • 安装pod网络插件(CNI/flannel)

    环境规划

    集群类型

    Kubernetes集群大体上分为两类:一主多从和多主多从
    一主多从:一台master节点和多台node节点,搭建简单,但是有单机故障风险,适用于测试环境
    多主多从:多台master节点和多台node节点,搭建麻烦,安全性高,适用于生产环境
    在这里插入图片描述

    安装方式

    Kubernetes有多种部署方式,目前主流的方式有kubeadm、minikube、二进制包
    1、Minikube:一个用于快速搭建单节点kubernetes的工具
    2、Kubeadm:一个用于快速搭建kubernetes集群的工具,https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/
    3、二进制包:从官网下载每个组件的二进制包,依次去安装,此方式对于理解kubernetes组件更加有效,https://github.com/kubernetes/kubernetes
    说明:现在需要安装kubernetes的集群环境,但是又不想过于麻烦,所有选择使用kubeadm方式

    主机规划

    角色 ip地址 组件
    master 192.168.40.99 docker,kubectl,kubeadm,kubelet
    node1 192.168.40.100 docker,kubectl,kubeadm,kubelet
    node2 192.168.40.101 docker,kubectl,kubeadm,kubelet

    环境搭建

    本次环境搭建需要安装三台Linux系统(一主二从),内置centos7以上的系统,然后在每台linux中分别安装docker。kubeadm(1.25.0),kubelet(1.25.4),kubelet(1.25.4).

    主机安装

    安装虚拟机过程中注意下面选项的设置:
    1、操作系统环境:cpu2个 内存2G 硬盘50G centos7+
    2、语言:中文简体/英文
    3、软件选择:基础设施服务器
    4、分区选择:自动分区/手动分区
    5、网络配置:按照下面配置网络地址信息
    网络地址:192.168.40(99、100、101)
    子网掩码:255.255.255.0
    默认网关:192.168.40.2
    DNS:8.8.8.8
    6、主机名设置:
    Master节点:master
    Node节点:node1
    Node节点:node2

    环境初始化

    1、查看操作系统的版本

    # 此方式下安装kubernetes集群要求Centos版本要在7或之上 
    [root@master ~]# cat /etc/redhat-release
    
    • 1
    • 2

    2、主机名解析 (三个节点都做)
    为了方便集群节点间的直接调用,在这个配置一下主机名解析,企业中推荐使用内部DNS服务器

    vim /etc/hosts
    192.168.40.99   master.example.com master
    192.168.40.100  node1.example.com node1
    192.168.40.101  node2.example.com node2
    
    • 1
    • 2
    • 3
    • 4

    3、时钟同步
    kubernetes要求集群中的节点时间必须精确一致,这里使用chronyd服务从网络同步时间
    企业中建议配置内部的时间同步服务器

    Master:
    vim /etc/chrony.conf
    local stratum 10
    
    systemctl restart chronyd
    systemctl enable chronyd
    hwclock  -w
    
    Node1和node2:
    vim /etc/chrony.conf
    server master.example.com  iburst
    systemctl restart chronyd
    systemctl enable chronyd
    hwclock  -w
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    4、禁用firewalld、selinux、postfix(三个节点都做)
    关闭防火墙、selinux,postfix----3台主机都配置

    systemctl stop fi
    • 相关阅读:
      25 C++ 文件和流
      阿里云的域名和ip绑定
      JAVA面试题——关于ValueOf的取值问题
      使用软引用实现缓存机制
      毕设 JAVA.JSP球迷用品销售网站的设计与实现论文
      进入mysql命令行之后,怎么退出
      Shiro【散列算法、过滤器 、Shiro会话、会话管理器、权限表设计】(三)-全面详解(学习总结---从入门到深化)
      DDL语言(添加、修改、删除)
      Python爬虫——爬取某网站的视频
      Web3行业人才需求激增,加密初创企业的薪资究竟如何?
    • 原文地址:https://blog.csdn.net/ZHJSXX/article/details/127900189
    • 最新文章
    • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
      用 Hashids 优雅解决 C 端自增 ID 暴露问题
      V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
      LLVM Pass快速入门(四):代码插桩
      milkup:桌面端 markdown AI续写和即时渲染
      基于项目工程构建SBOM(软件物料清单)的研究
      鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
      .NET 中如何快速实现 List 集合去重?
      扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
      浅谈数据访问层
    • 热门文章
    • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
      奉劝各位学弟学妹们,该打造你的技术影响力了!
      五年了,我在 CSDN 的两个一百万。
      Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
      面试官都震惊,你这网络基础可以啊!
      你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
      心情不好的时候,用 Python 画棵樱花树送给自己吧
      通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
      13 万字 C 语言从入门到精通保姆级教程2021 年版
      10行代码集2000张美女图,Python爬虫120例,再上征途
    小工具 小游戏
    Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

    京公网安备 11010502049817号