【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
相关推荐
萤火夜5 小时前
Docker(四) Docker介绍
docker·容器
.冰块.6 小时前
Docker 镜像深度学习:分层 Copy‑on‑Write、Dockerfile 语法、Harbor 私有仓库实操
docker·容器·harbor·镜像·dockerfile·images
szephyr6 小时前
Docker 镜像瘦身实战:从 1.2GB 压到 85MB 的完整过程
docker·容器·部署·多阶段构建·镜像优化
小马同学-6 小时前
Containerd入门:架构原理与安装部署
容器·containerd
天天喝旺仔7 小时前
分布式服务容错实战:用 Sentinel 实现限流、熔断与降级
分布式·微服务·云原生·sentinel
小马同学-10 小时前
crictl实战:K8s容器运行时排障工具
容器·k8s·crictl
逐流人10 小时前
Containerd容器管理实战:从架构原理到nerdctlcrictl工具链
linux·运维·云原生·容器·云计算·containerd
kuroomi21 小时前
Ingress-Nginx与kubernetes 网络
linux·运维·网络·kubernetes
闲云自留地21 小时前
Containerd 进阶教程:命名空间 Namespace、私有仓库 Harbor、容器管理全流程
容器
闲云自留地1 天前
Containerd 是什么?架构、插件与安装实践一次讲清
容器