热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

K8s集群安装准备

环境准备一安装VMware虚拟软件准备centos7镜像环境准备二因测试环境系统资源,所以k8s规划的是1主1从创建2台centos虚拟机软件:设置为满足基础服务主机规划:192.

环境准备一



  • 安装VMware虚拟软件

  • 准备centos7镜像


环境准备二



  • 因测试环境系统资源,所以k8s规划的是1主1从

  • 创建2台centos虚拟机

    软件:设置为满足基础服务

    主机规划:



    • 192.168.48.200 主机名:k8s-master 子网:255.255.255.0 网关:192.168.48.2 DNS:223.5.5.5

    • 192.168.48.201 主机名:k8s-node 子网:255.255.255.0 网关:192.168.48.2 DNS:223.5.5.5




环境准备三



  1. 确保安装的虚拟机centos版本大于7.5

    cat /etc/redhat-release

    image



  2. 主机名解析

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

    # 主机名成解析 编辑2台服务器的/etc/hosts文件,添加下面内容
    192.168.48.200 k8s-master
    192.168.48.201 k8s-node


  3. 时间同步

    kubernetes要求集群中的节点时间必须精确一致,这里使用chronyd服务从网络同步时间

    企业中建议配置内部的时间同步服务器

    #输入date,如果时间不一致的话
    systemctl start chronyd
    systemctl enable chronyd


  4. 禁用iptable和firewalld服务

    kubernetes和docker 在运行的中会产生大量的iptables规则,为了不让系统规则跟它们混淆,直接关闭系统的规则

    #关闭防火墙
    systemctl stop firewalld
    #设置开机不启动
    systemctl disable firewalld
    #关闭iptables
    systemctl stop iptables
    #设置开机不启动
    systemctl disable iptables


  5. 禁用selinux

    selinux是linux系统下的一个安全服务,如果不关闭它,在安装集群中会产生各种各样的问题

    #编辑 /etc/selinux/config 文件,修改SELINUX的值为disable
    #注意修改完毕之后需要重启linux服务
    SELINUX=disabled


  6. 禁用swap分区

    swap分区指的是虚拟内存分区,它的作用是物理内存使用完,之后将磁盘空间虚拟成内存来使用,启用swap设备会对系统的性能产生非常负面的影响,因此kubernetes要求每个节点都要禁用swap设备,但是如果因为某些原因确实不能关闭swap分区,就需要在集群安装过程中通过明确的参数进行配置说明

    # 编辑分区配置文件/etc/fstab,注释掉swap分区一行
    # 注意修改完毕之后需要重启linux服务
    vim /etc/fstab
    注释掉 /dev/mapper/centos-swap swap
    # /dev/mapper/centos-swap swap


  7. 转发 IPv4 并让 iptables 看到桥接流量

    通过运行 lsmod | grep br_netfilter 来验证 br_netfilter 模块是否已加载。

    若要显式加载此模块,请运行 sudo modprobe br_netfilter。

    为了让 Linux 节点的 iptables 能够正确查看桥接流量,请确认 sysctl 配置中的 net.bridge.bridge-nf-call-iptables 设置为 1

    cat <overlay
    br_netfilter
    EOF
    sudo modprobe overlay
    sudo modprobe br_netfilter
    # 设置所需的 sysctl 参数,参数在重新启动后保持不变
    cat <net.bridge.bridge-nf-call-iptables = 1
    net.bridge.bridge-nf-call-ip6tables = 1
    net.ipv4.ip_forward = 1
    EOF
    # 应用 sysctl 参数而不重新启动
    sudo sysctl --system


  8. 配置ipvs功能

    在Kubernetes中Service有两种带来模型,一种是基于iptables的,一种是基于ipvs的两者比较的话,ipvs的性能明显要高一些,但是如果要使用它,需要手动载入ipvs模块

    # 1.安装ipset和ipvsadm
    yum install ipset ipvsadm -y
    # 2.添加需要加载的模块写入脚本文件
    cat < /etc/sysconfig/modules/ipvs.modules
    #!/bin/bash
    modprobe -- ip_vs
    modprobe -- ip_vs_rr
    modprobe -- ip_vs_wrr
    modprobe -- ip_vs_sh
    modprobe -- nf_conntrack_ipv4
    EOF
    # 3.为脚本添加执行权限
    chmod +x /etc/sysconfig/modules/ipvs.modules
    # 4.执行脚本文件
    bash /etc/sysconfig/modules/ipvs.modules
    # 5.查看对应的模块是否加载成功
    lsmod | grep -e ip_vs -e nf_conntrack_ipv4


  9. 重启系统

    reboot





