https://github.com/labring/image-cri-shim
https://github.com/labring/image-cri-shim
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/labring/image-cri-shim
- Owner: labring
- License: apache-2.0
- Created: 2022-01-29T02:29:59.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-01-22T15:23:27.000Z (over 2 years ago)
- Last Synced: 2024-06-21T14:12:46.449Z (about 2 years ago)
- Language: Go
- Size: 198 KB
- Stars: 6
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# image-cri-shim
image hack cri socket
## kubelet add post shell
if kubelet is stop,but dockershim.sock is zombie sock. so proxy is panic.
```shell
#!/bin/bash
rm -rf /var/run/dockershim.sock
```
```
[Unit]
Description=kubelet: The Kubernetes Node Agent
Documentation=http://kubernetes.io/docs/
[Service]
ExecStart=/usr/bin/kubelet
ExecStartPre=/usr/bin/kubelet-pre-start.sh
ExecStopPost=/usr/bin/kubelet-post-stop.sh
Restart=always
StartLimitInterval=0
RestartSec=10
[Install]
WantedBy=multi-user.target
```
## config yaml example
```
shim: /var/run/image-cri-shim.sock
cri: /var/run/cri-dockerd.sock
address: http://sealos.hub:5000
debug: false
image: /var/lib/image-cri-shim
auth: admin:passw0rd
version: v1
timeout: 15m
```
## Changelog
- add grpc timeout in config json ,default `15m`
- add cri version in config json , default `v1alpha2` suuport value `v1` and `v1alpha2`
- add grpc default message size is 16MB
## CRI support
- kubernetes v1.23.0 support v1 cri
- kubernetes v1.26.0 delete v1alpha2 cri
- cri-dockerd support v1 cri issue: https://github.com/Mirantis/cri-dockerd/issues/125
- crictl v1.23+ is v1alpha2, crictl v1.24.2 is v1
## The relationship table of cri
| k8s version | cri version | crictl version | cri-docker cri version |
|----------------|-------------|-------------------------------|----|
| `<1.23` | v1alpha2 | v1alpha2 |v1alpha2|
| `=1.23` | v1alpha2/v1 | v1alpha2 |v1alpha2|
| `>=1.24 && <1.26` | v1alpha2/v1 | v1 |v1alpha2|
| `>=1.26` | v1 | v1 |https://github.com/Mirantis/cri-dockerd/issues/125|
## Test
### test v1.26.0
```
FROM labring/kubernetes:v1.26.0
ADD image-cri-shim cri/image-cri-shim
ADD cfg.yaml etc/image-cri-shim.yaml.tmpl
```
```
shim: /var/run/image-cri-shim.sock
cri: /run/containerd/containerd.sock
address: http://{{ .registryDomain }}:{{ .registryPort }}
force: true
debug: false
image: /var/lib/image-cri-shim
version: v1
auth: {{ .registryUsername }}:{{ .registryPassword }}
```
### test v1.23.8
```
root@test-node-0:~/123# cat cfg.yaml
shim: /var/run/image-cri-shim.sock
cri: /run/containerd/containerd.sock
address: http://{{ .registryDomain }}:{{ .registryPort }}
force: true
debug: false
image: /var/lib/image-cri-shim
version: v1alpha2
auth: {{ .registryUsername }}:{{ .registryPassword }}
root@test-node-0:~/123# crictl version
Version: 0.1.0
RuntimeName: containerd
RuntimeVersion: v1.6.2
RuntimeApiVersion: v1alpha2
root@test-node-0:~/123#
```
### test v1.24.0
```
root@test-node-0:~/126# crictl version
Version: 0.1.0
RuntimeName: containerd
RuntimeVersion: v1.6.2
RuntimeApiVersion: v1
root@test-node-0:~/126# crictl -v
crictl version v1.24.2
root@test-node-0:~/126# ls
Dockerfile cfg.yaml image-cri-shim
root@test-node-0:~/126# cd ../124/
root@test-node-0:~/124# ls
Dockerfile cfg.yaml image-cri-shim
root@test-node-0:~/124# cat cfg.yaml
shim: /var/run/image-cri-shim.sock
cri: /run/containerd/containerd.sock
address: http://{{ .registryDomain }}:{{ .registryPort }}
force: true
debug: false
image: /var/lib/image-cri-shim
version: v1
auth: {{ .registryUsername }}:{{ .registryPassword }}
```
### test v1.22.0
```
root@test-node-0:~/124# crictl version
Version: 0.1.0
RuntimeName: containerd
RuntimeVersion: v1.6.2
RuntimeApiVersion: v1alpha2
root@test-node-0:~/124# cd ../122/
root@test-node-0:~/122# ls
Dockerfile cfg.yaml image-cri-shim
root@test-node-0:~/122# cat cfg.yaml
shim: /var/run/image-cri-shim.sock
cri: /run/containerd/containerd.sock
address: http://{{ .registryDomain }}:{{ .registryPort }}
force: true
debug: false
image: /var/lib/image-cri-shim
version: v1alpha2
auth: {{ .registryUsername }}:{{ .registryPassword }}
root@test-node-0:~/122# crictl images
IMAGE TAG IMAGE ID SIZE
sealos.hub:5000/coredns/coredns v1.8.4 6d3ffc2696ac2 12.3MB
sealos.hub:5000/etcd 3.5.0-0 2252d5eb703b0 158MB
sealos.hub:5000/kube-apiserver v1.22.0 b3acf0bcef06c 28.4MB
sealos.hub:5000/kube-controller-manager v1.22.0 d3853f34f0d18 27MB
sealos.hub:5000/kube-proxy v1.22.0 fef37187b2389 34.4MB
sealos.hub:5000/kube-scheduler v1.22.0 64207abfeeeac 13.5MB
sealos.hub:5000/pause 3.5 f7ff3c4042631 253kB
```
### test timeout
```
shim: /var/run/image-cri-shim.sock
cri: /run/containerd/containerd.sock
address: http://{{ .registryDomain }}:{{ .registryPort }}
force: true
debug: false
image: /var/lib/image-cri-shim
version: v1
timeout: 20m
auth: {{ .registryUsername }}:{{ .registryPassword }}
```
show image-cri-shim logs
```
root@test-node-0:~/122# journalctl -xeu image-cri-shim.service
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ A start job for unit image-cri-shim.service has finished successfully.
░░
░░ The job identifier is 14430.
Dec 11 02:18:47 test-node-0 image-cri-shim[46869]: 2022-12-11T02:18:47 info shim-socket: /var/run/image-cri-shim.sock
Dec 11 02:18:47 test-node-0 image-cri-shim[46869]: 2022-12-11T02:18:47 info cri-socket: /run/containerd/containerd.sock
Dec 11 02:18:47 test-node-0 image-cri-shim[46869]: 2022-12-11T02:18:47 info hub-address: http://sealos.hub:5000
Dec 11 02:18:47 test-node-0 image-cri-shim[46869]: 2022-12-11T02:18:47 info RegistryDomain: sealos.hub:5000
Dec 11 02:18:47 test-node-0 image-cri-shim[46869]: 2022-12-11T02:18:47 info Force: true
Dec 11 02:18:47 test-node-0 image-cri-shim[46869]: 2022-12-11T02:18:47 info Debug: false
Dec 11 02:18:47 test-node-0 image-cri-shim[46869]: 2022-12-11T02:18:47 info ImageDir: /var/lib/image-cri-shim
Dec 11 02:18:47 test-node-0 image-cri-shim[46869]: 2022-12-11T02:18:47 info Timeout: {20m0s}
Dec 11 02:18:47 test-node-0 image-cri-shim[46869]: 2022-12-11T02:18:47 info Auth: admin:passw0rd
Dec 11 02:18:47 test-node-0 image-cri-shim[46869]: 2022-12-11T02:18:47 info Username: admin
Dec 11 02:18:47 test-node-0 image-cri-shim[46869]: 2022-12-11T02:18:47 info Password: passw0rd
Dec 11 02:18:47 test-node-0 image-cri-shim[46869]: 2022-12-11T02:18:47 info CRIVersion: v1
```
# Contribution Policy
🚫 **This repository does NOT accept any form of contributions.**
This includes:
- ❌ Pull requests
- ❌ Direct code submissions
- ❌ Bug reports
- ❌ Feature requests
- ❌ Documentation changes
**All contributions must be submitted exclusively to the central repository:**
👉 **https://github.com/labring/sealos**
---
## Contribution Guidelines
1. **For bugs**
→ Report in the [Issues section of the main repository](https://github.com/labring/sealos/issues)
→ Include reproduction steps and environment details
2. **For code contributions**
→ Submit changes via **main repository only**
→ Follow contribution guidelines at [sealos/CONTRIBUTING.md](https://github.com/labring/sealos/blob/main/CONTRIBUTING.md)
3. **For feature requests**
→ Create an Issue in the [main repository](https://github.com/labring/sealos/issues) with `[Feature]` prefix
---
## Important Notes
⚠️ **This repository is read-only**
- Serves as reference implementation only
- Active development occurs exclusively at [labring/sealos](https://github.com/labring/sealos)
- PRs/issues submitted here will be **closed immediately without review**
📌 **Any contributions made to this repository will be invalid**
For your submissions to be considered, please use the central repository.