kubernetes的基础搭建部署-1

系统初始化

一、设置系统主机名以及 Host 文件的相互解析

三台机器分别改为

 46.101: $ hostnamectl  set-hostname  k8s-master01
 46.102: $ hostnamectl  set-hostname  k8s-node01
 46.102: $ hostnamectl  set-hostname  k8s-node02

给三台机器都添加host解析

 192.168.46.101  k8s-master01    m1
 192.168.46.102  k8s-node01      n1
 192.168.46.103  k8s-node02      n2

二、安装依赖包

三台机器同时操作安装

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

三、设置防火墙为 Iptables 并设置空规则

三台机器同时操作安装

 $ systemctl stop firewalld && systemctl disable firewalld
 $ yum -y install iptables-services && systemctl start iptables && systemctl enable iptables && iptables -F && service iptables save

四、关闭 交换分区和SELINUX

三台机器同时操作安装

 $ swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
 $ setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

五、调整内核参数,对于 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 # 禁止使用 swap 空间,只有当系统 OOM 时才允许使用它
 vm.overcommit_memory=1 # 不检查物理内存是否够用
 vm.panic_on_oom=0 # 开启 OOM  
 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
 ​
 $ cp kubernetes.conf  /etc/sysctl.d/kubernetes.conf
 $ sysctl -p /etc/sysctl.d/kubernetes.conf
 # 会提示 没有那个文件或目录 ;不影响

六、调整系统时区

 # 设置系统时区为 中国/上海
 timedatectl set-timezone Asia/Shanghai
 # 将当前的 UTC 时间写入硬件时钟
 timedatectl set-local-rtc 0
 # 重启依赖于系统时间的服务
 systemctl restart rsyslog 
 systemctl restart crond
 #↑以上操作,在安装系统时已选择中文的话,不用操作
 -------------------------------------------------------

修改时间同步

修改master端时间同步

 # master端(46.101)同步时间:
 $ vim /etc/chrony.conf
 注释掉server0到server3 行并添加和阿里云同步:
 sever ntp1.aliyun.com iburst
 sever ntp2.aliyun.com iburst
 sever ntp3.aliyun.com iburst
 开启allow选项并修改为:
 allow 192.168.46.0/24
 ​
 重启:
 systemctl restart chronyd
 systemctl enable chronyd

修改node端时间和master端同步(node01和node02同时操作)

 $ vim /etc/chronyd
 注释掉server区域
 在下面添加行
 server 192.168.46.101 iburst
 ​
 重启:
 systemctl restart chronyd
 systemctl enable chronyd

七、关闭系统不需要服务

 $ systemctl stop postfix && systemctl disable postfix

八、设置 rsyslogd 和 systemd journald

三台机器同时操作

 1. 创建持久化保存日志的目录 
 $ mkdir /var/log/journal 
 2. 创建其配置的目录
 $ mkdir /etc/systemd/journald.conf.d
 3. 写入配置文件;如下
 cat > /etc/systemd/journald.conf.d/99-prophet.conf <<EOF
 [Journal]
 # 持久化保存到磁盘
 Storage=persistent
 ​
 # 压缩历史日志
 Compress=yes
 ​
 SyncIntervalSec=5m
 RateLimitInterval=30s
 RateLimitBurst=1000
 ​
 # 最大占用空间 10G
 SystemMaxUse=10G
 ​
 # 单日志文件最大 200M
 SystemMaxFileSize=200M
 ​
 # 日志保存时间 2 周
 MaxRetentionSec=2week
 ​
 # 不将日志转发到 syslog
 ForwardToSyslog=no
 EOF
 ​
 4. 重启
 $ systemctl restart systemd-journald

九、升级系统内核为 4.44

三台机器同时操作

将文件 kernel-lt-4.4.222-1.el7.elrepo.x86_64.rpm 拉进来

 $ yun -y install kernel-lt-4.4.222-1.el7.elrepo.x86_64.rpm
 ​
 # 查看grub2菜单引导
 $ cat /boot/grub2/grub.cfg | grep 4.4
 ​
 # 设置grub2菜单引导默认值
 $ grub2-set-default 'CentOS Linux (4.4.222-1.el7.elrepo.x86_64) 7 (Core)'
 $ reboot
 ​
 检查内核版本
 $ uname -r  


公网安装

CentOS 7.x 系统自带的 3.10.x 内核存在一些 Bugs,导致运行的 Docker、Kubernetes 不稳定,例如: rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

 rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
 # 安装完成后检查 /boot/grub2/grub.cfg 中对应内核 menuentry 中是否包含 initrd16 配置,如果没有,再安装一次!
 yum --enablerepo=elrepo-kernel install -y kernel-lt
 # 设置开机从新内核启动
 grub2-set-default 'CentOS Linux (4.4.189-1.el7.elrepo.x86_64) 7 (Core)'

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值