安装k8s前置操作(Ubuntu / CentOS)

Ubuntu 系统与 CentOS/RedHat 在配置方法上有一些区别,但同样可以实现类似的功能和配置。以下是详细的步骤说明:


1. 关闭防火墙

Ubuntu 默认使用的是 ufw(Uncomplicated Firewall),而非 firewalld。关闭防火墙的操作如下:

Ubuntu:

bash 复制代码
sudo systemctl stop ufw
sudo systemctl disable ufw

如果 ufw 未启用,可以使用以下命令确认:

bash 复制代码
sudo ufw status

CentOS:

bash 复制代码
sudo systemctl stop firewalld
sudo systemctl disable firewalld

2. 关闭 SELinux

Ubuntu 默认不启用 SELinux。如果您启用了 SELinux,可以通过以下命令将其禁用:

Ubuntu:

bash 复制代码
sudo setenforce 0
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

CentOS:

bash 复制代码
sudo setenforce 0
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

注意:在 CentOS 和 Ubuntu 中,可以通过以下命令确认 SELinux 的状态:

bash 复制代码
getenforce

3. 清空 iptables 规则

Ubuntu :

在 Ubuntu 中,可以通过以下命令清空 iptables 的规则:

bash 复制代码
sudo iptables -F
sudo iptables -t nat -F

如需检查规则是否清空,可以使用:

bash 复制代码
sudo iptables -L

CentOS:

bash 复制代码
sudo iptables -F
sudo iptables -t nat -F

4. 禁用 swap 分区

Ubuntu :

临时禁用当前的 swap 分区:

bash 复制代码
sudo swapoff -a

为了永久禁用 swap,需要编辑 /etc/fstab 文件,注释掉 swap 分区的相关行:

bash 复制代码
sudo sed -i '/swap / s/^\(.*\)$/#\1/g' /etc/fstab

CentOS:

bash 复制代码
sudo swapoff -a
sudo sed -i '/swap / s/^\(.*\)$/#\1/g' /etc/fstab

5. 修改 /etc/hosts 文件

Ubuntu :

编辑 /etc/hosts 文件,添加主机名与 IP 地址的映射:

bash 复制代码
sudo nano /etc/hosts

CentOS:

bash 复制代码
sudo vi /etc/hosts

添加以下内容(根据实际 IP 地址和主机名调整):

plaintext 复制代码
172.16.200.166  master
172.16.200.167  node

保存并退出。


6. 配置主机间 SSH 免密登录

为了方便主机间的通信,设置 SSH 免密登录。

Ubuntu 和 CentOS:

  1. 在所有主机上生成 SSH 密钥对:

    bash 复制代码
    ssh-keygen -t rsa

    按提示直接回车即可。

  2. 将公钥拷贝到目标主机(例如从 master 拷贝到 node):

    bash 复制代码
    ssh-copy-id user@172.16.200.167
  3. 测试免密登录:

    bash 复制代码
    ssh user@172.16.200.167

其他注意事项

  1. 设置固定 IP 地址
    Ubuntu :

    Ubuntu 使用 netplan 进行网络配置。要设置固定 IP,可以编辑 /etc/netplan/*.yaml 文件,例如:

    yaml 复制代码
    network:
      version: 2
      renderer: networkd
      ethernets:
        eth0:
          dhcp4: no
          addresses:
            - 192.168.1.100/24
          gateway4: 192.168.1.1
          nameservers:
            addresses: [8.8.8.8, 8.8.4.4]

    应用配置:

    bash 复制代码
    sudo netplan apply

    CentOS :

    编辑 /etc/sysconfig/network-scripts/ifcfg-eth0 文件:

    bash 复制代码
    sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

    修改内容:

    plaintext 复制代码
    BOOTPROTO=none
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    DNS2=8.8.4.4
    ONBOOT=yes

    重启网络服务:

    bash 复制代码
    sudo systemctl restart network
  2. 永久禁用 swap 后的验证
    Ubuntu 和 CentOS :

    禁用 swap 后,可以通过以下命令确认:

    bash 复制代码
    sudo swapon --show

    如果未显示任何 swap 分区,说明操作成功。

完成以上配置后,您的 Ubuntu 系统将具备与 CentOS/RedHat 系统类似的设置,适合用于运行如 Kubernetes 集群等需要特定环境的应用。

相关推荐
Learn-Share_HY2 分钟前
[Linux]如何設置靜態IP位址?
linux·运维·tcp/ip·ubuntu·static ip
Everbrilliant891 小时前
Ubuntu系统下交叉编译Android的X265库
linux·运维·ubuntu·x265交叉编译·android x265·ffmpeg x265
David爱编程1 小时前
K8s 的 Namespace 到底解决了什么问题?
云原生·容器·kubernetes
婷儿z1 小时前
Kubernetes 架构原理与集群环境部署
容器·架构·kubernetes
岚天start2 小时前
Kubernetes(k8s)中命令行查看Pod所属控制器之方法总结
kubernetes·k8s·pod·daemonset·deployment·statefulset
退役小学生呀3 小时前
十五、K8s可观测能力:日志收集
linux·云原生·容器·kubernetes·k8s
Andy杨4 小时前
20250718-5-Kubernetes 调度-Pod对象:重启策略+健康检查_笔记
笔记·容器·kubernetes
阿葱(聪)11 小时前
java 在k8s中的部署流程
java·开发语言·docker·kubernetes
路人蛃11 小时前
通过国内扣子(Coze)搭建智能体并接入discord机器人
人工智能·python·ubuntu·ai·aigc·个人开发
指月小筑11 小时前
K8s 自定义调度器 Part1:通过 Scheduler Extender 实现自定义调度逻辑
云原生·容器·kubernetes·go