k8s集群离线部署
时间: 2025-07-01 14:58:23 浏览: 17
### 环境准备
在离线环境中部署 Kubernetes 集群前,需要确保所有节点满足基本的硬件和软件要求。通常情况下,每个节点至少需要 2GB 或更多的内存、2 个 CPU 核心以及足够的磁盘空间。操作系统方面,可以选择 CentOS、Ubuntu 等 Linux 发行版[^1]。
### 配置 FTP 服务
为了方便传输安装所需的文件,可以配置一个本地 FTP 服务。这一步骤对于那些没有直接网络访问权限的环境尤为重要。安装和配置 vsftpd 是一种常见的做法,它能够提供稳定的服务支持[^1]。
### Docker 安装
Kubernetes 使用 Docker 来运行容器化应用。因此,在所有节点上安装 Docker 是必要的。由于处于离线环境,需要提前下载好 Docker 的 RPM 或 DEB 包,并将其传输到目标机器上进行安装。此外,还需要确保 Docker 的配置正确,以便与 Kubernetes 兼容。
### 部署 Kubernetes
#### 准备环境
确保安装了 Java、Go、Git 等依赖工具。这些工具对于后续的编译和部署工作至关重要。同时,还需要下载 Kubernetes 二进制文件,可以从 Kubernetes 官方网站下载所需版本的二进制文件。准备集群配置文件,包括 Master 和 Worker 节点的配置[^2]。
#### 部署 Master 节点
使用下载的 Kubernetes 二进制文件在 Master 节点上部署 Kubernetes 集群。此过程涉及启动 etcd、apiserver、controller-manager 和 scheduler 组件。需要手动创建 systemd 单元文件来管理这些服务的生命周期。
#### 部署 Worker 节点
将 Master 节点上的 Kubernetes 二进制文件复制到 Worker 节点,并在 Worker 节点上部署 Kubernetes 集群。Worker 节点主要负责运行 kubelet、kube-proxy 和容器运行时(如 Docker)。
### Kubernetes 优化
优化 Kubernetes 集群可以从多个方面入手,例如调整内核参数、优化 Docker 存储驱动、设置合理的资源限制等。此外,还可以通过配置 kube-proxy 使用 IPVS 模式来提高性能[^6]。
### 配置 kube-proxy ipvs
为了提升大规模集群下的网络性能,建议将 kube-proxy 的模式从默认的 iptables 更改为 ipvs。这可以通过修改 kube-proxy 的配置文件实现,具体是在启动参数中指定 `--proxy-mode=ipvs`[^6]。
### 重新获取加入 k8s 集群 token
如果需要重新获取加入集群的 token,可以通过在 Master 节点上执行 `kubeadm token list` 查看现有的 token。若不存在有效的 token,则可以使用 `kubeadm token create` 命令生成新的 token。同时,也可以通过 `kubeadm init phase upload-certs` 和 `kubeadm join` 相关命令来完成节点的加入操作[^7]。
### 示例代码
以下是一个简单的脚本示例,用于在离线环境中初始化 Kubernetes Master 节点:
```bash
# 初始化 Kubernetes Master 节点
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=NumCPU,Mem
# 设置 kubectl 配置
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
# 安装 Flannel 网络插件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
```
###
阅读全文
相关推荐
















