我正在尝试从 Kubernetes 集群中删除具有特定名称格式的所有未使用的图像,如下所示。
crictl images | grep -E -- 'foo|bar' | awk '{print \$3}' | xargs -n 1 crictl rmi
Run Code Online (Sandbox Code Playgroud)
但是这个也会删除所有名为“foo”或“bar”的图像,即使它正在被容器使用。尝试使用“crictl rmi -q”,但这会删除不在上面的过滤器中的多个其他图像。
我正在 Linux 工作站上使用 podman 和 minikube 探索和学习容器和 kubernetes。我使用 podman 在工作站上构建映像,并希望在使用 kvm2 虚拟机驱动程序的工作站上运行的 minikube 中部署这些映像。我还使用 CRI-O 容器运行时启动 minikube。
在这种情况下,将这些映像从工作站部署到 minikube 的有效工作流程是什么?Docker 不在 minikube 虚拟机上运行,因此不能像 minikube 文档中描述的那样重用 Docker 守护进程。使用 kvm2 时,此时与 minikube 共享主机文件系统似乎也不可行。
运行对工作站和 minikube vm 都可见的本地注册表是最佳选择吗?解答如何使用当地搬运工图像与Minikube?并且(Kubernetes + Minikube)无法从本地注册表获取 docker 镜像似乎为配置本地注册表提供了很好的解决方案。
skopeo 会是一个解决方案吗?
编辑:这是一篇很好的文章,描述了如何使用 podman 设置注册表:https ://computingforgeeks.com/create-docker-container-registry-with-podman-letsencrypt/
谢谢你
布拉德
当使用Kubespray、CRI-O和Cilium部署集群时,我收到一个关于有多个 CRI 套接字可供选择的错误。
完全错误
fatal: [p3kubemaster1]: FAILED! => {"changed": true, "cmd": " mkdir -p /etc/kubernetes/external_kubeconfig && /usr/local/bin/kubeadm init phase kubeconfig admin --kubeconfig-dir /etc/kubernetes/external_kubeconfig --cert-dir /etc/kubernetes/ssl --apiserver-advertise-address 10.10.3.15 --apiserver-bind-port 6443 >/dev/null && cat /etc/kubernetes/external_kubeconfig/admin.conf && rm -rf /etc/kubernetes/external_kubeconfig ", "delta": "0:00:00.028808", "end": "2019-09-02 13:01:11.472480", "msg": "non-zero return code", "rc": 1, "start": "2019-09-02 13:01:11.443672", "stderr": "Found multiple CRI sockets, please use --cri-socket to select one: /var/run/dockershim.sock, /var/run/crio/crio.sock", "stderr_lines": ["Found multiple CRI sockets, please use --cri-socket to …Run Code Online (Sandbox Code Playgroud) 作为对评论的回应,我提供了更多信息。
$ kubectl get pods --namespace kube-system
NAME READY STATUS RESTARTS AGE
coredns-66bff467f8-lkwfn 0/1 ContainerCreating 0 7m8s
coredns-66bff467f8-pcn6b 0/1 ContainerCreating 0 7m8s
etcd-masternode 1/1 Running 0 7m16s
kube-apiserver-masternode 1/1 Running 0 7m16s
kube-controller-manager-masternode 1/1 Running 0 7m16s
kube-proxy-7zrjn 1/1 Running 0 7m8s
kube-scheduler-masternode 1/1 Running 0 7m16s
Run Code Online (Sandbox Code Playgroud)
...
Jun 16 16:18:59 masternode kubelet[6842]: E0616 16:18:59.313433 6842 remote_runtime.go:105] RunPodSandbox from runtime service failed: rpc error: code = Unknown desc = failed to create pod network sandbox …Run Code Online (Sandbox Code Playgroud)