第 1 步:禁用 SELinux(可选但推荐)
如何在 CentOS 7 上查找 SELinux 状态
sestatus
另一种选择是运行以下 cat 命令:
vi /etc/selinux/config
SELINUX=disabled
reboot
centos7 linux 安装k8s前下面操作的作用是?
cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.3.1
改为
nameserver 114.114.114.114
更改 DNS 服务器: 114.114.114.114 是中国的一个公共 DNS 服务器地址,由 114DNS 提供。你可能希望使用该 DNS 服务器,而不是由 NetworkManager 自动生成的本地 DNS 服务器地址 192.168.3.1。
更换阿里镜像源
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_back
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
清除缓存:yum clean all
生成缓存:yum makecache
同步系统时间
yum install wget net-tools ntp tree -y
启用 NTP 服务
systemctl enable ntpd
systemctl start ntpd
使用 ntpdate 命令从阿里云 NTP 服务器同步系统时间
ntpdate time.aliyun.com
安装Docker
通过yum来安装docker运行环境。
安装docker的依赖组件
在安装docker之前,我们需要先通过yum来安装docker的必要的依赖组件。同时为了编译后面的配置信息格式化输出,我们同时需要安装jq工具。
yum install -y yum-utils device-mapper-persistent-data lvm2
yum install -y jq
添加Docker的安装来源
因为docker安装包不在yum的默认源列表中,因此在安装之前我们需要通过yum-config-manager --add-repo命令向yum默认源列表中添加docker源的地址。
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
配置Docker运行时镜像加速器
当您的Docker版本较新时
当您下载安装的Docker Version不低于1.10时,建议通过daemon config进行配置。使用配置文件/etc/docker/daemon.json(没有时新建该文件)。
{
“registry-mirrors”: [“<镜像加速器地址>”]
}
源添加成功后,我们可以使用yum list命令查看当前的docker源中支持的安装包版本列表。
yum list docker-ce --showduplicates | sort -r
安装Docker应用
docker依赖和docker源安装完成之后,我们就可以使用yum install docker-ce.x86_64命令来安装docker 应用,在使用yum install安装时,默认会选择最新的版本进行安装。如果需要指定安装版本也可以在命令后面加入具体的版本号,
sudo yum install docker-ce-19.03.13-3.el7
安装成功之后,我们还需要通过systemctl start命令来启动docker服务
systemctl start docker.service
第4步:添加 Kubernetes 存储库yam源
链接: link
cat <<EOF | tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.28/rpm/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.28/rpm/repodata/repomd.xml.key
EOF
yum repolist # 可检查
setenforce 0
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet && systemctl start kubelet
将桥接的ipv4流量传递到iptabes链
-
桥接和 iptables 配置:
modprobe br_netfilter echo '1' > /proc/sys/net/bridge/bridge-nf-call-ip6tables # 编辑 sysctl 配置文件 vi /etc/sysctl.d/k8s.conf
在
k8s.conf
文件中添加以下内容:net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1
保存并退出编辑器。
# 应用 sysctl 配置 sysctl --system
这样,你就完成了
kubeadm
的安装以及相关的桥接和 iptables 配置。
请确保在配置文件中没有语法错误,并且在应用配置时没有报错。这些配置通常是在 Kubernetes 部署中需要的,以确保容器网络和服务通信的正常运作。
# 停止防火墙服务
systemctl stop firewalld
# 禁止防火墙服务开机自启动
systemctl disable firewalld
在 CentOS 7 中,可以通过以下步骤来禁用(关闭)交换空间(swap):
禁用交换空间:
swapoff -a
这个命令会关闭(禁用)所有的交换分区。
永久禁用交换空间:
如果你希望在系统重新启动后仍然禁用交换空间,你需要编辑 /etc/fstab 文件,注释掉交换分区的行。你可以使用文本编辑器如 vi 或 nano:
vi /etc/fstab
#注释掉这行
#/dev/mapper/centos-swap swap
yum install kubeadm kubelet kubectl -y
模板主机以完成
GUI VirtualBox 客户端打一个备份后克隆关闭机器克隆
现在打开 /etc/hosts 文件并编辑工作节点的主机名
echo "192.168.3.40 master-node" | sudo tee -a /etc/hosts
echo "192.168.3.42 w-node1" | sudo tee -a /etc/hosts
echo "192.168.3.43 w-node2" | sudo tee -a /etc/hosts