@@ -17,51 +17,59 @@ func NewContainerd() stepInterface {
1717
1818const containerdFileName = "containerd.tgz"
1919
20- func (d Containerd ) SendPackage (host string ) {
20+ func (d * Containerd ) lib () string {
21+ if Lib == "" {
22+ return "/var/lib/containerd"
23+ } else {
24+ return Lib
25+ }
26+ }
27+ func (d * Containerd ) SendPackage (host string ) {
2128 SendPackage (host , PkgUrl , containerdFileName )
2229}
2330
24- func (d Containerd ) Tar (host string ) {
31+ func (d * Containerd ) Tar (host string ) {
2532 cmd := fmt .Sprintf ("tar --strip-components=1 -xvzf /root/%s -C /usr/local/bin" , containerdFileName )
2633 Cmd (host , cmd )
2734}
28-
29- func (d Containerd ) Config (host string ) {
30- cmd := "mkdir -p " + Lib
35+ func (d * Containerd ) Config (host string ) {
36+ cmd := "mkdir -p " + d .lib ()
3137 Cmd (host , cmd )
3238 cmd = "mkdir -p /etc/containerd"
3339 Cmd (host , cmd )
34- cmd = "containerd config default > /etc/containerd/config.toml"
35- // cmd = "echo \"" + string(d.configFile()) + "\" > /etc/docker/daemon.json "
40+ // cmd = "containerd config default > /etc/containerd/config.toml"
41+ cmd = "echo \" " + string (d .configFile ()) + "\" > /etc/containerd/config.toml "
3642 Cmd (host , cmd )
3743}
3844
39- func (d Containerd ) Enable (host string ) {
45+ func (d * Containerd ) Enable (host string ) {
4046 cmd := "echo \" " + string (d .serviceFile ()) + "\" > /usr/lib/systemd/system/containerd.service"
4147 Cmd (host , cmd )
4248 cmd = "systemctl enable containerd.service && systemctl restart containerd.service"
4349 Cmd (host , cmd )
4450}
4551
46- func (d Containerd ) Version (host string ) {
52+ func (d * Containerd ) Version (host string ) {
4753 cmd := "containerd --version"
4854 Cmd (host , cmd )
55+ logger .Warn ("pull docker hub command. ex: ctr images pull docker.io/library/alpine:3.8" )
56+ logger .Warn ("pull http registry command. ex: ctr images pull 10.0.45.222/library/alpine:3.8 --plain-http" )
4957}
5058
51- func (d Containerd ) Uninstall (host string ) {
59+ func (d * Containerd ) Uninstall (host string ) {
5260 cmd := "systemctl stop containerd.service && systemctl disable containerd.service"
5361 Cmd (host , cmd )
5462 cmd = "rm -rf /usr/local/bin/ctr && rm -rf /usr/local/bin/containerd* "
5563 Cmd (host , cmd )
5664 cmd = "rm -rf /var/lib/containerd && rm -rf /etc/containerd/* "
5765 Cmd (host , cmd )
58- if Lib != "" {
59- cmd = "rm -rf " + Lib
66+ if d . lib () != "" {
67+ cmd = "rm -rf " + d . lib ()
6068 Cmd (host , cmd )
6169 }
6270}
6371
64- func (d Containerd ) serviceFile () []byte {
72+ func (d * Containerd ) serviceFile () []byte {
6573 var templateText = string (`[Unit]
6674Description=containerd container runtime
6775Documentation=https://containerd.io
@@ -83,32 +91,101 @@ WantedBy=multi-user.target
8391` )
8492 return []byte (templateText )
8593}
86- func (d Containerd ) configFile () []byte {
87- var templateText = string (`{
88- \"registry-mirrors\": [
89- \"http://373a6594.m.daocloud.io\"
90- ],
91- {{if len .DOCKER_REGISTRY}}
92- \"insecure-registries\":
93- [{{range $i,$v :=.DOCKER_REGISTRY}}{{if eq $i 0}}\"{{$v}}\"{{else}},\"{{$v}}\"{{end}}{{end}}],
94- {{end}}
95- \"graph\":\"{{.DOCKER_LIB}}\"
96- }` )
94+ func (d * Containerd ) configFile () []byte {
95+ var templateText = string (`root = \"{{.CONTAINERD_LIB}}\"
96+ state = \"/run/containerd\"
97+ oom_score = 0
98+
99+ [grpc]
100+ address = \"/run/containerd/containerd.sock\"
101+ uid = 0
102+ gid = 0
103+ max_recv_message_size = 16777216
104+ max_send_message_size = 16777216
105+
106+ [debug]
107+ address = \"\"
108+ uid = 0
109+ gid = 0
110+ level = \"\"
111+
112+ [metrics]
113+ address = \"\"
114+ grpc_histogram = false
115+
116+ [cgroup]
117+ path = \"\"
118+
119+ [plugins]
120+ [plugins.cgroups]
121+ no_prometheus = false
122+ [plugins.cri]
123+ stream_server_address = \"127.0.0.1\"
124+ stream_server_port = \"0\"
125+ enable_selinux = false
126+ sandbox_image = \"k8s.gcr.io/pause:3.1\"
127+ stats_collect_period = 10
128+ systemd_cgroup = false
129+ enable_tls_streaming = false
130+ max_container_log_line_size = 16384
131+ [plugins.cri.containerd]
132+ snapshotter = \"overlayfs\"
133+ no_pivot = false
134+ [plugins.cri.containerd.default_runtime]
135+ runtime_type = \"io.containerd.runtime.v1.linux\"
136+ runtime_engine = \"\"
137+ runtime_root = \"\"
138+ [plugins.cri.containerd.untrusted_workload_runtime]
139+ runtime_type = \"\"
140+ runtime_engine = \"\"
141+ runtime_root = \"\"
142+ [plugins.cri.cni]
143+ bin_dir = \"/opt/cni/bin\"
144+ conf_dir = \"/etc/cni/net.d\"
145+ conf_template = \"\"
146+ [plugins.cri.registry]
147+ [plugins.cri.registry.mirrors]
148+ [plugins.cri.registry.mirrors.\"docker.io\"]
149+ endpoint = [\"https://registry-1.docker.io\"]
150+ {{range .CONTAINERD_REGISTRY -}}[plugins.cri.registry.mirrors.\"{{.}}\"]
151+ endpoint = [\"{{.}}\"]
152+ {{end -}}
153+ [plugins.cri.x509_key_pair_streaming]
154+ tls_cert_file = \"\"
155+ tls_key_file = \"\"
156+ [plugins.diff-service]
157+ default = [\"walking\"]
158+ [plugins.linux]
159+ shim = \"containerd-shim\"
160+ runtime = \"runc\"
161+ runtime_root = \"\"
162+ no_shim = false
163+ shim_debug = false
164+ [plugins.opt]
165+ path = \"/opt/containerd\"
166+ [plugins.restart]
167+ interval = \"10s\"
168+ [plugins.scheduler]
169+ pause_threshold = 0.02
170+ deletion_threshold = 0
171+ mutation_threshold = 100
172+ schedule_delay = \"0s\"
173+ startup_delay = \"100ms\"
174+ ` )
97175 tmpl , err := template .New ("text" ).Parse (templateText )
98176 if err != nil {
99177 logger .Error ("template parse failed:" , err )
100178 panic (1 )
101179 }
102180 var envMap = make (map [string ]interface {})
103- envMap ["DOCKER_REGISTRY" ] = RegistryArr
104- envMap ["DOCKER_LIB" ] = Lib
105- envMap ["ZERO" ] = 0
181+ envMap ["CONTAINERD_REGISTRY" ] = RegistryArr
182+ envMap ["CONTAINERD_LIB" ] = d .lib ()
106183 var buffer bytes.Buffer
107184 _ = tmpl .Execute (& buffer , envMap )
108185 return buffer .Bytes ()
109186}
110187
111- func (d Containerd ) Print () {
188+ func (d * Containerd ) Print () {
112189 urlPrefix := "https://github.com/containerd/containerd/releases/download/v%s/containerd-%s.linux-amd64.tar.gz"
113190 versions := []string {
114191 "1.1.0" ,
0 commit comments