VM Ware安装CentOS模拟服务器搭建K8s环境

2023年 9月 22日 71.5k 0

下载系统镜像光盘文件

[清华开源软件镜像站centos下载地址](Index of /centos/7.9.2009/isos/x86_64/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror)

image.png

[清华大学开源软件镜像站]

centos-7-isos-x86_64安装包下载_开源镜像站-阿里云 (aliyun.com))

安装虚拟机软件并配置CentOS光盘文件

这里使用的时VM player,有条件可以使用VM Ware Pro版本,当然其他虚拟机软件也可以。

  • 点击创建新虚拟机
  • image.png

  • 选择iso光盘镜像文件
  • 直接选择DVD的iso文件即可,也可以选择稍后安装。

    image.png

  • 选择Linux和版本
  • image.png

  • 选择相应的安装未知即可
  • image.png

    如果选择稍后安装,点击这里的编辑虚拟机配置iso镜像即可

    image.png

    安装CentOS

  • 启动虚拟机,进入安装页面,选择install CentOS7
  • image.png

  • 选择语言
  • 默认美式英文即可

    image.png

  • 配置时区
  • 点击DATE & TIME在出现的地图上点击上海所在区域即可。

    image.png

  • 配置系统和分区
  • 点击INSTALL TION ...,在点击DONE默认即可

    image.png
    5. 配置网络

    安装虚拟机归属于局域网,需要配置局域网ip。点击NETWORK & ...开启ens33重命名主机名点击Apply,最后点击Done

    image.png

    最后点击Begin Installtion

  • 配置Root用户密码并创建一个用户
  • image.png

    用户密码都是随便设置的,如果显示太短连点两次Done即可

    root : root
    pass : root
    
    user : centos01
    pass : root
    

    image.png

    到此已经配置完成了,等待进度条完成即可。

    image.png

    点击Reboot,由于安装时选择的最小软件,因此时没有Gome桌面的时终端命令版。

    image.png

    克隆多台主机修改网络配置

  • 文件夹复制三份,专业版vm 有克隆功能无需复制
  • image.png

    安装完虚拟机后,将虚拟机克隆两份,如果使用的Plaer版,直接复制文件夹在对应的文件下复制已安装的虚拟机。点击打开

    image.png

  • 配置静态网址
  • 切换root用户,进入到cd /etc/sysconfig/network-scripts/目录下,编辑如下划线文

    image.png

    原始内容如下

    image.png

    修改dhcp为静态static,追加ip,子网,网关信息

    image.png

    IPADDR="192.168.42.132"
    NETMASK="255.255.255.0"
    GATEWAY="192.168.42.2"
    

    这个ip地址和网关信息在安装的NETWORK配置以及显示了,如下
    image.png

  • 重启网络
  • service network restart

    ip addr 命令查看ip信息,和配置一样即为静态网络配置成功。

    image.png

  • 修改主机名
  • vi /etc/hostname

    注意上述步骤只需要修改克隆的两台主机即可,保证局域网下ip唯一,主机名唯一即可。

    最终就是三台主机三个ip地址

    image.png

    搭建k8s预设环境

    之后的所有命令最好使用root用户

    在正式安装k8s插件时还有一系列的铺垫操作,k8s不是直接安装就可以用的还需要对系统预设环境,卸载或安装可能导致的问题的工具。

    主机名 ip addr
    centos01 192.168.42.131
    centos02 192.168.42.132
    centos03 192.168.42.133

    在搭建环境之前一定要注意的是k8s与docker容器的版本对应关系,因为k8s是多个组件的统称,如果k8s组件与docker版本之间存在冲突就会造成环境搭建失败。

    k8s:截止2022.09.23(当前最新)的k8s软件版本支持docker容器引擎的情况:汇总信息 - jinzhenshui - 博客园 (cnblogs.com)

  • 本地DNS配置
  • 方便集群节点间的直接调用

    vi /etc/hosts

    image.png

  • 同步时间
    • 安装yum install chrony -y

    image.png

    image.png

    • 设置开启启动
    systemctl start chronyd
    systemctl enable chronyd
    
    • 设置服务端所有从节点从服务端同步时间

    选择master(centos01=192.168.42.131)节点为服务端

    vim /etc/chrony.conf

    修改红方框的内容

    image.png

    # Allow NTP client access from local network.  允许所有主机从server端同步时间
    allow all 
     
    # Serve time even if not synchronized to a time source.  即使server端无法从互联网同步时间,也同步本机时间至client
    local stratum 10 
    
    

    客户端同步配置,vim /etc/chrony.conf 注释原server配置,改为 server 机器 IP 地址

    image.png

    • 重启chronyd服务查看同步情况

    重启服务systemctl restart chronyd

    查看在线情况chronyc activity

    查看时间同步情况chronyc tracking

    image.png

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

    • 关闭firewalld服务
    systemctl stop firewalld
    systemctl disable firewalld
    

    或者是

    systemctl status firewalld.service 
    systemctl stop firewalld.service 
    systemctl disable firewalld.service 
    firewall-cmd --state
    

    查看是否成功关闭systemctl status firewalld

    image.png

    • 关闭iptables服务
    systemctl stop iptables
    systemctl disable iptables
    

    或者是

    yum install iptables-services
    systemctl status iptables.service 
    systemctl stop iptables.service 
    systemctl disable iptables.service
    reboot
    
  • 禁用selinux
  • selinux是linux系统下的一个安全服务,如果不关闭它,在安装集群中会产生各种各样的问题。

    sed -i 's/enforcing/disabled/' /etc/selinux/config
    

    或者vi /etc/selinux/config手动修改SELINUX=disabled

    image.png

  • 禁用swap分区
  • swap分区指的是虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间虚拟成内存来使用启用swap设备会对系统的性能产生非常负面的影响,因此kubernetes要求每个节点都要禁用。

    vi /etc/fstab

    注释掉划红线的部分(存在swap一行)

    image.png

  • 修改Linux内核参数
    • vi /etc/sysctl.d/kubernetes.conf

    我们需要修改linux的内核参数,添加网桥过滤和地址转发功能,编辑/etc/sysctl.d/kubernetes.conf文件,添加如下配置:

    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    net.ipv4.ip_forward = 1
    
    • 重新加载配置sysctl -p

    • 加载网桥过滤模块modprobe br_netfilter

    • 查看网桥过滤模块是否加载成功lsmod | grep br_netfilter

    image.png

  • 配置 ipvs 功能
  • 在kubernetes中service有两种代理模型,一种是基于iptables的,一种是基于ipvs的 相比较的话,ipvs的性能明显要高一些,但是如果要使用它,需要手动载入ipvs模块

    # 安装ipset和ipvsadm
    yum install ipset ipvsadmin -y

    # 添加需要加载的模块写入脚本文件
    cat

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论