CentOS 8.2 k8s 基础环境配置

十念  金牌会员 | 2022-10-16 14:47:37 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 890|帖子 890|积分 2670

一、基础环境配置

1 IP 修改

机器克隆后 IP 修改,使Xshell连接上
 
  1. [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens160
  2. TYPE="Ethernet"
  3. PROXY_METHOD="none"
  4. BROWSER_ONLY="no"
  5. BOOTPROTO="static" # 配置静态IP,防止修改
  6. DEFROUTE="yes"
  7. IPV4_FAILURE_FATAL="no"
  8. IPV6INIT="yes"
  9. IPV6_AUTOCONF="yes"
  10. IPV6_DEFROUTE="yes"
  11. IPV6_FAILURE_FATAL="no"
  12. IPV6_ADDR_GEN_MODE="stable-privacy"
  13. NAME="ens160"
  14. UUID="d20c4f2e-c799-46e6-9a7a-0579c1791c27"
  15. DEVICE="ens160"
  16. ONBOOT="yes"
  17. IPADDR="192.168.192.10" # 修改ip地址
  18. PREFIX="24"
  19. GATEWAY="192.168.192.2" # 修改网关地址
  20. IPV6_PRIVACY="no"
  21. DNS1=114.114.114.114 # DSN配置上,不然使用域名会找不到的
  22. DNS2=8.8.8.8
复制代码
 重启网卡,并测试好不好使
  1. [root@localhost software]# nmcli c reload ens160
  2. [root@localhost software]# nmcli c up ens160
  3. Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)
  4. [root@localhost software]# 重启完后测试
  5. [root@localhost software]# ping 114.114.114.114
  6. PING 114.114.114.114 (114.114.114.114) 56(84) bytes of data.
  7. 64 bytes from 114.114.114.114: icmp_seq=1 ttl=128 time=30.8 ms
  8. 64 bytes from 114.114.114.114: icmp_seq=2 ttl=128 time=30.6 ms
  9. 64 bytes from 114.114.114.114: icmp_seq=3 ttl=128 time=28.10 ms
  10. 64 bytes from 114.114.114.114: icmp_seq=4 ttl=128 time=30.1 ms
  11. 64 bytes from 114.114.114.114: icmp_seq=5 ttl=128 time=34.4 ms
  12. ^C
  13. --- 114.114.114.114 ping statistics ---
  14. 5 packets transmitted, 5 received, 0% packet loss, time 14ms
  15. rtt min/avg/max/mdev = 28.999/30.978/34.430/1.841 ms
复制代码
 
2 设置主机名
  1. hostnamectl set-hostname kube-master01
  2. hostnamectl set-hostname kube-node01
  3. hostnamectl set-hostname kube-node02
  4. hostnamectl set-hostname kube-vip
复制代码
 
3 配置hosts本地解析
  1. cat > /etc/hosts <<EOF
  2. 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
  3. ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
  4. 192.168.192.10 kube-master01
  5. 192.168.192.20 kube-node01
  6. 192.168.192.30 kube-node02
  7. 192.168.192.40 kube-vip
  8. EOF
复制代码
 
5 YUM 源配置

本地或者自建服务器都需要配置 YUM 源,如果是云服务器由于本身就有对应云的 YUM 源,不需要配置
  1. # 关闭防火墙
  2. [root@localhost ~]# systemctl stop firewalld
  3. [root@localhost ~]# systemctl disable firewalld
  4. Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
  5. Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
  6. # 关闭Selinux
  7. # 永久关闭
  8. [root@localhost ~]# sed -i "s#^SELINUX=.*#SELINUX=disabled#g" /etc/selinux/config
  9. # 临时关闭
  10. [root@localhost ~]# setenforce 0
  11. # 检查
  12. [root@localhost ~]# /usr/sbin/sestatus -v
  13. SELinux status:                 enabled
  14. # 先查看 Swap有没有
  15. [root@localhost ~]# free -m
  16.               total        used        free      shared  buff/cache   available
  17. Mem:           1800        1208         122          15         469         417
  18. Swap:          2047          15        2032
  19. # 关闭 Swap 分区,Swap 会影响性能
  20. [root@localhost ~]# swapoff -a && sysctl -w vm.swappiness=0
  21. vm.swappiness = 0
  22. [root@localhost ~]# sed -ri '/^[^#]*swap/s@^@#@' /etc/fstab
  23. # 在确认下 [查看swap一行全是0就正确]
  24. [root@localhost ~]# free -m
  25.               total        used        free      shared  buff/cache   available
  26. Mem:           1800        1210         110          25         479         406
  27. Swap:             0           0           0
  28. [root@localhost ~]# cat /etc/hosts
  29. 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
  30. ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
  31. # 主机名解析
  32. [root@localhost ~]# echo "127.0.0.1 $(hostname)" >> /etc/hosts
  33. [root@localhost ~]# cat /etc/hosts
  34. 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
  35. ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
  36. 127.0.0.1 localhost.localdomain
