# 安装与配置

- [安装与配置](#安装部署.md)
    - [安装方法](#安装方法)
    - [配置方法](#配置方法)


## 安装方法

### 前提条件


-   安全容器的安装需要使用root权限。
-   为了获取更好的性能体验，安全容器需要运行在裸金属服务器上，**暂不支持安全容器运行在虚拟机内**。
-   安全容器运行依赖以下组件，请确保环境上已安装所需版本的依赖组件。以下组件来自配套的openEuler版本。如果使用iSula容器引擎，请参考iSula容器引擎的[安装方法](#安装方法.md)章节安装iSulad。
    -   docker-engine
    -   qemu


### 安装操作

安全容器发布组件集成在同一个kata-containers-<_version_\>.rpm包中，使用rpm命令可以直接安装对应的软件，其中version为。

```
rpm -ivh kata-containers-<version>.rpm
```

## 配置方法

### docker-engine容器引擎的配置

为了让docker-engine容器引擎支持新的容器运行时kata-runtime，需要通过以下步骤对docker-engine容器引擎进行配置：

1.  请保证环境上所有的软件包（docker-engine、kata-containers）都已经安装完毕。
2.  停止docker-engine。

    ```
    systemctl stop docker
    ```

3.  修改docker-engine的配置文件/etc/docker/daemon.json，并新增如下配置：

    ```
    {
      "runtimes": {
        "kata-runtime": {
          "path": "/usr/bin/kata-runtime",
          "runtimeArgs": [
              "--kata-config",
              "/usr/share/defaults/kata-containers/configuration.toml"
            ]
        }
      }
    }
    ```

4.  重新启动docker-engine。

    ```
    systemctl start docker
    ```


### iSula容器引擎的配置

与docker-engine容器引擎类似，为了让iSula容器引擎支持新的容器运行时kata-runtime，需要通过以下步骤对iSula容器引擎进行配置：

1.  请保证环境上所有的软件包（iSulad、kata-containers）都已经安装完毕。
2.  停止isulad。

    ```
    systemctl stop isulad
    ```

3.  修改iSula容器引擎的配置文件/etc/isulad/daemon.json，并新增如下配置：

    ```
    {
      "runtimes": {
        "kata-runtime": {
          "path": "/usr/bin/kata-runtime",
          "runtime-args": [
              "--kata-config",
              "/usr/share/defaults/kata-containers/configuration.toml"
            ]
        }
      }
    }
    ```

4.  重新启动isulad。

    ```
    systemctl start isulad
    ```


### 安全容器全局配置文件configuration-toml

安全容器提供全局配置文件configuration.toml进行配置开关，用户也可以定制安全容器配置文件路径与配置选项。

在docker-engine的runtimeArges字段可以利用--kata-config指定私有文件，默认的配置文件路径为/usr/share/defaults/kata-containers/configuration.toml。

常用配置文件字段如下，详细的配置文件选项参见“安全容器 > 附录 > configuration.toml配置说明”。

1.  hypervisor.qemu
    -   path ：指定虚拟化qemu执行路径。
    -   kernel ：指定guest kernel执行路径。
    -   initrd ：指定guest initrd执行路径。
    -   machin\_type ：指定模拟芯片类型，其中arm为virt，x86架构为pc。
    -   kernel\_params ：指定guest内核运行参数。

2.  proxy.kata
    -   path ：指定kata-proxy运行路径。
    -   enable\_debug ：kata-proxy进程debug开关。

3.  agent.kata
    -   enable\_blk\_mount ：开启block设备guest挂载。
    -   enable\_debug ：kata-agent进程debug开关。

4.  runtime
    -   enable\_cpu\_memory\_hotplug：CPU和内存热插拔开关。
    -   enable\_debug：kata-runtime进程debug开关。


