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

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


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


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


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 入站 6443 kubernetes API server 所有组件
TCP 入站 10250 kubelet API kubelet、控制平面组件
TCP 入站 10251 kube-scheduler kube-scheduler
TCP 入站 10252 kube-controller-manager kube-controller-manager
TCP 入站 2379-2380 etcd 服务器客户端API

work节点端口

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

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

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


感谢阅读,祝君暴富!

猜你喜欢

转载自blog.csdn.net/mo_sss/article/details/135748917