x86 内网安装containerd
时间: 2025-07-18 15:22:32 浏览: 5
<think>我们正在一个内网环境的x86架构Linux系统上手动安装containerd。由于内网环境,无法直接访问互联网下载依赖,因此需要预先下载所有必要的文件并传输到目标机器。步骤概述:1.在可联网的机器上下载containerd的二进制包及其依赖(如runc等)。2.将下载的文件传输到内网机器。3.在内网机器上安装containerd。4.配置containerd。5.启动containerd服务。详细步骤:1.下载必要的文件:-containerd:从GitHub release页面下载最新稳定版的containerd二进制包(例如:containerd-1.6.21-linux-amd64.tar.gz)。- runc:下载runc的二进制文件(例如:runc.amd64),并重命名为runc。-cni-plugins:下载cni-plugins的tar包(例如:cni-plugins-linux-amd64-v1.3.0.tgz)。注意:请根据实际需要选择版本,并确保下载的是x86_64(amd64)架构的版本。2.将下载的文件传输到内网机器(例如通过U盘或内部文件服务器)。3.安装containerd:-解压containerd包到系统目录:```bashsudotar Cxzvf /usr/localcontainerd-1.6.21-linux-amd64.tar.gz```-将runc二进制文件复制到/usr/local/sbin/目录,并设置权限:```bashsudoinstall -m755 runc /usr/local/sbin/runc```-创建containerd配置文件目录:```bashsudo mkdir -p /etc/containerd```-生成默认配置文件(可选,如果不需要自定义配置,可以跳过):```bashcontainerdconfig default| sudotee /etc/containerd/config.toml```-解压cni-plugins到/opt/cni/bin目录:```bashsudo mkdir -p /opt/cni/binsudo tarCxzvf/opt/cni/bin cni-plugins-linux-amd64-v1.3.0.tgz```4.配置containerd服务:-创建systemd服务文件。在`/etc/systemd/system/containerd.service`中写入以下内容:```[Unit]Description=containerd containerruntimeDocumentation=https://containerd.ioAfter=network.target local-fs.target[Service]ExecStartPre=-/sbin/modprobe overlayExecStart=/usr/local/bin/containerdType=notifyDelegate=yesKillMode=processRestart=alwaysRestartSec=5LimitNPROC=infinityLimitCORE=infinityLimitNOFILE=infinityTasksMax=infinityOOMScoreAdjust=-999[Install]WantedBy=multi-user.target```-重新加载systemd配置:```bashsudo systemctl daemon-reload```5.启动containerd服务并设置开机启动:```bashsudo systemctl enable--now containerd```6.验证安装:```bashsudo systemctl statuscontainerdsudo ctr version```注意:如果内网环境中需要访问私有镜像仓库,还需要在`/etc/containerd/config.toml`中配置私有仓库的认证信息。相关问题:1.如何配置containerd使用私有镜像仓库?2.如何在内网环境中安装Kubernetes并集成containerd?3.如何验证containerd的安装是否成功?4.如何升级内网环境中的containerd版本?5.如何解决containerd安装过程中可能遇到的依赖问题?</think>### 在 x86 架构 Linux 内网环境手动安装 Containerd
#### 准备工作
1. **下载离线包**(需在可联网设备操作):
- 从 [containerd GitHub Releases](https://github.com/containerd/containerd/releases) 下载最新 Linux x86_64 二进制包(如 `containerd-1.7.13-linux-amd64.tar.gz`)
- 下载 [runc](https://github.com/opencontainers/runc/releases)(如 `runc.amd64`)
- 下载 [CNI 插件](https://github.com/containernetworking/plugins/releases)(如 `cni-plugins-linux-amd64-v1.4.0.tgz`)
2. **传输文件到内网机器**:
```bash
scp containerd-*.tar.gz runc.amd64 cni-plugins-*.tgz user@内网机器IP:/tmp/
```
#### 安装步骤
1. **解压 containerd**:
```bash
sudo tar Cxzvf /usr/local /tmp/containerd-1.7.13-linux-amd64.tar.gz
```
2. **安装 runc**:
```bash
sudo install -m 755 /tmp/runc.amd64 /usr/local/sbin/runc
```
3. **安装 CNI 插件**:
```bash
sudo mkdir -p /opt/cni/bin
sudo tar Cxzvf /opt/cni/bin /tmp/cni-plugins-linux-amd64-v1.4.0.tgz
```
4. **生成配置文件**:
```bash
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
```
5. **创建 systemd 服务**:
```bash
sudo cat > /etc/systemd/system/containerd.service <<EOF
[Unit]
Description=containerd container runtime
Documentation=https://containerd.io
After=network.target
[Service]
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/local/bin/containerd
KillMode=process
Delegate=yes
Restart=always
RestartSec=5s
[Install]
WantedBy=multi-user.target
EOF
```
6. **启动服务**:
```bash
sudo systemctl daemon-reload
sudo systemctl enable --now containerd
sudo systemctl status containerd # 验证状态
```
7. **验证安装**:
```bash
sudo ctr version # 应显示 containerd 和 runc 版本
```
#### 关键配置说明
- **镜像加速**:编辑 `/etc/containerd/config.toml`,在 `[plugins."io.containerd.grpc.v1.cri".registry]` 下添加私有仓库配置
- **存储路径**:默认容器数据存储在 `/var/lib/containerd`
- **日志配置**:通过 `config.toml` 中的 `debug = false` 调整日志级别
> 注:内网环境需确保所有依赖库(如 `libseccomp`)已预装,可通过 `ldd /usr/local/bin/containerd` 检查依赖项[^1]。
---
### 相关问题
1. 如何配置 containerd 使用私有镜像仓库?
2. containerd 与 Docker 的运行时差异是什么?
3. 在内网环境中如何更新 containerd 版本?
4. 如何排查 containerd 服务启动失败的问题?
5. 如何为 containerd 配置 GPU 支持(如 NVIDIA 容器运行时)?
[^1]: 引用自 Kubernetes 组件配置实践案例
[^2]: 网络连接检查方法参考
[^3]: systemd 服务文件配置示例
阅读全文
相关推荐













