Linux运维工程师面试题(8) 时讯
Linux运维工程师面试题(8)1 docker 的网络类型,使用场景2 CMD 和 ENTRYPOINT 的区别3 怎么减小 dokcer 镜像的大小4 现有一个正在运行的容器,容器中没有 ps、top、netstat、ss、ip、lsof等命令,怎么查看容器内进程及pid和打开的端口5 如何临时退出⼀个正在交互的容器的终端,而不终止它?6 如果只有镜像或者在运行的容器,没有 dockerfile,现在有需求需要借助这个镜像或容器重写 dockerfile,怎么查看这个镜像或容器之前的构建过程。7 COPY 和 ADD 的区别8 制作镜像方式9 K8S 有那些组件,都是干什么用的10 K8S 创建一个pod的流程
Linux运维工程师面试题(8)
祝各位小伙伴们早日找到自己心仪的工作。持续学习才不会被淘汰。地球不爆炸,我们不放假。机会总是留给有有准备的人的。加油,打工人!
(相关资料图)
1 docker 的网络类型,使用场景
none:在使用none模式后,Docker容器不会进行任何网络配置,没有网卡、没有IP也没有路由,因此默认无法与外界通信,需要手动添加网卡配置IP等,所以极少使用。
bridge:默认模式。可以和外部网络之间进行通信,通过SNAT访问外网,使用DNAT可以让容器被外部主机访问,所以此模式也称为NAT模式。
host:此模式由于直接使用宿主机的网络无需转换,网络性能最高,但是各容器内使用的端口不能相同,适用于运行容器端口比较固定的业务。
container:使用此模式创建的容器需指定和一个已经存在的容器共享一个网络,而不是和宿主机共享网,新创建的容器不会创建自己的网卡也不会配置自己的IP,而是和一个被指定的已经存在的容器共享IP和端口范围,因此这个容器的端口不能和被指定容器的端口冲突,除了网络之外的文件系统、进程信息等仍然保持相互隔离,两个容器的进程可以通过lo网卡进行通信。
2 CMD 和 ENTRYPOINT 的区别
No ENTRYPOINTENTRYPOINT exec_entry p1_entryENTRYPOINT [“exec_entry”, “p1_entry”]No CMDerror, not allowed/bin/sh -c exec_entry p1_entryexec_entry p1_entryCMD [“exec_cmd”, “p1_cmd”]exec_cmd p1_cmd/bin/sh -c exec_entry p1_entryexec_entry p1_entry exec_cmd p1_cmdCMD exec_cmd p1_cmd/bin/sh -c exec_cmd p1_cmd/bin/sh -c exec_entry p1_entryexec_entry p1_entry /bin/sh -c exec_cmd p1_cmd
3 怎么减小 dokcer 镜像的大小
尽量选取满足需求但较小的基础系统镜像;
清理编译生成的文件、安装包的缓存等临时文件;
安装各个软件时候要指定准确的版本号、并避免引入不需要的依赖;
减少镜像层数,合并相同的命令,比如RUN命令;
使用 Dockerfile 创建镜像时候要添加 dockerignore 文件或使用干净的工具目录;
4 现有一个正在运行的容器,容器中没有 ps、top、netstat、ss、ip、lsof等命令,怎么查看容器内进程及pid和打开的端口
可以使用 docker ps 命令查看容器内进程的和port。也可以使用 docker top 命令查看容器内的相关进程,包括它们的PID和其它信息。可以使用docker port命令查看容器暴露的端口。
也可以进入容器。在/proc目录下查看进程pid和其他信息。下面是/proc/pid目录中可能包含的文件和目录的一些例子:
cmdline:该文件包含了进程启动时的完整命令行参数。
cwd:该文件包含了进程当前的工作目录。
environ:该文件包含了进程环境变量列表。
exe:该文件是进程的可执行文件的符号链接,可以通过它来找到进程的可执行文件。
fd:该目录包含了进程打开的文件列表,每个文件都以符号链接的形式出现在该目录下。
5 如何临时退出⼀个正在交互的容器的终端,而不终止它?
同时按三个键,ctrl+p+q。如果按Ctrl+c 会使容器内的应用进程终止、进而会使容器终止。
6 如果只有镜像或者在运行的容器,没有 dockerfile,现在有需求需要借助这个镜像或容器重写 dockerfile,怎么查看这个镜像或容器之前的构建过程。
使用docker history或者docker image history命令进行查看。也可以使用docker inspect命令查看相关信息。
7 COPY 和 ADD 的区别
COPY 命令会将文件的所有元数据(如所有者、权限等)都复制到容器中,而ADD则不会。这意味着在使用ADD时,您可能需要手动设置文件的元数据。
ADD 命令支持在拷贝文件时自动解压缩tar文件,而 COPY 不支持。
ADD 命令支持将 URL 作为源文件,并自动下载并将其复制到容器中。
8 制作镜像方式
docker commit # 通过修改现有容器,将之手动构建为镜像
docker build # 通过Dockerfile文件,批量构建为镜像
9 K8S 有那些组件,都是干什么用的
master:
kube-apiserver:API 服务器为 REST 操作提供服务,公开 Kubernetes API,负责处理接受请求的工作。 并为集群的共享状态提供前端, 所有其他组件都通过该前端进行交互。
kube-controller-manager:负责运行控制器进程,负责集群内的Node 、Pod 副本、服务端点( Endpoint )、命名空间(Namespace )、服务账号( ServiceAccount )、资源定额( ResourceQuota )的管理,当某个 Node 意外宕机时, Controller Manager 会及时发现并执行自动化修复流程,确保集群始终处于预期的工作状态。
kube-scheduler: 负责监视新创建的、未指定运行节点(node)的 Pods, 并选择节点来让 Pod 在上面运行。
etcd:一致且高可用的键值存储,用作 Kubernetes 所有集群数据的后台数据库。
node:
kubelet:它保证容器(containers)都运行在 Pod 中。向 master 汇报 node 节点的状态信息;接受指令并在 Pod 中创建 docker 容器;准备 Pod 所需的数据卷;返回 pod 的运行状态;在 node 节点执行容器健康检查
kube-proxy:集群中每个节点(node)上所运行的网络代理, 实现 Kubernetes 服务(Service) 概念的一部分。
容器运行时(Container Runtime):容器运行环境是负责运行容器的软件。
10 K8S 创建一个pod的流程
准备好对应的yaml文件,通过kubectl发送到Api Server中;
Api Server接收到客户端的请求将请求内容保存到etcd中;
Scheduler会监测etcd,发现没有分配节点的pod对象通过过滤和打分筛选出最适合的节点运行pod;
节点会通过conteiner runntime 运行对应pod的容器以及创建对应的副本数;
节点上的kubelet会对自己节点上的容器进行管理;
controler会监测集群中的每个节点,发现期望状态和实际状态不符合的话,就会通知对应的节点;
节点收到通知,会通过container runtime来对pod内的容器进行收缩或者扩张。
以上面试题仅仅个人总结,想到什么就写什么,没有任何顺序,写的有什么不对的地方请各位大佬评论、留言,我会及时更正。
原文链接: [Linux运维工程师面试题(8)](/2023/03/25/1365/).
相关阅读
精彩推荐
- Linux运维工程师面试题(8) 时讯
- 《狂野西部:枪手》汉化教程|热资讯
- 新能源下乡专属车型!奇瑞QQ冰淇淋雪糕款2.99万“清新”上市
- 环球信息:打印机墨水怎么洗掉啊(打印机墨水怎么洗掉)
- “中国历代绘画大系”成果展·宁波特展开幕
- 全球实时:从四川大学出发!“蓉火”开启成都市内传递活动
- 大专比较好的专业_哪些专业就业前景好|天天微头条
- 丹红注射液药理作用_丹红注射液对脑梗的作用 全球快讯
- 世界速讯:约会大作战狂三图集_约会大作战狂三h大全
- 事业单位改革政事分开政企分开管办分离是什么意思(管办分离是什么意思)
- 海南旅游发展研究院揭牌 助力旅游业高质量发展
- 斗罗大陆成龙代言游戏兑换码_斗罗大陆成龙_视点
- 销售礼仪培训应注意哪些问题_销售礼仪培训的注意事项
- 前沿资讯!西藏鸡血藤到底是什么?
- 暑期档电影累计票房已达 41.31 亿元
- 新势力汽车品牌前五名排序确认:埃安和理想刷新纪录 世界热消息
- 全球短讯!企业工商变更申请表_企业变更登记申请书在工商网站哪个地方下载
- 嫩豆腐可以生吃么?
- 环球微头条丨嘀嗒车主注册_嘀嗒的歌词
- 每日热闻!股票涨幅20%怎么回事
- 天天头条:新开发银行成为中国银行间市场最大的熊猫债发行人之一
- 世界球精选!《师父》最终更新预告 2023年9月免费上线
- 桌面上我的电脑图标消失了_桌面上我的电脑图标不见了怎么恢复-全球新消息
- 卫浴的十大品牌有哪些(卫浴二线品牌有哪些)
- 外汇局:今年一季度我国国际收支基本平衡
- 好好的暑假怎么就可怕了?-世界短讯
- 微动态丨安徽省蒙城县发布大雾黄色预警
- 资讯:生益科技06月30日获沪股通增持160.61万股
- 纽威数控(688697):6月30日北向资金增持22.36万股-环球观速讯
- 让传统文化“潮起来” 河南洛阳推动文化传承发展