推荐阅读
  • 解决CentOS 7.5中无法通过man命令查询C语言库函数的问题
    本文描述了在CentOS 7.5操作系统上,使用man命令查询C语言库函数时遇到的问题,并提供了详细的解决方案。 ... [详细]
  • 本指南详细介绍了如何在 CentOS 7.0 系统上部署 Spring Boot 2.x 应用程序,包括必要的配置和步骤。 ... [详细]
  • Docker 自定义网络配置详解
    本文详细介绍如何在 Docker 中自定义网络设置,包括网关和子网地址的配置。通过具体示例展示如何创建和管理自定义网络,以及容器间的通信方式。 ... [详细]
  • CentOS 转向引发争议,联合创始人推出 Rocky Linux
    CentOS 转向 CentOS Stream 引发用户不满,其联合创始人 Gregory Kurtzer 推出新的社区项目 Rocky Linux,旨在延续 CentOS 的精神。 ... [详细]
  • 解决Jenkins实例离线问题的新方法
    针对新版Jenkins镜像遇到的‘实例离线’问题,本文提供了一种通过调整Linux系统防火墙设置的有效解决方案,旨在为遇到类似问题的用户提供新的思路和帮助。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中安装MySQL 5.5.37时遇到的启动失败和PID文件问题,并提供了详细的解决方案,包括日志分析、权限检查等步骤。 ... [详细]
  • 在DELL Inspiron 14R上部署CentOS X64 6.4的详细步骤
    本文详细记录了在DELL Inspiron 14R笔记本电脑上安装CentOS X64 6.4操作系统的过程,包括遇到的问题及解决方法。 ... [详细]
  • 本文探讨了在CentOS操作系统中遇到的Docker服务启动失败以及Docker命令无响应的问题,并提供了一套详细的排查与解决步骤。 ... [详细]
  • 深入解析Spark核心架构与部署策略
    本文详细探讨了Spark的核心架构,包括其运行机制、任务调度和内存管理等方面,以及四种主要的部署模式:Standalone、Apache Mesos、Hadoop YARN和Kubernetes。通过本文,读者可以深入了解Spark的工作原理及其在不同环境下的部署方式。 ... [详细]
  • 本文介绍了iftop的下载地址、基本参数配置方法及其在不同Linux发行版中的安装问题解决方案。iftop是一款强大的实时网络流量监控工具,适用于需要精确监控网络带宽使用情况的场景。 ... [详细]
  • 本文详细介绍了如何在CentOS 7操作系统上搭建GitLab服务器的过程,包括环境准备、软件安装及基本配置等关键步骤。 ... [详细]
  • 通常,ping命令用于快速检测与远程服务器之间的网络延迟,以评估连接质量。然而,在某些情况下,即使服务器可以正常访问,ping请求也可能无法成功。本文将介绍在CentOS 7系统上禁用ping命令的方法,包括临时和永久性设置。 ... [详细]
  • Docker入门与实践指南
    本文介绍了Docker的基础知识,包括其作为开源应用容器引擎的特点,以及如何利用Docker将应用程序及其依赖项打包成轻量级的容器镜像。同时,还详细讲解了Docker的核心概念、安装过程及基本命令操作。 ... [详细]
  • GNU GRUB(简称GRUB)是一个来自GNU项目的支持多启动的引导加载程序。它允许用户在同一台计算机上安装多个操作系统,并在启动时选择希望启动的系统。 ... [详细]
  • 本文详细介绍了如何在Python环境中配置与Oracle数据库的连接,包括必要的软件安装和环境变量设置等步骤,旨在为初学者提供清晰的操作指南。 ... [详细]
author-avatar
丁可丁可_136
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有