• Kubernetes集群部署篇


    一、环境准备
    1、机器环境前置条件
    当前演示准备3台虚拟机环境,或者是3台阿里云服务器都可
    k8s-master01: 此机器用来安装k8s-master的操作环境
    k8s-node01: 此机器用来安装k8s node节点的环境
    k8s-node02: 此机器用来安装k8s node节点的环境
    修改网络配置,确保虚拟机网络连通,Xshell连接
    节点CPU核数必须是 :>= 2核 ,否则k8s无法启动
    DNS网络: 最好设置为 本地网络连通的DNS,否则网络不通,无法下载一些镜像
    linux内核: linux内核必须是 4 版本以上,因此必须把linux核心进行升级
    前置环境准备完成
    2、依赖环境安装配置
    注:每一台机器都要安装此依赖环境
    1、给每一台机器设置主机名
    hostnamectl set-hostname k8s-master01
    hostnamectl set-hostname k8s-node01
    hostnamectl set-hostname k8s-node02
    查看主机名
    hostname
    配置IP host映射关系
    vi /etc/hosts
    192.168.66.10 k8s-master01
    192.168.66.11 k8s-node01
    192.168.66.12 k8s-node02
    2、安装依赖环境
    yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat
    libseccomp wget vim net-tools git iproute lrzsz bash-completion tree bridge-
    utils unzip bind-utils gcc
    3、安装iptables,启动iptables,设置开机自启,清空iptables规则,保存当前规则到默认规则
    关闭防火墙并设置开机禁用防火墙
    systemctl stop firewalld && systemctl disable firewalld
    置空iptables
    yum -y install iptables-services && systemctl start iptables && systemctl enable
    iptables && iptables -F && service iptables save
    4、关闭selinux
    闭swap分区【虚拟内存】并且永久关闭虚拟内存
    swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
    关闭selinux
    setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
    5、升级Linux内核为4.44版本
    rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
    安装内核
    yum --enablerepo=elrepo-kernel install -y kernel-lt
    查询已安装的内核
    rpm -qa | grep kernel
    查看默认启动项
    awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
    上面命令中找到新内核的名称,替换后执行下面命令,令开机从新内核启动
    grub2-set-default 'CentOS Linux (4.4.230-1.el7.elrepo.x86_64) 7 (Core)'
    重启机器 注意:设置完内核后,需要重启服务器才会生效
    reboot
    重启后查询内核
    uname -r
    6、调整内核参数,对于k8s
    cat > kubernetes.conf <<EOF
    net.bridge.bridge-nf-call-iptables=1
    net.bridge.bridge-nf-call-ip6tables=1
    net.ipv4.ip_forward=1
    net.ipv4.tcp_tw_recycle=0
    vm.swappiness=0
    vm.overcommit_memory=1
    vm.panic_on_oom=0
    fs.inotify.max_user_instances=8192
    fs.inotify.max_user_watches=1048576
    fs.file-max=52706963
    fs.nr_open=52706963
    net.ipv6.conf.all.disable_ipv6=1
    net.netfilter.nf_conntrack_max=2310720
    EOF
    将优化内核文件拷贝到/etc/sysctl.d/文件夹下,这样优化文件开机的时候能够被调用
    cp kubernetes.conf /etc/sysctl.d/kubernetes.conf
    手动刷新,让优化文件立即生效
    sysctl -p /etc/sysctl.d/kubernetes.conf
    上面手动刷新会有这个异常,忽略即可,是因为有一个组件没有加载
    sysctl: cannot stat /proc/sys/net/netfilter/nf_conntrack_max: No such file or
    directory
     
     
    7、调整系统临时区 (如果已设置可略过)
    设置系统时区为中国/上海
    timedatectl set-timezone Asia/Shanghai
    将当前的 UTC 时间写入硬件时钟
    timedatectl set-local-rtc 0重启依赖于系统时间的服务
    systemctl restart rsyslog
    systemctl restart crond
    8、关闭系统不需要的服务
    systemctl stop postfix && systemctl disable postfix
    9、设置日志保存方式
    创建保存日志的目录
    mkdir /var/log/journal
    创建配置文件存放目录
    mkdir /etc/systemd/journald.conf.d
    创建配置文件
    cat > /etc/systemd/journald.conf.d/99-prophet.conf <<EOF
    [Journal]
    Storage=persistent
    Compress=yes
    SyncIntervalSec=5m
    RateLimitInterval=30s
    RateLimitBurst=1000
    SystemMaxUse=10G
    SystemMaxFileSize=200M
    MaxRetentionSec=2week
    ForwardToSyslog=no
    EOF
    重启systemd journald的配置
    systemctl restart systemd-journald
    10、打开文件数调整 (可忽略,不执行)
    echo "* soft nofile 65536" >> /etc/security/limits.conf
    echo "* hard nofile 65536" >> /etc/security/limits.conf
  • 相关阅读:
    LA 3135 优先队列
    uva 11991 查询中容器的运用
    uva 11995 判别数据类型
    LA 4973异面线段
    LA 2797 平面区域dfs
    LA 2218 半平面交
    poj 3525 求凸包的最大内切圆
    poj 1031 多边形对点(向周围发射光线)的覆盖
    poj 1269 直线间的关系
    kotlin学习笔记-异常好玩的list集合总结
  • 原文地址:https://www.cnblogs.com/zhouyideboke/p/16499054.html
Copyright © 2020-2023  润新知