部署环境
<代码> #操作系统:Linux CentOS释放8.0.1905(核心)
# kubelet版本:v1.14.0
# runc版本:v1.0.0-rc9
# crictl版本:v1.16.1
# crio版本:v1.15.2
# conmon版本:v2.0.1
# cni版本:v0.8.2
#网络插件:kube-router
#工作目录:/应用程序
#二进制文件目录:工作
# cni目录:/应用程序/参股
#工作节点:win10配置比;,/etc/crio/crio.conf
#修改生成配置
vim。/etc/crio/crio.conf
#取消注释修改存储目录
根="/应用程序/lib/集装箱/存储”
#取消注释修改容器运行存储目录
runroot="/应用程序/运行/集装箱/存储”
#取消注释修改容器运行时文件打开数
default_ulimits=[
“nofile=1024000:1024000”,
“nproc=1024000:1024000”,
“核心=1:1”,
]
#修改conmon路径默认conmon="/usr/地方/libexec/crio/conmon”
conmon="/usr/bin/conmon "
1024 #修改pids_limit默认
pids_limit=102400
# pause_image默认pause_image=" k8s.gcr.io/暂停:3.1”由于网络不通所有要修改
pause_image=" docker.io/juestnow/pause-amd64:3.1”
#修改参股了二进制路径
plugin_dirs=[/应用程序/公司/bin/,
#创建crictl配置
猫在。/etc/crictl。yaml & lt; & lt; EOF
runtime-endpoint: unix:///var/运行/crio/crio.sock
EOF
#创建crio启动文件
猫在。/crio。服务& lt; & lt; EOF
(单位)
描述=OCI-based Kubernetes容器运行时界面的实现
文档=https://github.com/github.com/cri-o/cri-o
(服务)
ExecStartPre=-/sbin/modprobe br_netfilter
ExecStartPre=-/sbin/modprobe覆盖
ExecStart=/usr/地方/bin/crio——进行日志级别信息
重启=失败
RestartSec=5
LimitNOFILE=1024000
LimitNPROC=1024000
LimitCORE=无穷大
LimitMEMLOCK=无穷大
KillMode=过程
(安装)
WantedBy=multi-user.target
EOF
#分发解决目录结构
root@Qist:/mnt/g/工作/crio #树
.
├──有限公司
│└──垃圾箱
│├──带宽
│├──桥
│├──dhcp
│├──防火墙
│├──法兰绒
│├──host-device
│├──host-local
│├──ipvlan
│├──回环
│├──macvlan
│├──portmap
│├──20元
│├──sbr
│├──静态的
│├──调优
│└──vlan
├──conmon
├──crictl
├──crio
├──crio.service
├──等
│├──参股
││└──net.d
87 - bridge.conflist││└──
│├──容器
││|──policy.json
│|
│├──crictl.yaml
│└──crio
│└──crio.conf
└──runc 代码>
分发文件
<代码> scp - r crio crictl 192.168.2.196:/usr/地方/bin/scp conmon runc 192.168.2.196:/usr/bin/#分发有限公司
scp - r cni 192.168.2.196:/应用程序/#分发配置文件
scp - r等192.168.2.196:/#分发启动文件
scp crio。服务192.168.2.196:/usr/lib/systemd/系统/crio.service 代码>
启动crio安装对应依赖
<代码> dnf - y epel-release安装
dnf安装dnf-utils ipvsadm telnet wget net-tools conntrack ipset金桥iptables curl sysstat libseccomp socat nfs-utils保险丝fuse-devel名为设备
#启动crio
systemctl daemon-reload
systemctl启用crio
systemctl开始crio
(root@node05 ~) # crio systemctl状态
●crio。服务——OCI-based Kubernetes容器运行时界面的实现
加载:加载(/usr/lib/systemd/系统/crio.service;启用;厂商预设:禁用)
主动:主动Mon 2019-10-28 10:22:14 CST以来(运行);10小时前
文档:https://github.com/github.com/cri-o/cri-o
过程:714年ExecStartPre=/sbin/modprobe叠加(状态退出代码=,=0/成功)
过程:659年ExecStartPre=/sbin/modprobe br_netfilter(状态退出代码=,=0/成功)
主要PID: 726 (crio)
任务:17(限制:49836)
内存:89.3
CGroup:/system.slice/crio.service
└─726/usr/local/bin/crio——进行日志级别信息
#创建测试应用
猫在sandbox_config。json & lt; & lt; EOF
{
“元数据”:{
“名称”:“podsandbox1”,
“uid”:“redhat-test-crio”,
“名称”:“redhat.test.crio”,
“尝试”:1
},
“主机名”:“crictl_host”,
“log_directory”:“”,
" dns_config ": {
“搜索”:(
“8.8.8.8”
]
},
“port_mappings”: [],
"资源":{
“cpu”: {
“限制”:3,
“请求”:2
},
“记忆”:{
“限制”:50000000,
“请求”:2000000
}
},
"标签":{
“集团”:“测试”
},
"注释":{
“老板”:“hmeng”,
“security.alpha.kubernetes。io/seccomp豆荚”:“无侧限”
},
“linux”: {
:“cgroup_parent/暴增/pod_123 - 456”,
" security_context ": {
" namespace_options ": {
“网络”:0,
“pid”: 1、
“ipc”: 0
},
" selinux_options ": {
“用户”:“system_u”,
“角色”:“system_r”,
“类型”:“svirt_lxc_net_t”,
“级别”:“s0: c4、c5”
}
}
}
}
EOF
#创建舱
POD_ID=$ (crictl runp。/sandbox_config.json)
# POD ip
crictl inspectp——输出表POD_ID美元
crictl拉quay.io/crio复述:高山
#创建容器
CONTAINER_ID=(crictl创建POD_ID美元。/container_redis。json。/sandbox_config.json)
#启动容器
crictl开始CONTAINER_ID美元
#查看集装箱
crictl检查CONTAINER_ID美元
#测试是否联通
telnet 10.88.0.2 6379
#查看复述,日志
journalctl - u crio——no-pager
#停止容器
crictl停止CONTAINER_ID美元
#删除容器
crictl rm CONTAINER_ID美元
#停止豆荚
crictl阻止美元POD_ID
#删除豆荚
crictl rmp POD_ID美元
#查看豆荚
crictl豆荚
#查看集装箱
crictl ps
#停止crio
systemctl停止crio
#删除创建cni0网络
▽dev cni0 ip链接
#删除cni配置
rm - f/etc/cni/net.d/87-bridge.conflist