复制代码
 
6 基础依赖安装

由于服务器最小化安装,需要安装一些常用的依赖和工具,否则后面安装可能会报错
  1. # 备份旧的 yum 源
  2. cd /etc/yum.repos.d/
  3. mkdir backup-$(date +%F)
  4. mv *repo backup-$(date +%F)
  5. # 上面看不懂,这有简单的
  6. [root@localhost yum.repos.d]# mkdir /etc/yum.repos.d.bak
  7. [root@localhost yum.repos.d]# cp /etc/yum.repos.d/* /etc/yum.repos.d.bak/
  8. [root@localhost yum.repos.d]# ls /etc/yum.repos.d.bak/
  9. # 添加阿里云 yum 源
  10. [root@localhost yum.repos.d]# curl http://mirrors.aliyun.com/repo/Centos-7.repo -o ali.repo
  11.   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
  12.                                  Dload  Upload   Total   Spent    Left  Speed
  13. 100  2523  100  2523    0     0  13637      0 --:--:-- --:--:-- --:--:-- 13637
复制代码
注意:yum 安装出错,看最后一个报错标题里面找。
 
7 配置时间同步

本地或者自建服务器都需要配置时间同步,如果是云服务器由于本身就有对应云的时间同步机制,不需要配置
  1. # 安装 epel 源
  2. [root@localhost yum.repos.d]# yum -y install epel-release
  3. [root@localhost yum.repos.d]# yum clean all
  4. 33 files removed
  5. [root@localhost yum.repos.d]# yum makecache
  6. # 安装常用依赖
  7. yum -y install gcc glibc gcc-c++ make cmake net-tools screen vim lrzsz tree dos2unix lsof \
  8.     tcpdump bash-completion wget openssl openssl-devel bind-utils traceroute \
  9.     bash-completion glib2 glib2-devel unzip bzip2 bzip2-devel libevent libevent-devel \
  10.     expect pcre pcre-devel zlib zlib-devel jq psmisc tcping yum-utils device-mapper-persistent-data \
  11.     lvm2 git device-mapper-persistent-data bridge-utils container-selinux binutils-devel \
  12.     ncurses ncurses-devel elfutils-libelf-devel ack
  13. # 升级服务器
  14. yum -y update
复制代码
 
9 互相免密

Master 节点执行以下操作
  1. echo "# 互联网时间同步" >> /var/spool/cron/root
  2. echo "*/5 * * * * /usr/sbin/ntpdate time2.aliyun.com >/dev/null 2>&1" >> /var/spool/cron/root
复制代码
 
10 内核升级

在 Kubernetes 的 Github 仓库中:
有提到关于内核版本的问题:

  • Faster mount detection for linux kernel 5.10+ using openat2 speeding up pod churn rates. On Kernel versions less 5.10, it will fallback to using the original way of detecting mount points i.e by parsing /proc/mounts.
  • 这意味着内核 5.10 版本以后会使用 openat2 进行更快的挂载检测,所有可以将内核升级到 5.10 以后,但没必要最新。
  • 这里使用的是 5.11.16 版本,更新于 2021 年 4 月。如果想安装其它版本可以去下面网站下载:http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/
创建用于存放安装包并下载
  1. ssh-keygen -t rsa
  2. # 定义 master 列表
  3. MASTER_LIST=(
  4. 192.168.192.10
  5. 192.168.192.30
  6. )
  7. # 配置免密登录
  8. for i in ${MASTER_LIST[@]};do
  9.     ssh-copy-id -i /root/.ssh/id_rsa.pub root@$i
  10. done
  11. # yes
  12. # 输入密码
复制代码
执行安装
  1. mkdir -p /opt/software/kernel
  2. cd /opt/software/kernel
  3. wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-5.11.14-1.el7.elrepo.x86_64.rpm
  4. wget http://193.49.22.109/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-devel-5.11.14-1.el7.elrepo.x86_64.rpm
复制代码
注意:CentOS 8.2 对以上内核升级需要安装各种依赖。
CentOS 7.9 升级内核 kernel-ml-5.6.14版本:https://www.cnblogs.com/huaxiayuyi/p/16788084.html
Centos 8.2 升级内核通过elrepo源:https://www.cnblogs.com/huaxiayuyi/p/16794239.html
 
8 系统优化

对系统打开文件数进行修改,提升性能
[code]cat >> /etc/security/limits.conf  /etc/modules-load.d/ipvs.conf > /etc/sysctl.d/user.conf
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

十念

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表