Skip to content

Commit fe2df67

Browse files
committed
fixed cri-o [sync git]
Signed-off-by: Kang Huaishuai <[email protected]>
1 parent 4ad46d7 commit fe2df67

File tree

7 files changed

+634
-283
lines changed

7 files changed

+634
-283
lines changed

kubernetes/.github/workflows/setup-k8s.yaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -89,22 +89,22 @@ jobs:
8989
# LNMP_K8S_LOCAL_INSTALL_OPTIONS: --docker
9090
- os: ubuntu
9191
dist: 22.04
92-
CI_KUBERNETES_VERSION: 1.33.0
92+
CI_KUBERNETES_VERSION: 1.33.4
9393
LNMP_K8S_GET: --url
9494
K8S_ROOT: /opt/k8s-custom
9595
# old version
9696
- os: ubuntu
9797
dist: 22.04
98-
CI_KUBERNETES_VERSION: 1.32.6
99-
LNMP_K8S_GET: --url
100-
- os: ubuntu
101-
dist: 22.04
102-
CI_KUBERNETES_VERSION: 1.31.10
98+
CI_KUBERNETES_VERSION: 1.32.8
10399
LNMP_K8S_GET: --url
104100
- os: ubuntu
105101
dist: 22.04
106-
CI_KUBERNETES_VERSION: 1.30.14
102+
CI_KUBERNETES_VERSION: 1.31.12
107103
LNMP_K8S_GET: --url
104+
# - os: ubuntu
105+
# dist: 22.04
106+
# CI_KUBERNETES_VERSION: 1.30.14
107+
# LNMP_K8S_GET: --url
108108
fail-fast: false
109109
steps:
110110
- uses: actions/checkout@v3
@@ -283,7 +283,7 @@ jobs:
283283
test "${LNMP_K8S_LOCAL_INSTALL_OPTIONS}" = "--docker" \
284284
&& (sudo systemctl restart docker || sudo journalctl -u docker) || true
285285
test "${LNMP_K8S_LOCAL_INSTALL_OPTIONS}" = "--crio" \
286-
&& (/usr/local/bin/crio --help; sudo systemctl daemon-reload ; \
286+
&& (crio --help; sudo systemctl daemon-reload ; \
287287
sudo systemctl start cri-o) || true
288288
289289
test -z "${LNMP_K8S_LOCAL_INSTALL_OPTIONS}" \

kubernetes/cli/crio.txt

Lines changed: 220 additions & 150 deletions
Large diffs are not rendered by default.

kubernetes/lnmp-k8s

Lines changed: 31 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -436,22 +436,6 @@ _helm_install(){
436436
$(_sudo) rm -rf ${TMP_ROOT}/${GOOS}-${GOARCH}
437437
}
438438

439-
_gvisor_containerd_conf(){
440-
if ! [ "$GOOS" = 'linux' -a "$GOARCH" = 'amd64' ];then
441-
print_info "$GOOS $GOARCH not support gvisor, skip config containerd with runsc"
442-
443-
return
444-
fi
445-
}
446-
447-
_gvisor_crio_conf(){
448-
print_info "config crio with gvisor(runsc) ..."
449-
cat <<EOF | $(_sudo) tee -a ${K8S_ROOT}/etc/crio/crio.conf
450-
[crio.runtime.runtimes.runsc]
451-
runtime_path = "/usr/local/bin/runsc"
452-
EOF
453-
}
454-
455439
_gvisor_install(){
456440
if ! [ "$GOOS" = 'linux' -a "$GOARCH" = 'amd64' ];then
457441
print_info "$GOOS $GOARCH not support gvisor"
@@ -537,22 +521,6 @@ _runc_install(){
537521
runc --version
538522
}
539523

540-
_crun_containerd_conf(){
541-
if ! [ "$GOOS" = 'linux' -a "$GOARCH" = 'amd64' ];then
542-
print_info "$GOOS $GOARCH not support crun, skip config containerd with crun"
543-
544-
return
545-
fi
546-
}
547-
548-
_crun_crio_conf(){
549-
print_info "config crio with crun ..."
550-
cat <<EOF | $(_sudo) tee -a ${K8S_ROOT}/etc/crio/crio.conf
551-
[crio.runtime.runtimes.crun]
552-
runtime_path = "/usr/local/bin/crun"
553-
EOF
554-
}
555-
556524
_crun_install(){
557525
if [ `command -v crun` ];then
558526
print_info "crun already install"
@@ -859,7 +827,7 @@ _cri_sysctl(){
859827
}
860828

861829
_conmon_install(){
862-
if [ -f ${K8S_ROOT}/usr/local/bin/conmon ];then
830+
if [ -f ${K8S_ROOT}/bin/conmon ];then
863831
return
864832
fi
865833

@@ -874,41 +842,53 @@ _conmon_install(){
874842
"" 0 ${DOWNLOAD_FROM_REGISTRY_URL})
875843
$(_sudo) tar -zxvf $rootfs -C ${TMP_ROOT}
876844

877-
$(_sudo) cp ${TMP_ROOT}/conmon/dist/conmon ${K8S_ROOT}/usr/local/bin/conmon
845+
$(_sudo) cp ${TMP_ROOT}/conmon/dist/conmon ${K8S_ROOT}/bin/conmon
878846

879-
$(_sudo) chmod +x ${K8S_ROOT}/usr/local/bin/conmon
847+
$(_sudo) chmod +x ${K8S_ROOT}/bin/conmon
880848
else
881849
url=$url_official
882850

883851
if [ $OS = "Linux" ];then
884852
if [ $GOARCH = "amd64" -o $GOARCH = "arm64" ];then
885-
$(_sudo) $(_curl) -o ${K8S_ROOT}/usr/local/bin/conmon $url
853+
$(_sudo) $(_curl) -o ${K8S_ROOT}/bin/conmon $url
886854

887-
$(_sudo) chmod +x ${K8S_ROOT}/usr/local/bin/conmon
855+
$(_sudo) chmod +x ${K8S_ROOT}/bin/conmon
888856

889857
return
890858
fi
891859
fi
892860
fi
861+
}
862+
863+
# https://github.com/cri-o/cri-o/blob/main/install.md#build-and-install-cri-o-from-source
864+
_crio_install(){
865+
if [ $DOWNLOAD_FROM_REGISTRY = "true" ];then
866+
rootfs=$($ScriptRoot/../windows/sdk/dockerhub/rootfs.sh \
867+
khs1994-docker/lwpm/cri-o \
868+
${KUBERNETES_VERSION} \
869+
${GOARCH} \
870+
${GOOS} \
871+
"" 0 ${DOWNLOAD_FROM_REGISTRY_URL})
872+
$(_sudo) tar -zxvf $rootfs -C ${TMP_ROOT}
893873

894-
cd /tmp
874+
# _conmon_install
895875

896-
if [ -d conmon/.git ];then
897-
cd conmon
898-
git fetch origin main --depth=1
899-
git reset --hard origin/main
900-
else
901-
rm -rf conmon
902-
git clone --depth=1 https://github.com/containers/conmon
876+
$(_sudo) mkdir -p ${K8S_ROOT}/etc/crio
877+
878+
$(_sudo) cp -r systemd/etc/containers/. ${K8S_ROOT}/etc/containers
879+
$(_sudo) cp -r systemd/etc/crio/crio.conf ${K8S_ROOT}/etc/crio/crio.conf
880+
881+
$(_sudo) cp ${TMP_ROOT}/cri-o/bin/* ${K8S_ROOT}/bin/
882+
883+
$(_sudo) cp ${TMP_ROOT}/cri-o/bin/crun /usr/local/bin/crun
884+
885+
_crio_config
886+
887+
return
903888
fi
904889

905-
cd /tmp/conmon
906-
make
907-
$(_sudo) make PREFIX=${K8S_ROOT}/usr/local install
908-
}
890+
return
909891

910-
# https://github.com/cri-o/cri-o/blob/main/install.md#build-and-install-cri-o-from-source
911-
_crio_install(){
912892
set +e
913893
command -v crio > /dev/null 2>&1
914894
if [ $? -eq 0 ];then print_info "cri-o already install" ; return;fi
@@ -1117,14 +1097,12 @@ _cri_handler(){
11171097
_containerd_install
11181098
_containerd_cri_config
11191099
_docker_default_conf
1120-
if [ "$GOOS" = 'linux' ];then _gvisor_containerd_conf;fi
11211100
_crictl_containerd_conf
11221101
elif [ "$CONTAINER_RUNTIME" = "--crio" ];then
11231102
print_info "Kubelet Runtime is CRI-O"
11241103
_crio_install
11251104
_crio_config
11261105
_docker_default_conf
1127-
if [ "$GOOS" = 'linux' ];then _gvisor_crio_conf;fi
11281106
_crictl_crio_conf
11291107
elif [ "$CONTAINER_RUNTIME" = "--docker" ];then
11301108
print_info "Kubelet Runtime is Docker"
Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,49 @@
11
[crio]
22
version_file_persist = "/opt/k8s/var/lib/crio/version"
33
log_dir = "/opt/k8s/var/log/crio/pods"
4+
root = "/opt/k8s/var/lib/containers/storage"
45
[crio.runtime]
5-
# default_runtime = "runc"
6+
default_runtime = "crun"
67
cgroup_manager = "systemd"
78
# trace, debug, info, warn, error, fatal or panic (default: "info")
89
log_level = "info"
910
[crio.runtime.runtimes.runc]
1011
runtime_path = ""
1112
runtime_type = "oci"
1213
runtime_root = "/run/runc"
14+
monitor_env = [
15+
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/k8s/bin",
16+
]
17+
[crio.runtime.runtimes.runsc]
18+
runtime_path = ""
19+
monitor_env = [
20+
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/k8s/bin",
21+
]
22+
[crio.runtime.runtimes.crun]
23+
runtime_path = ""
24+
monitor_env = [
25+
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/k8s/bin",
26+
]
1327
[crio.network]
1428
network_dir = "/opt/k8s/etc/cni/net.d"
1529
plugin_dirs = ["/opt/k8s/opt/cni/bin/",]
1630
[crio.image]
17-
pause_image = "registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.7"
31+
pause_image = "registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.10"
1832
insecure_registries = []
1933
[crio.metrics]
2034
enable_metrics = true
2135
metrics_port = 9090
36+
[crio.tracing]
37+
38+
# Globally enable or disable exporting OpenTelemetry traces.
39+
enable_tracing = false
40+
41+
[crio.metrics]
42+
43+
# Globally enable or disable metrics support.
44+
enable_metrics = false
45+
46+
[crio.nri]
47+
48+
# Globally enable or disable NRI.
49+
enable_nri = false
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# [crio.image]
2+
# signature_policy = "/etc/crio/policy.json"
3+
4+
# [crio.runtime]
5+
# default_runtime = "crun"
6+
7+
# [crio.runtime.runtimes.crun]
8+
# runtime_path = "/usr/libexec/crio/crun"
9+
# runtime_root = "/run/crun"
10+
# monitor_path = "/usr/libexec/crio/conmon"
11+
# allowed_annotations = [
12+
# "io.containers.trace-syscall",
13+
# ]
14+
15+
# [crio.runtime.runtimes.runc]
16+
# runtime_path = "/usr/libexec/crio/runc"
17+
# runtime_root = "/run/runc"
18+
# monitor_path = "/usr/libexec/crio/conmon"

0 commit comments

Comments
 (0)