命名空间


 


 

containerd相比于docker,多了namespace概念,每个image和containe都会在各自的namespace下可见。


 

[root@master01 ~]# ctr namespace -h

NAME:

ctr namespaces - Manage namespaces


 

USAGE:

ctr namespaces command [command options] [arguments...]


 

COMMANDS:

create, c Create a new namespace

list, ls List namespaces

remove, rm Remove one or more namespaces

label Set and clear labels for a namespace


 

OPTIONS:

--help, -h show help

[root@master01 ~]#


 

查看命名空间


 

[root@master01 ~]# ctr namespaces list

WARN[0000] DEPRECATION: The `configs` property of `[plugins."io.containerd.grpc.v1.cri".registry]` is deprecated since containerd v1.5 and will be removed in containerd v2.1. Use `config_path` instead.

NAME LABELS

k8s.io

[root@master01 ~]#


 


 

创建命名空间


 

[root@master01 ~]# ctr namespaces create business

WARN[0000] DEPRECATION: The `configs` property of `[plugins."io.containerd.grpc.v1.cri".registry]` is deprecated since containerd v1.5 and will be removed in containerd v2.1. Use `config_path` instead.

[root@master01 ~]# ctr namespaces list

WARN[0000] DEPRECATION: The `configs` property of `[plugins."io.containerd.grpc.v1.cri".registry]` is deprecated since containerd v1.5 and will be removed in containerd v2.1. Use `config_path` instead.

NAME LABELS

business

k8s.io

[root@master01 ~]#


 


 


 

删除命名空间


 

[root@master01 ~]# ctr namespaces rm business

WARN[0000] DEPRECATION: The `configs` property of `[plugins."io.containerd.grpc.v1.cri".registry]` is deprecated since containerd v1.5 and will be removed in containerd v2.1. Use `config_path` instead.

business

[root@master01 ~]# ctr namespaces list

WARN[0000] DEPRECATION: The `configs` property of `[plugins."io.containerd.grpc.v1.cri".registry]` is deprecated since containerd v1.5 and will be removed in containerd v2.1. Use `config_path` instead.

NAME LABELS

k8s.io

[root@master01 ~]#


 


 


 


 

Kubernetes 下使用的 containerd 默认命名空间是 k8s.io


 


 

查看命名空间镜像


 

[root@master01 ~]# ctr namespaces list

WARN[0000] DEPRECATION: The `configs` property of `[plugins."io.containerd.grpc.v1.cri".registry]` is deprecated since containerd v1.5 and will be removed in containerd v2.1. Use `config_path` instead.

NAME LABELS

business

k8s.io

[root@master01 ~]# ctr images ls

WARN[0000] DEPRECATION: The `configs` property of `[plugins."io.containerd.grpc.v1.cri".registry]` is deprecated since containerd v1.5 and will be removed in containerd v2.1. Use `config_path` instead.

REF TYPE DIGEST SIZE PLATFORMS LABELS

[root@master01 ~]# ctr -n k8s.io images ls

WARN[0000] DEPRECATION: The `configs` property of `[plugins."io.containerd.grpc.v1.cri".registry]` is deprecated since containerd v1.5 and will be removed in containerd v2.1. Use `config_path` instead.

REF TYPE DIGEST SIZE PLATFORMS LABELS

bastion.kcloud.com:9443/business/nfs-subdir-external-provisioner:v4.0.2 application/vnd.docker.distribution.manifest.v2+json sha256:f741e403b3ca161e784163de3ebde9190905fdbf7dfaa463620ab8f16c0f6423 17.1 MiB linux/amd64 io.cri-containerd.image=managed

bastion.kcloud.com:9443/business/nfs-subdir-external-provisioner@sha256:f741e403b3ca161e784163de3ebde9190905fdbf7dfaa463620ab8f16c0f6423 application/vnd.docker.distribution.manifest.v2+json sha256:f741e403b3ca161e784163de3ebde9190905fdbf7dfaa463620ab8f16c0f6423 17.1 MiB linux/amd64 io.cri-containerd.image=managed

