【1】搭建k8s集群系列(二进制部署)之系统初始化

前置知识点

1.1 生产环境部署 K8s 集群的两种方式

• kubeadm

Kubeadm 是一个 K8s 部署工具,提供 kubeadm init 和 kubeadm join,用于快速部

署 Kubernetes 集群。

• 二进制包

从 github 下载发行版的二进制包,手动部署每个组件,组成 Kubernetes 集群。

小结:Kubeadm 降低部署门槛,但屏蔽了很多细节,遇到问题很难排查。如果想更

容易可控,推荐使用二进制包部署 Kubernetes 集群,虽然手动部署麻烦点,期间

可以学习很多工作原理,也利于后期维护。

1.2 准备环境

服务器要求:

• 建议最小硬件配置:2 核 CPU、2G 内存、30G 硬盘

• 服务器最好可以访问外网,会有从网上拉取镜像需求,如果服务器不能上网,

需要提前下载对应镜像并导入节点

准备环境:

软件 版本
操作系统 CentOS7.x_x64 (mini)
容器引擎 Docker CE 19
Kubernetes v1.20

集群架构图:

单 Master 服务器规划:

角色 IP 组件
k8s-master1 192.168.1.20 kube-apiserver、 kube-controller-manager、kube-scheduler、etcd
k8s-node1 192.168.1.21 kubelet,kube-proxy,docker,etcd
k8s-node2 192.168.1.22 kubelet,kube-proxy,docker,etcd

1.3 操作系统初始化命令

bash 复制代码
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 关闭 selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config # 永久
setenforce 0 # 临时
# 关闭 swap
swapoff -a # 临时
sed -ri 's/.*swap.*/#&/' /etc/fstab # 永久
# 根据规划设置主机名
hostnamectl set-hostname <hostname>
# 在 master 添加 hosts
cat >> /etc/hosts << EOF
192.168.1.20 k8s-master1
192.168.1.21 k8s-node1
192.168.1.22 k8s-node2
EOF
# 将桥接的 IPv4 流量传递到 iptables 的链
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system # 生效
# 时间同步
yum install ntpdate -y
ntpdate time.windows.com
相关推荐
松岩2 分钟前
dcgm-exporter部分指标
kubernetes
我是谁??3 小时前
ubuntu22.04 通过docker部署vLLM(Qwen3-0.6B)大模型+New API+OpenWebUI
docker·容器·vllm
Patrick_Wilson3 小时前
K8s 探针避坑:Next.js 不同部署模式下的健康检查实践
kubernetes·node.js·next.js
运维瓦工3 小时前
DevOps 生态介绍(十):Docker Compose 核心 YAML 配置详解与常用命令大全
spring cloud·docker·容器
Plastic garden4 小时前
K8s(10)NFS 的动态 PV 创建数据库给k8s的mysql和redis
docker·容器·kubernetes
Plastic garden4 小时前
k8s(11) Pod 控制器,服务发现与存储管理
kubernetes
与海boy4 小时前
docker compose minio
docker·容器·eureka
星辰徐哥4 小时前
云原生核心特性:容器化、微服务与DevOps的通俗解读
微服务·云原生·devops
武子康5 小时前
调查研究-167 Docker Compose 详解:从单容器到多服务编排的工程化入口
运维·docker·云原生·容器·kubernetes·k8s·docker-compose