热门标签 | 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





推荐阅读
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社区 版权所有