docker.io/bitnami/kafka:3.5.0-debian-11-r21 application/vnd.oci.image.manifest.v1+json sha256:3285e0aab1137b84d7379ff54c268002683be25bbadb1018c5f3fe4e13d3e6f0 536.5 MiB linux/amd64 io.cri-containerd.image=managed

docker.io/bitnami/kubectl:1.25.11-debian-11-r33 application/vnd.oci.image.manifest.v1+json sha256:0b783232de97a4ab59b19e44cb8e9b6a6db797d2b24f8d276a696a4bbf2f33c3 213.0 MiB linux/amd64 io.cri-containerd.image=managed

docker.io/bitnami/redis:7.2.4-debian-11-r5 application/vnd.oci.image.manifest.v1+json sha256:48a2747b641f1561496f219956612d860f6c6a4acb6670aa20b0310ac2225bfa 94.6 MiB linux/amd64 io.cri-containerd.image=managed

docker.io/bitnami/zookeeper:3.8.1-debian-11-r54 application/vnd.oci.image.manifest.v1+json sha256:cc8effd4f0e76974b16be470111159ca09fbdecbd10ab9e021bbc60dee4b88ab 493.0 MiB linux/amd64 io.cri-containerd.image=managed

docker.io/calico/cni:v3.25.0 application/vnd.docker.distribution.manifest.v2+json sha256:f1b231eb3436264444a430f2b1a08cfc5d25b2a333c2b2b263f4e523da22cc94 188.7 MiB linux/amd64 io.cri-containerd.image=managed

docker.io/calico/kube-controllers:v3.25.0 application/vnd.docker.distribution.manifest.v2+json sha256:404f5c7810fcd8e968b28fa35bf92c31f821a8b11aa8a814b00189fb14123cd4 68.3 MiB linux/amd64 io.cri-containerd.image=managed

docker.io/calico/node:v3.25.0 application/vnd.docker.distribution.manifest.v2+json sha256:15f06f354ca521be7f85fe081a78b70e2d5de700587ba55631551104eaf89f46 235.3 MiB linux/amd64 io.cri-containerd.image=managed

registry.aliyuncs.com/google_containers/coredns:v1.11.1 application/vnd.docker.distribution.manifest.list.v2+json sha256:a6b67bdb2a6750b591e6b07fac29653fc82ee964e5fc53baf4c1ad3f944b655a 17.3 MiB linux/amd64,linux/arm/v7,linux/arm64,linux/ppc64le,linux/riscv64,linux/s390x io.cri-containerd.image=managed

registry.aliyuncs.com/google_containers/etcd:3.5.15-0 application/vnd.docker.distribution.manifest.list.v2+json sha256:d0e1bc44b9bc37d0b63612e1a11b43e07bc650ffc0545d58f7991607460974d4 54.3 MiB linux/amd64,linux/arm/v7,linux/arm64,linux/ppc64le,linux/s390x,windows/amd64 io.cri-containerd.image=managed

registry.aliyuncs.com/google_containers/kube-apiserver:v1.31.0 application/vnd.docker.distribution.manifest.list.v2+json sha256:bd110aefb084619148d60c47fc56b63efcada6379232ef17164352bdbd029798 26.8 MiB linux/amd64,linux/arm64,linux/ppc64le,linux/s390x io.cri-containerd.image=managed

registry.aliyuncs.com/google_containers/kube-controller-manager:v1.31.0 application/vnd.docker.distribution.manifest.list.v2+json sha256:7be708a850aed56d9ae75ccc9859c042343ec8278c3abb96abaf8835440af5ea 25.0 MiB linux/amd64,linux/arm64,linux/ppc64le,linux/s390x io.cri-containerd.image=managed

registry.aliyuncs.com/google_containers/kube-proxy:v1.31.0 application/vnd.docker.distribution.manifest.list.v2+json sha256:32ea16df325a8d59c46a608a5f1161c5f32d148f3c984014078df11f56666403 28.8 MiB linux/amd64,linux/arm64,linux/ppc64le,linux/s390x io.cri-containerd.image=managed

registry.aliyuncs.com/google_containers/kube-scheduler:v1.31.0 application/vnd.docker.distribution.manifest.list.v2+json sha256:891366462408d7192237558f80c3528bf8be83a1e8e28449fa756265984a5a68 19.3 MiB linux/amd64,linux/arm64,linux/ppc64le,linux/s390x io.cri-containerd.image=managed

