JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

k8s运维记录(四) k8s运维面试题与答案

wys521 2024-10-23 15:19:29 精选教程 28 ℃ 0 评论

k8s运维记录(四)

一:ctr 命令工具

#导入镜像

$ docker build -t my-app .

$ docker save -o my-app.tar my-app

$ ctr images import my-app.tar

#拉取镜像

$ ctr images pull docker.io/library/nginx:1.21

#列出镜像

$ ctr images ls

#删除镜像

$ ctr images remove docker.io/library/nginx:1.21

#运行容器

$ ctr run --rm -t docker.io/library/debian:latest cont1

#列出运行的容器

ctr container ls

ctr containers ls

#给镜像打标签

ctr -n k8s.io images tag docker.io/library/nginx:alpine harbor.ltd/library/nginx:alpine

#push 上传镜像

ctr -n k8s.io images push harbor.ltd/library/nginx:alpine


二:k8s v1.26.0

crictl和kubelet使用的镜像的命名空间为k8s.io。

crictl镜像的namespace就一个,k8s.io。因此也是默认拉取镜像的namespace。

如果通过ctr拉取镜像时如果不指定放在k8s.io空间下,crictl是无法读取到本地的该镜像的


#总结

crictl作用于k8s集群,对其他容器不生效。主要用来调试k8s。

ctr时containerd自带工具,不走containerd的加速器配置。

nerdctl是conainerd子项目客户端,走加速器配置,镜像下载快


#下载镜像

crictl pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9

ctr -n k8s.io images pull docker.io/library/nginx:latest

当指定命名空间k8s.io时,下载完成后,k8s和crictl也可以获取到


nerdctl 是与 docker cli 风格兼容的 containerd 客户端工具,直接兼容 docker compose 的语法,可以提高直接将 containerd 作为本地开发、测试或者单机容器部署使用的效率

#nerdctl客户端工具安装与使用

https://github.com/containerd/nerdctl/releases


nerdctl run -d --name nginx -p 80:80 nginx:alpine

#查看命名空间

nerdctl namespace ls

#拉取镜像到k8s.io命名空间

nerdctl pull nginx:latest --namespace k8s.io

#查看k8s.io下的镜像

nerdctl images --namespace k8s.io


#containerd配置镜像加速

mkdir /etc/containerd/certs.d/docker.io -pv


三:kubectl自动补全

apt install -y bash-completion
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc

nerdctl run -d -p 80:80 --name web nginx:alpine

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表