K8S搭建(centos)二、服务器设置

发布时间:2024年01月22日

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。


K8S搭建(ubuntu)系列:
k8s搭建(详细演示完整一篇)
k8s搭建(二、k8s组件安装)

K8S搭建(centos)系列:
K8S搭建(centos)完整版
K8S搭建(centos)一、环境准备
K8S搭建(centos)二、服务器设置
K8S搭建(centos)三、安装Docker
K8S搭建(centos)四、安装K8S
K8S搭建(centos)五、初始化(master节点)
K8S搭建(centos)六、搭建集群
K8S搭建(centos)七、节点加入集群
K8S搭建(centos)八、从节点中使用kubectl命令
K8S搭建(centos)九、集群节点的删除
K8S搭建(centos)十、Dashboard配置(主节点)

服务器设置

1. 基础参数查看

1.1 查看本机ip

ifconfig

1.2 查看系统参数

uname -a

1.3 查看内核参数

cat /proc/version

1.4 查看mac address和product_uuid

需要确保每个机器的mac地址和product_uuid唯一,如果不唯一,安装k8s可能会失败
mac address为软件地址
product_uuid为硬件地址
正常硬件设备会拥有唯一的地址,但是有些虚拟机的地址可能会重复。
Kubernetes 使用这些值来唯一确定集群中的节点。 如果这些值在每个节点上不唯一,可能会导致安装 失败。
查看mac address

ip link

ifconfig -a

查看product_uuid

cat /sys/class/dmi/id/product_uuid

dmidecode -s system-uuid

1.5 主机参数查看

hostnamectl status

1.6 端口查看

确保以下对应端口可用(没被别的程序占用)
master节点端口

协议方向端口(范围)作用使用者
TCP入站6443kubernetes API server所有组件
TCP入站10250kubelet APIkubelet、控制平面组件
TCP入站10251kube-schedulerkube-scheduler
TCP入站10252kube-controller-managerkube-controller-manager
TCP入站2379-2380etcd服务器客户端API

work节点端口

协议方向端口(范围)作用使用者
TCP入站10250kubelet APIkubelet、控制平面组件
TCP入站30000-32767NodePort服务所有组件

2. 基础参数设置(每个节点)

以下操作每个节点都要来一遍

2.1 防火墙关闭

为了能正常进行k8s的安装配置,建议关闭防火墙
查看防火墙状态

systemctl status firewalld

执行命令后输出的内容如下则表示防火墙已关闭,即Active值为inactive(dead)
在这里插入图片描述
如未关闭则用以下命令关闭防火墙

systemctl disable --now firewalld

systemctl stop firewalld
systemctl disable firewalld

重启机器后生效

后续如需开启防火墙可用命令

systemctl start firewalld
systemctl enable firewalld

2.2 交换内存swap分区关闭

kubelet 在 1.8 版本以后强制要求 swap 必须关闭。要不然kubelet 无法正常启动
当内存不够时,swap会使用硬盘块充当额外内存,硬盘io较内存差异较大,严重影响性能,故每个节点都需禁用
查看交换内存使用情况

swapon -s
sudo free -m

如果没被使用则swap那一行的值均为0
在这里插入图片描述

临时禁用Swap

sudo swapoff -a

永久禁用swap,将fstab文件中的swap参数注释掉

sed -i 's/.*swap.*/#&/' /etc/fstab

或使用vim命令修改

vim /etc/fstab

重启机器后生效
swapoff命令只能临时禁用,重启后会失效
想要永久禁用,则需要用sed那行命令修改配置文件内容,修改/etc/fstab文件中的swap那一行,将其注释
但可能阿里云服务器与常规centos系统有所差异,查看fstab内容如下

cat /etc/fstab

在这里插入图片描述
此处看上去并无swap内容,暂时不管,接着进行

2.3 禁用SELinux

kubelet挂载目录时会受SELinux影响,可能会报Permission denied
查看SELinux状态

sestatus

在这里插入图片描述
如未关闭则执行以下命令关闭,将值设为disabled或permissive
临时关闭

setenforce 0

永久禁用

sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/seliux/config

sed -i 's/enforcing/disabled/' /etc/selinux/config

重启机器后生效

2.4 节点互通配置

2.4.1 修改主机名称

查看主机名称

cat /etc/hostname

或者

hostnamectl status

修改主机名称,使用以下命令
将master主节点命名为k8s-master、工作节点worker1命名为k8s-worker1、工作节点worker2命名为k8s-worker2
以master节点为例

hostnamectl set-hostname k8s-master

或者使用vim进行修改文件内容

vim /etc/hostname

针对服务器可以使用shutdown -r来安全重启机器,对于本地虚拟机则手动关机重启即可

2.4.2 主机名与ip绑定

以master节点节点为例,其余两个节点相同操作
查看主机与ip配置信息

cat /etc/hosts

在这里插入图片描述
如本机ip已存在,则先删掉或注掉再进行添加,如上图最后一行
添加参数,将主机与ip绑定

cat >> /etc/hosts <<EOF
172.30.0.224 k8s-master
172.30.0.223 k8s-worker1
172.30.0.222 k8s-worker2
EOF

或者使用vim命令修改文件,将ip与名称参数填入

vim /etc/hosts

或者使用echo

echo "172.30.0.224 k8s-master" >> /etc/hosts
echo "172.30.0.223 k8s-worker1" >> /etc/hosts
echo "172.30.0.222 k8s-worker2" >> /etc/hosts

添加后查看如下
在这里插入图片描述
在这里插入图片描述

2.5 时间同步设置

先查看同步状态

timedatectl status

在这里插入图片描述

  • 时区参数
    Time zone: Asia/Shanghai(CST, +0800)
    Asia/Shanghai表示上海时区
  • 时钟是否同步参数
    System clock synchronized: yes
    yes为同步
  • 时钟同步服务是否开启
    NTP service: active
    active为已开启

如未同步,则执行以下命令设置
设置时区(上海时区)

timedatectl set-timezone Asia/Shanghai

设置时间同步

systemctl enable --now chronyd

systemctl start chronyd
systemctl enable chronyd

然后输入date命令查看时间验证

date

在这里插入图片描述

如果是本地创建的虚拟机则还需执行以下命令,如果是云服务器则可忽略
当前UTC时间写入硬件时钟

timedatectl set-local-rtc 0

重启系统时间服务

systemctl restart rsyslog && systemctl restart crond

2.6 可信列表配置(可跳过,本篇跳过)

将三台服务器互相加入可信列表,互信互通无障碍
在主节点master中生成ssh秘钥,分发到每个节点
生成ssh秘钥

ssh-keygen -t rsa

一路回车即可
输出如下
在这里插入图片描述
复制生成的秘钥(SHA开头的那一串)到各个节点的可信列表中

ssh-copy-id root@k8s-master
ssh-copy-id root@k8s-worker1
ssh-copy-id root@k8s-worker2

在这里插入图片描述
由于适应的是阿里云的服务器,已经有自己的秘钥,故无法覆盖重写,如遇此情况,可跳过该小节,无影响


感谢阅读,祝君暴富!

文章来源:https://blog.csdn.net/mo_sss/article/details/135748917
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。