registry.aliyuncs.com/google_containers/pause:3.10 application/vnd.docker.distribution.manifest.list.v2+json sha256:0ca1162b75bf9fc55c4cac99a1ff06f7095c881d5c07acfa07c853e72225c36f 312.1 KiB linux/amd64,linux/arm/v7,linux/arm64,linux/ppc64le,linux/s390x,windows/amd64 io.cri-containerd.image=managed

registry.aliyuncs.com/google_containers/pause:3.8 application/vnd.docker.distribution.manifest.list.v2+json sha256:9001185023633d17a2f98ff69b6ff2615b8ea02a825adffa40422f51dfdcde9d 304.0 KiB linux/amd64,linux/arm/v7,linux/arm64,linux/ppc64le,linux/s390x,windows/amd64 io.cri-containerd.image=managed,io.cri-containerd.pinned=pinned

sha256:045733566833c40b15806c9b87d27f08e455e069833752e0e6ad7a76d37cb2b1 application/vnd.docker.distribution.manifest.list.v2+json sha256:7be708a850aed56d9ae75ccc9859c042343ec8278c3abb96abaf8835440af5ea 25.0 MiB linux/amd64,linux/arm64,linux/ppc64le,linux/s390x io.cri-containerd.image=managed

sha256:08616d26b8e74867402274687491e5978ba4a6ded94e9f5ecc3e364024e5683e application/vnd.docker.distribution.manifest.v2+json sha256:15f06f354ca521be7f85fe081a78b70e2d5de700587ba55631551104eaf89f46 235.3 MiB linux/amd64 io.cri-containerd.image=managed

sha256:1766f54c897f0e57040741e6741462f2e3a7d754705f446c9f729c7e1230fb94 application/vnd.docker.distribution.manifest.list.v2+json sha256:891366462408d7192237558f80c3528bf8be83a1e8e28449fa756265984a5a68 19.3 MiB linux/amd64,linux/arm64,linux/ppc64le,linux/s390x io.cri-containerd.image=managed

sha256:1d69a7dee48b50c2031b57009f1a97c951a71fca85a2d86fda1c1cc23e058e39 application/vnd.oci.image.manifest.v1+json sha256:0b783232de97a4ab59b19e44cb8e9b6a6db797d2b24f8d276a696a4bbf2f33c3 213.0 MiB linux/amd64 io.cri-containerd.image=managed

sha256:2e96e5913fc06e3d26915af3d0f2ca5048cc4b6327e661e80da792cbf8d8d9d4 application/vnd.docker.distribution.manifest.list.v2+json sha256:d0e1bc44b9bc37d0b63612e1a11b43e07bc650ffc0545d58f7991607460974d4 54.3 MiB linux/amd64,linux/arm/v7,linux/arm64,linux/ppc64le,linux/s390x,windows/amd64 io.cri-containerd.image=managed

sha256:45de196aef7e05be0c0f3bd2ec21fd7060aa06d5721f1095dcc5fdf825cfccbf application/vnd.oci.image.manifest.v1+json sha256:48a2747b641f1561496f219956612d860f6c6a4acb6670aa20b0310ac2225bfa 94.6 MiB linux/amd64 io.cri-containerd.image=managed

sha256:4873874c08efc72e9729683a83ffbb7502ee729e9a5ac097723806ea7fa13517 application/vnd.docker.distribution.manifest.list.v2+json sha256:9001185023633d17a2f98ff69b6ff2615b8ea02a825adffa40422f51dfdcde9d 304.0 KiB linux/amd64,linux/arm/v7,linux/arm64,linux/ppc64le,linux/s390x,windows/amd64 io.cri-containerd.image=managed,io.cri-containerd.pinned=pinned

sha256:5e785d005ccc1ab22527a783835cf2741f6f5f385a8956144c661f8c23ae9d78 application/vnd.docker.distribution.manifest.v2+json sha256:404f5c7810fcd8e968b28fa35bf92c31f821a8b11aa8a814b00189fb14123cd4 68.3 MiB linux/amd64 io.cri-containerd.image=managed

