⒈配置Linux的IP地址

vim /etc/sysconfig/network-scripts/ifcfg-ens33v

  ifcfg-ens33是网卡的最新命名规范,它会从BIOS => PCIE通道里获取它的网卡文件名,如果都没有的话,再降级到eth0或者eth1的命名方式,如果需要关闭的话,ifnames=0就可以关闭了。和以前的配置文件修改方式类似。

⒉设置主机名

hostnamectl set-hostname {hostName}

  在大型集群环境中建议大家通过DNS的方式,让主机名和IP之间能够相互解析,当然也可以通过修改host文件进行配置。

  小环境中不建议大家通过DNS的方式,如果DNS挂掉的话那么集群环境也就挂掉了。

⒊修改host文件【非集群环境可省略】

vim /etc/hosts

**在Linux之间相互拷贝文件

#输入完此命令后输入yes,并输入node01的root密码即可复制成功
scp /etc/hosts root@k8s-node01:/etc/hosts

⒋将yum云修改为163【暂略】

⒌安装依赖包

yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git

⒍设置防火墙为lptables 并设置空规则

#关闭firewalld并取消自启动
systemctl stop firewalld && systemctl disable firewalld #安装iptables,启动iptables,设置开机自启,清空iptables规则,保存当前规则到默认规则
yum -y install iptables-services && systemctl start iptables && systemctl enable iptables && iptables -F && service iptables save

⒎关闭SELINUX

  1.关闭swap分区

#关闭swap分区【虚拟内存】并且永久关闭虚拟内存。
swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

  **kubeadm初始化Kubernetes时的过程中会检测swap分区到底有没有关闭,因为如果开启虚拟内存的话,kubernetes的容器【pod】就有可能会运行在虚拟内存上,会大大的降低容器的工作效率,因此Kubernetes会要求强制关闭,可以通过kubelet的启动参数--fail-swap-on=false更改这个限制。推荐关闭以防止容器运行在虚拟内存的情况出现。

  2.关闭SELinux

setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

⒏相对于Kubernetes调整内核参数

cat > kubernetes.conf <<EOF
#开启网桥模式【重要】
net.bridge.bridge-nf-call-iptables=
#开启网桥模式【重要】
net.bridge.bridge-nf-call-ip6tables=
net.ipv4.ip_forward=
net.ipv4.tcp_tw_recycle=
#禁止使用swap空间,只有当系统OOM时才允许使用它
vm.swappiness=
#不检查物理内存是否够用
vm.overcommit_memory=
#开启OOM
vm.panic_on_oom=
fs.inotify.max_user_instances=
fs.inotify.max_user_watches=
fs.file-max=
fs.nr_open=
#关闭ipv6【重要】
net.ipv6.conf.all.disable_ipv6=
net.netfilter.nf_conntrack_max=
EOF
#将优化内核文件拷贝到/etc/sysctl.d/文件夹下,这样优化文件开机的时候能够被调用
cp kubernetes.conf /etc/sysctl.d/kubernetes.conf
#手动刷新,让优化文件立即生效
sysctl -p /etc/sysctl.d/kubernetes.conf

  ***非Linux4的内核下,将会弹出“sysctl:cannot stat /proc/sys/net/netfilter/nf_conntrack_max:没有那个文件或目录”,无视即可。

⒐调整系统时区

#设置系统时区为中国/上海
timedatectl set-timezone Asia/Shanghai
#将当前的 UTC 时间写入硬件时钟
timedatectl set-local-rtc
#重启依赖于系统时间的服务
systemctl restart rsyslog
systemctl restart crond

⒑关闭系统不需要的服务

#关闭及禁用邮件服务
systemctl stop postfix && systemctl disable postfix

⒒设置日志的保存方式

  在Centos7以后,因为引导方式改为了system.d,所以有两个日志系统同时在工作,默认的是rsyslogd,以及systemd journald

  使用systemd journald更好一些,因此我们更改默认为systemd journald,只保留一个日志的保存方式。

  1.创建保存日志的目录

mkdir /var/log/journal

  2.创建配置文件存放目录

mkdir /etc/systemd/journald.conf.d

  3.创建配置文件

cat > /etc/systemd/journald.conf.d/-prophet.conf <<EOF
[Journal]
#持久化保存到磁盘
Storage=persistent #压缩历史日志
Compress=yes SyncIntervalSec=5m
RateLimitInterval=30s
RateLimitBurst= #最大占用空间10G
SystemMaxUse=10G #单日志文件最大200M
SystemMaxFileSize=200M #日志保存时间2周
MaxRetentionSec=2week #不将日志转发到syslog
ForwardToSyslog=no
EOF

  4.重启systemd journald的配置

systemctl restart systemd-journald

⒓升级Linux内核为4.44版本

  CentOS 7.x 系统自带的3.10.x内核存在一些Bugs.导致运行的Docker.Kubernetes不稳定。

  1.获取源

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm

  2.开始安装,安装完成后检查 /boot/grub2/grub.cfg中对应内核menuentry中是否包含 initrd16 配置,如果没有,再安装一次!

yum --enablerepo=elrepo-kernel install -y kernel-lt 

  3.查看系统中的全部内核【可忽略】

rpm -qa | grep kernel

3.设置开机从新内核启动

grub2-set-default 'CentoS Linux(4.4.202-1.el7.elrepo.×86_64) 7 (Core)'

