「高频必考」Docker&K8S面试题和答案
先送福利:Go如何自动解压缩包?| 文末送书
Docker
如何在Docker容器内部访问主机上的服务?
可以通过设置主机网络模式,使用--net=host参数来访问主机上的服务。这样,容器和主机将共享一个网络命名空间,容器将可以直接访问主机上的服务。
如何在Docker容器中运行多个进程?
Docker推荐每个容器只运行一个进程。如果需要在容器中运行多个进程,可以使用supervisord等进程管理工具来管理多个进程。
如何在Docker容器中使用环境变量?
可以通过在Dockerfile中使用ENV指令定义环境变量,或者使用docker run命令的-e选项来设置环境变量。在容器内部,可以使用$ENV_NAME的方式来引用环境变量。
如何在Docker容器中共享数据?
可以使用Docker数据卷来共享数据。数据卷是一个可以被容器内外访问的特殊目录,可以在docker run命令中使用-v选项来创建和挂载数据卷。
如何在Docker容器中安装和使用ssh服务?
可以在Dockerfile中安装openssh-server,然后启动sshd服务。同时,需要在docker run命令中使用-p选项将容器内部的22端口映射到主机上的一个端口,以便可以通过ssh连接到容器。
如何在Docker容器中使用多个镜像?
可以使用Docker Compose来组合多个镜像。在Docker Compose配置文件中,可以定义多个服务,每个服务对应一个镜像,然后使用docker-compose up命令来启动多个容器。
如何在Docker容器中运行GUI应用?
可以在Dockerfile中安装图形界面相关的软件包,然后使用docker run命令的--env DISPLAY选项来设置显示环境变量,再使用--volume选项将主机上的X11套接字文件挂载到容器内部。这样,就可以在容器中运行GUI应用了。
如何在Docker容器中限制CPU和内存使用?
可以使用docker run命令的--cpu-shares和--memory选项来限制CPU和内存使用。--cpu-shares选项可以设置CPU时间片的权重,--memory选项可以设置容器能够使用的内存大小。
如何在Docker容器中设置时区?
可以在Dockerfile中安装tzdata软件包,然后使用docker run命令的-e选项设置TZ环境变量为所需时区,或者使用--volume选项将主机上的/etc/localtime文件挂载到容器内部的相应位置。
如何在Docker容器中实现容器间通信?
可以使用Docker网络来实现容器间通信。Docker提供了多种网络模式,如默认的bridge网络、host网络、overlay网络等。可以使用docker network命令来创建和管理网络,并使用--network选项指定容器所属的网络。在同一个网络中的容器可以直接通过容器名或IP地址相互访问。
kubernetes
什么是Kubernetes?
Kubernetes是一个用于自动部署、扩展和管理容器化应用程序的开源平台。它提供了一个可扩展的、高可用的集群,并包含了自动化部署、负载平衡、存储管理、自我修复、自动扩容等功能。
Kubernetes中的Pod是什么?
Pod是Kubernetes中最小的部署单元,它包含一个或多个紧密耦合的容器和共享的存储/网络资源。Pod提供了一种抽象层,使得容器可以在同一个主机上共享文件系统、网络命名空间等资源。
Kubernetes中的ReplicaSet是什么?
ReplicaSet是一个用于管理Pod副本数量的控制器。它可以根据用户定义的副本数量,自动调整Pod的数量,以保证应用程序的高可用性。
Kubernetes中的Service是什么?
Service是Kubernetes中一个抽象的逻辑概念,用于暴露Pod的网络服务。Service可以将Pod的IP地址和端口映射到一个虚拟的IP地址和端口上,从而实现了Pod的负载均衡和服务发现功能。
Kubernetes中的Deployment是什么?
Deployment是一个用于管理Pod部署的控制器。它可以自动创建和更新Pod,以便保持应用程序的可用性和可伸缩性。
Kubernetes中的ConfigMap和Secret是什么?
ConfigMap是一个用于存储应用程序配置信息的对象,可以通过环境变量、命令行参数等方式使用。Secret是一个用于存储敏感信息(如密码、密钥等)的对象,可以加密存储。
Kubernetes中的DaemonSet是什么?
DaemonSet是一个用于在每个节点上运行一个Pod的控制器。它可以用于运行一些需要在每个节点上运行的系统级别的服务,如日志收集、监控等。
Kubernetes中的StatefulSet是什么?
StatefulSet是一个用于管理有状态应用程序的控制器。它可以保证Pod的唯一性和有序性,从而实现有状态应用程序的可靠性。
Kubernetes中的HorizontalPodAutoscaler是什么?
HorizontalPodAutoscaler是一个用于自动扩展Pod数量的控制器。它可以根据应用程序的负载情况,自动调整Pod数量,以保证应用程序的性能和可用性。
Kubernetes中的CSI是什么?
CSI(Container Storage Interface)是一个用于存储管理的标准接口,它可以让存储提供商为Kubernetes提供自定义的存储解决方案。CSI可以让Kubernetes与不同的存储提供商进行集成,从而实现高度可定制化的存储管理。
「高频必考」Docker&K8S面试题和答案的更多相关文章
- 【JVM故障问题排查心得】「内存诊断系列」Docker容器经常被kill掉,k8s中该节点的pod也被驱赶,怎么分析?
背景介绍 最近的docker容器经常被kill掉,k8s中该节点的pod也被驱赶. 我有一个在主机中运行的Docker容器(也有在同一主机中运行的其他容器).该Docker容器中的应用程序将会计算数据 ...
- 「新手必看」Python+Opencv实现摄像头调用RGB图像并转换成HSV模型
在ROS机器人的应用开发中,调用摄像头进行机器视觉处理是比较常见的方法,现在把利用opencv和python语言实现摄像头调用并转换成HSV模型的方法分享出来,希望能对学习ROS机器人的新手们一点帮助 ...
- Java必考题目之JVM面试题目和答案
JVM内存模型 首先我们来了解一下JVM的内存模型的怎么样的: 1.堆:存放对象实例,几乎所有的对象实例都在这里分配内存 堆得内存由-Xms指定,默认是物理内存的1/64:最大的内存由-Xmx指定,默 ...
- 2019年,Python工程师必考的6个面试题,Python面试题No5
第1题:Python里面如何实现tuple和list的转换? 函数tuple(seq)可以把所有可迭代的(iterable)序列转换成一个tuple, 元素不变,排序也不变 list转为tuple: ...
- [LOJ#6002]「网络流 24 题」最小路径覆盖
[LOJ#6002]「网络流 24 题」最小路径覆盖 试题描述 给定有向图 G=(V,E).设 P 是 G 的一个简单路(顶点不相交)的集合.如果 V 中每个顶点恰好在 P 的一条路上,则称 P 是 ...
- 报名|「OneAPM x DaoCloud」技术公开课:Docker性能监控!
如今,越来越多的公司开始 Docker 了,「三分之二的公司在尝试了 Docker 后最终使用了它」,也就是说 Docker 的转化率达到了 67%,同时转化时长也控制在 60 天内. 既然 Dock ...
- docker并不能把部署的工作「减少为0」,比较好的情况下是「基本减少为1」
很多人说docker改变了运维世界,这句话是从群体角度来说的,是统计学意义上的改变,像mysql,python这样被大规模使用的基础应用,docker化之后为整个群体所节省的时间是非常巨大的. 有人可 ...
- 整理的最全 python常见面试题(基本必考)
整理的最全 python常见面试题(基本必考) python 2018-05-17 作者 大蛇王 1.大数据的文件读取 ① 利用生成器generator ②迭代器进行迭代遍历:for line in ...
- UICollectionViewCell「居左显示」
UICollectionViewCell「居左显示」 准备: 1.UICollectionView Left Aligned Layout 一款UICollectionView居左显示的约束点击下载_ ...
- [LOJ#2326]「清华集训 2017」简单数据结构
[LOJ#2326]「清华集训 2017」简单数据结构 试题描述 参加完IOI2018之后就是姚班面试.而你,由于讨厌物理.并且想成为乔布斯一样的创业家,被成功踢回贵系. 转眼,时间的指针被指向201 ...
随机推荐
- mermaid工具
mermaid支持:流程图.时序图.甘特-等图表的绘制:可在线编辑,保存代码.图片. mermaid :官网.在线编辑器.操作手册
- 了解windows下的npm
之前一直使用Ubuntu系统,对于需要的软件.安装包,都可以使用apt或者apt-get进行安装,本人也是用过python,对于python库的安装,也可以通过pip或者conda来实现,那么,在wi ...
- 前端本地 Nginx 反向代理
一.问题引入 本地开发遇到线上bug,debug得stash代码切换分支,同时需切换开发环境与生产环境服务,npm run serve 或 npm start 费时 二.webpack-dev-ser ...
- JS实现中英文混合文字友好截取功能
众所周知,一个汉字等于两个英文字母的长度.那么,从汉字或者英文字母中截取相同长度文字则显示的长度则不一样.此时用户体验会不好.那么怎么解决呢?往下看 <script> /** * JS实现 ...
- Jmeter-接口测试(二)
鉴权码获取: 1.通过接口获取 appid secret (第三方用户唯一凭证, 第三方用户唯一凭证秘钥) 2.登录之后自动生成 username,password 一.jmeter 接口关联 1. ...
- Array of products
refer to: https://www.algoexpert.io/questions/Array%20Of%20Products Problem Statement Sample input A ...
- SpringIOC以及AOP注解开发
和 XML 配置文件一样,注解本身并不能执行,注解本身仅仅只是做一个标记,具体的功能是框架检测到注解标记的位置,然后针对这个位置按照注解标记的功能来执行具体操作. 本质上:所有一切的操作都是 Java ...
- python更新pip报错pip._vendor.urllib3.exceptions.ProxySchemeUnknown: Not supported proxy scheme None
更新pip报错: 看到最后一行很明显是proxy的问题,查看cmd下的代理 将代理删掉重启cmd执行命令就不会报错了
- pytorch代码练习
pytorch练习 使用torch.Tensor定义数据 , tensor的意思是张量,是数字各种形式的总称,可以定义数.向量.二维数组和张量. import torch # 可以是一个数 x = t ...
- mmdetection可视化工具-DetVisGUI
保存数据 执行程序,需要保存输出结果的pkl文件或者json文件 下面以测试faster_rcnn示例: 在执行测试时可以使用下面这条命令,就会将结果保存到一个pkl文件中. python tools ...