sha256:604f5db92eaa823d11c141d8825f1460206f6bf29babca2a909a698dc22055d3 application/vnd.docker.distribution.manifest.list.v2+json sha256:bd110aefb084619148d60c47fc56b63efcada6379232ef17164352bdbd029798 26.8 MiB linux/amd64,linux/arm64,linux/ppc64le,linux/s390x io.cri-containerd.image=managed

sha256:873ed75102791e5b0b8a7fcd41606c92fcec98d56d05ead4ac5131650004c136 application/vnd.docker.distribution.manifest.list.v2+json sha256:0ca1162b75bf9fc55c4cac99a1ff06f7095c881d5c07acfa07c853e72225c36f 312.1 KiB linux/amd64,linux/arm/v7,linux/arm64,linux/ppc64le,linux/s390x,windows/amd64 io.cri-containerd.image=managed

sha256:8d40dd64796e2a5287d5f28007a58321ad6d871d681280d1a289303ebfd174b5 application/vnd.oci.image.manifest.v1+json sha256:cc8effd4f0e76974b16be470111159ca09fbdecbd10ab9e021bbc60dee4b88ab 493.0 MiB linux/amd64 io.cri-containerd.image=managed

sha256:932b0bface75b80e713245d7c2ce8c44b7e127c075bd2d27281a16677c8efef3 application/vnd.docker.distribution.manifest.v2+json sha256:f741e403b3ca161e784163de3ebde9190905fdbf7dfaa463620ab8f16c0f6423 17.1 MiB linux/amd64 io.cri-containerd.image=managed

sha256:ad83b2ca7b09e6162f96f933eecded731cbebf049c78f941fd0ce560a86b6494 application/vnd.docker.distribution.manifest.list.v2+json sha256:32ea16df325a8d59c46a608a5f1161c5f32d148f3c984014078df11f56666403 28.8 MiB linux/amd64,linux/arm64,linux/ppc64le,linux/s390x io.cri-containerd.image=managed

sha256:cbb01a7bd410dc08ba382018ab909a674fb0e48687f0c00797ed5bc34fcc6bb4 application/vnd.docker.distribution.manifest.list.v2+json sha256:a6b67bdb2a6750b591e6b07fac29653fc82ee964e5fc53baf4c1ad3f944b655a 17.3 MiB linux/amd64,linux/arm/v7,linux/arm64,linux/ppc64le,linux/riscv64,linux/s390x io.cri-containerd.image=managed

sha256:d70a5947d57e5ab3340d126a38e6ae51bd9e8e0b342daa2012e78d8868bed5b7 application/vnd.docker.distribution.manifest.v2+json sha256:f1b231eb3436264444a430f2b1a08cfc5d25b2a333c2b2b263f4e523da22cc94 188.7 MiB linux/amd64 io.cri-containerd.image=managed

sha256:e18506331493a7bdfea054d172c38eb23000fc5382491b6b549afed8dbddfc5c application/vnd.oci.image.manifest.v1+json sha256:3285e0aab1137b84d7379ff54c268002683be25bbadb1018c5f3fe4e13d3e6f0 536.5 MiB linux/amd64 io.cri-containerd.image=managed

[root@master01 ~]#


 


 


 

查看镜像


 

ctr images list


 

crictl images

crictl images list


 


 

在 Containerd 环境中导入镜像的命令


 

可以使用 ctr 或 crictl 命令来导入镜像,这与 docker load -i 命令类似。


 


 

方法一:使用 ctr 命令(推荐)

ctr 是 Containerd 自带的命令行工具,可以直接操作 Containerd。


 

基本命令格式:

bash

sudo ctr -n=k8s.io images import redis.tar

参数说明:

-n=k8s.io:指定命名空间为 k8s.io,这是 Kubernetes 使用的默认命名空间


 

import:导入镜像命令


 

redis.tar:要导入的镜像文件


 


 


 

方法二:使用 crictl 命令

crictl 是 CRI(容器运行时接口)兼容的工具,也可以用于操作 Containerd。


 

基本命令格式:

bash

sudo crictl images import redis.tar

完整示例:

bash

# 导入镜像

sudo crictl images import /tmp/redis.tar


 

# 验证镜像是否已导入

sudo crictl images | grep redis

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