⒔重启启动使配置生效

reboot

⒕查看正在使用的内核【可忽略】

uname -a

*Linux内核相关操作操作可查看  https://www.cnblogs.com/fanqisoft/p/11301630.html

【k8s第一步】Kubernetes-Linux系统初始化【已修正错误】的更多相关文章

  1. 【k8s第三步】Kubernetes-Dashboard仪表盘【已修正错误】

    ⒈下载描述文件 wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta6/aio/deploy/recommen ...

  2. 【k8s第二步】Kubernetes-Kubeadm部署安装【已修正错误】

    ⒈开启kube-proxy的ipvs的前置条件 模式改为lvs调度的方式,kube-proxy主要解决的是svc(service)与pod之间的调度关系,ipvs的调度方式可以极大的增加它的访问效率, ...

  3. linux系统初始化——文件系统初始化步骤

    linux文件系统初始化步骤 System V init启动过程 概括地讲,Linux/Unix系统一般有两种不同的初始化启动方式. 1) BSD system init 2) System V in ...

  4. Linux 系统初始化和服务

    系统的初始化和服务 1. Linux 系统启动流程 打开计算机,从主板 BIOS(Basic Input/Out System)读取其中所存储的程序,引导你找到存储系统的硬件(如光盘.硬盘等) 接下来 ...

  5. Linux系统初始化过程及运行级别简介

    Linux开机过程: 1 开机自检(BIOS):初始化硬件,查找启动介质 2 MBR引导 3 GRUB引导菜单:GRUB程序安装在Bootloader 4 加载内核(kernel) 5 运行INIT进 ...

  6. KALI LINUX系统初始化配置

    1.Kali Linux安装VirtualBox增强功能 VirtualBox增强功能介绍:物理机与虚拟机之间的文件共享.物理机与虚拟机之间的剪切板共享.虚拟机的direct3D支持,这样虚拟机窗口就 ...

  7. Linux系统初始化流程

    POST-->BIOS(Boot Sequence)-->MBR(bootloader)-->Kernel(initrd)-->/sbin/init(/etc/inittab) ...

  8. 修复直接删除linux系统后grub丢失错误

    如果删除了系统后,grub丢失,开机出现“grub>”的话,可以用如下代码进入目标linux系统:grub>ls (hd0,X)/boot             //x为目标系统所在分区 ...

  9. linux系统初始化——sysinit文件写法详解

    sysinit文件写法详解 sysinit文件是linux初始化文件系统时执行的第一个脚本文件.它主要做在各个运行级别中进行初始化工作,包括: 启动交换分区;检查磁盘;设置主机名;检查并挂载文件系统; ...

随机推荐

  1. Codeforces 1221 G Graph And Numbers

    题面 这种比赛时只有11个人做出来的题一般来说都是暴难的, 我也不知道我怎么搞出来的www 看完这个题第一感觉就是要容斥,至少有一条某种边的方案已经比较难求了,而直接算三种边都至少存在一条的方案数就更 ...

  2. 数据结构实验之二叉树八:(中序后序)求二叉树的深度(SDUT 2804)

    #include <stdio.h> #include <stdlib.h> #include <string.h> struct node { char data ...

  3. Python流程控制和缩进

    我们语文学写作文,有如果- -,那么- -的句式,同样Python也有这样的句式: #如何这个条件成立了,那就执行下面这个语句 if 条件: 内容1 内容2 else: 内容3 几点说明:

  4. CF1030C

    CF1030C 题意: 给你一个数字,问能否拆分成k段,使得每一段的每一位数字相加结果相等. 解法: 考虑数位DP. 暴力按位考虑每一位是否满足条件 CODE: #include<cstdio& ...

  5. redis数据结构有哪些

    1.String 可以是字符串,整数或者浮点数,对整个字符串或者字符串中的一部分执行操作,对整个整数或者浮点执行自增(increment)或者自减(decrement)操作. 2.list 一个链表, ...

  6. Hadoop环境搭建|第一篇:linux操作系统安装

    一.安装工具及文件 优盘:8G(非kingston优盘) 制作启动盘工具:Universal_USB_Installer 操作系统:CentOs操作系统 二.注意事项 安装过程的详细步骤,这里就不再赘 ...

  7. 【Golang】嗅探抓包,解决线上偶现问题来不及抓包的情况

    背景 测试群里经常看到客户端的同学反馈发现了偶现Bug,但是来不及抓包,最后不了了之,最近出现得比较频繁,所以写个小脚本解决这个问题. 实现思路 实现的思路比较简单: 抓包 存日志 做日志管理 具体实 ...

  8. docker-compose ELK+Filebeat查看docker及容器的日志

    我目前所在公司开发团队比较小,为集团下面的工厂开发了一套小的系统,跑在一台CentOS服务器上,服务器搭建了docker环境,安装了docker-compose,但在日志处理方面,暂时没有一个好的方法 ...

  9. mongodb 数据更新命令、操作符

    一.Mongodb数据更新命令 Mongodb更新有两个命令:update.save. 1.1update命令 update命令格式: db.collection.update(criteria,ob ...

  10. 01背包---P2392 kkksc03考前临时抱佛脚

    P2392 kkksc03考前临时抱佛脚 题解 01背包,类似于这道题,相似度99.999999%: 01-背包 P2663 越越的组队   一共有4科,每科的时间独立,然后每一科做一遍 P2663越 ...