Linux环境下K8S容器镜像管理
一 基础流程与常用命令
docker build -t <registry>/<ns>/<repo>:<tag> .docker login <registry>docker tag <repo>:<tag> <registry>/<ns>/<repo>:<tag>docker push <registry>/<ns>/<repo>:<tag>kubectl apply -f deploy.yamlkubectl get pods, kubectl describe pod <name>kubectl get events --sort-by=.metadata.creationTimestamp二 节点侧镜像查看与导入导出 containerd
crictl config runtime-endpoint unix:///run/containerd/containerd.sockcrictl config image-endpoint unix:///run/containerd/containerd.sockcrictl imagesctr -n k8s.io image import <image>.tar.gzctr -n k8s.io image export <image>.tar.gz <registry>/<ns>/<repo>:<tag>三 镜像拉取策略与最佳实践
四 私有仓库认证与多命名空间分发
kubectl create secret generic regcred --from-file=.dockerconfigjson=$HOME/.docker/config.jsonkubectl create secret docker-registry <secret-name> --docker-server=<registry> --docker-username=<user> --docker-password=<pwd>spec.imagePullSecrets: [{ name: <secret-name> }]kubectl get secret <secret-name> --namespace=default --export -o yaml | kubectl apply --namespace=<ns> -f -五 常见问题快速排查
kubectl describe pod <name> 查看 Events,关注 Failed to pull image、ImagePullBackOff、CrashLoopBackOff 等关键信息。crictl images 检查镜像是否已落盘;必要时用 ctr -n k8s.io image import 导入离线镜像包。