本文主要是指导iSulad社区开发者和使用者,如何配置isulad使用runc作为runtime创建容器。
tips
: 在安装runc之前需要安装好go环境。
isulad当前推荐的runc验证版本为v1.0.0-rc6。
runc可以使用以下两种安装方式:
# centOS
sudo yum install runc
# Ubuntu
sudo apt-get install runc
git checkout v1.0.0-rc6
)# 在GOPATH/src下创建 'github.com/opencontainers' 文件夹
cd github.com/opencontainers
git clone https://github.com/opencontainers/runc
cd runc
make
sudo make install
还可以使用go get安装到GOPATH
路径下(需要在GOPATH/src下创建github.com父文件夹):
go get github.com/opencontainers/runc
cd $GOPATH/src/github.com/opencontainers/runc
make
sudo make install
最终安装好的runc会在/usr/local/sbin/runc
目录下。
namespace {"cgroup"} dose not exits
,需要将runc升级至1.0.0-rc6及以上。$ vim /etc/isulad/daemon.json
...
"default-runtime": "runc"
...
path
(用于修改isulad使用的runc路径)以及runtime-args
(对runtime所有命令配置的参数)。"runtimes": {
"runc": {
"path": "/usr/local/sbin/runc",
"runtime-args": [
]
}
},
之后使用root权限启动isulad服务,使修改后的配置生效即可:
$ sudo isulad
使用--runtime=runc
启动一个runtime为runc的容器。
isula run -tid -n test --runtime=runc busybox sh
如何与kubernetes集成请参考k8s_integration。
直接参照第二节中配置文件配置的方式修改isulad默认使用的runtime为runc,则后续使用k8s启动容器时会默认使用的runtime即为runc。
RuntimeClass 是K8s的一种内置集群资源,是一种容器运行时配置,用于运行pod中的容器。
在/etc/isulad/daemon.json
中配置isulad
:
"runtimes": {
"runc-runtime": {
"path": "/usr/local/sbin/runc",
"runtime-args": [
]
}
},
定义 runc-runtime.yaml
,例如创建一个runc-runtime.yaml
内容如下:(注意handler需要与daemon.json中的名称一致)
apiVersion: node.k8s.io/v1beta1
kind: RuntimeClass
metadata:
name: runc-runtime
handler: runc-runtime
之后运行kubectl apply -f runc-runtime.yaml
命令在kubectl中让这个配置生效。
之后在创建pod时,可以在其定义的yaml文件中的spec.runtimeClassName
中设置pod使用的runtime:
apiVersion: v1
kind: Pod
metadata:
name: runc-pod-example
spec:
runtimeClassName: runc-runtime
containers:
- name: runc-pod
image: busybox:latest
command: ["/bin/sh"]
args: ["-c", "sleep 1000"]
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )