活动介绍

linux k8s crictl -r unix:///var/run/containerd/containerd.sock images

时间: 2025-02-15 13:54:51 浏览: 80
### 使用 crictl 查看 Kubernetes 中 Containerd 的镜像 `crictl` 是一个用于调试和操作 CRI(容器运行时接口)兼容的容器运行时工具,比如 Containerd 或 cri-o。它可以让你直接与 Kubernetes 所使用的容器运行时进行交互。下面我们将详细介绍如何使用 `crictl images` 命令结合特定的 Socket 文件路径来列出所有由 Containerd 管理的镜像。 #### 1. **准备环境** 首先确保你已经安装并配置好了 `crictl`,并且可以访问 Kubernetes 节点上的 Containerd。通常情况下,默认配置文件位于 `/etc/crictl.yaml`,你可以编辑此文件指定 `runtime-endpoint` 指向 Containerd 的 Unix Domain Socket 地址 (`unix:///var/run/containerd/containerd.sock`)。 如果尚未更改过配置文件,也可以通过命令行参数 `-r` 动态地传递这个值: ```bash sudo crictl -r unix:///var/run/containerd/containerd.sock ``` #### 2. **查看镜像列表** 接下来,我们可以使用 `images` 子命令加上之前提到的 Runtime Endpoint 参数来获取所有的容器镜像信息: ```bash sudo crictl -r unix:///var/run/containerd/containerd.sock images ``` 这条命令将会返回类似于以下格式的结果: ``` IMAGE TAG IMAGE ID SIZE docker.io/library/nginx latest sha256:abcde... 107MB k8s.gcr.io/pause 3.5 sha256:fghij... 743kB ... ``` 这里展示了每个镜像的基本属性:仓库地址、标签名、唯一标识符以及大小等详细信息。 #### 3. **过滤镜像结果** 如果你想进一步筛选出某个特定条件下的镜像记录,还可以添加额外的选项来进行精确匹配。例如只显示包含 "nginx" 关键字的所有镜像: ```bash sudo crictl -r unix:///var-run/containerd/containerd.sock images | grep nginx ``` 这将帮助你在大量镜像中快速定位感兴趣的内容。 --- **总结来说**, 使用 `crictl images` 结合 `-r` 参数可以让用户方便快捷地浏览 Kubernetes 上基于 Containerd 运行时保存下来的各个 Docker 镜像详情。这对于运维人员排查问题或是日常维护都非常有用处。
阅读全文

相关推荐

#!/bin/bash echo "192.168.1.11 k8s-master01" >>/etc/hosts echo "192.168.1.12 k8s-node01" >>/etc/hosts echo "192.168.1.13 k8s-node02" >>/etc/hosts yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF yum install wget jq psmisc vim net-tools telnet yum-utils device-mapper-persistent-data lvm2 git -y systemctl disable --now firewalld setenforce 0 sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config swapoff -a && sysctl -w vm.swappiness=0 sed -ri '/^[^#]*swap/s@^@#@' /etc/fstab yum -y install chrony systemctl enable --now chronyd chronyc tracking chronyc -a makestep ulimit -SHn 65535 echo "* soft nofile 65536" >> /etc/security/limits.conf echo "* hard nofile 131072" >> /etc/security/limits.conf echo "* soft nproc 65535" >> /etc/security/limits.conf echo "* hard nproc 655350" >> /etc/security/limits.conf echo "* soft memlock unlimited" >> /etc/security/limits.conf echo "* hard memlock unlimited" >> /etc/security/limits.conf yum install ipvsadm ipset sysstat conntrack libseccomp -y modprobe -- ip_vs && modprobe -- ip_vs_rr && modprobe -- ip_vs_wrr && modprobe -- ip_vs_sh && modprobe -- nf_conntrack cat <<EOF > /etc/modules-load.d/ipvs.conf ip_vs ip_vs_lc ip_vs_wlc ip_vs_rr ip_vs_wrr ip_vs_lblc ip_vs_lblcr ip_vs_dh ip_vs_sh ip_vs_fo ip_vs_nq ip_vs_sed ip_vs_ftp ip_vs_sh nf_conntrack ip_tables ip_set xt_set ipt_set ipt_rpfilter ipt_REJECT EOF systemctl enable --now systemd-modules-load.service cat <<EOF > /etc/sysctl.d/k8s.conf net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 fs.may_detach_mounts = 1 net.ipv4.conf.all.route_localnet = 1 vm.overcommit_memory=1 vm.panic_on_oom=0 fs.inotify.max_user_watches=89100 fs.file-max=52706963 fs.nr_open=52706963 net.netfilter.nf_conntrack_max=2310720 net.ipv4.tcp_keepalive_time = 600 net.ipv4.tcp_keepalive_probes = 3 net.ipv4.tcp_keepalive_intvl =15 net.ipv4.tcp_max_tw_buckets = 36000 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_max_orphans = 327680 net.ipv4.tcp_orphan_retries = 3 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 16384 net.core.somaxconn = 16384 EOF sysctl --system yum install docker-ce-20.10.* docker-ce-cli-20.10.* -y cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf overlay br_netfilter EOF modprobe -- overlay modprobe -- br_netfilter cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 EOF sysctl --system mkdir -p /etc/containerd containerd config default | tee /etc/containerd/config.toml cat > /etc/crictl.yaml <<EOF runtime-endpoint: unix:///run/containerd/containerd.sock image-endpoint: unix:///run/containerd/containerd.sock timeout: 10 debug: false EOF 这个脚本有语法错误吗