kubernetes面试总结

1、什么是Kubernetes?

Kubernetes是一个开源容器管理工具,负责容器部署,容器扩缩容以及负载平衡。

2、Kubernetes与Docker有什么关系?

Docker构建容器并管理容器的生命周期,这些单独的容器通过Kubernetes相互通信。我们可以使用Kubernetes手动关联和编排在多个主机上运行的容器。

3、在主机和容器上部署应用程序有什么区别?

主机部署时各应用共享操作系统以及各种库。应用之间不相互隔离。
容器部署时除了内核共享,容器内的应用各自隔离,各自有运行自己应用的不同的库。

4、什么是Container Orchestration?

Orchestration实际是容器编排,支持容器的部署和组织。没有容器编排就无法进行通信,各个容器中所有服务就没办法协同工作.。

5、Container Orchestration需要什么?

容器之间通信需要容器编排。

6、Kubernetes有什么特点?

可移植:支持公有云、私有云
可扩展: 模块化
自动化:自动部署、扩缩容、快速部署应用

7、对Kubernetes的集群了解多少?

k8s可以实施状态管理,提供特定配置的集群服务。部署文件被提供给api,集群服务决定如何安排pod并正确运行pod的数量。

8、什么是Google容器引擎?

是Docker容器和集群的开源管理平台。

9、什么是Heapster?

heapster负责收集每个节点的数据,并作为pod运行。它发现集群所有节点,通过k8s代理查询集群中k8s节点使用信息。

10、什么是Minikube?

Minikube是一种工具,可以在本地轻松运行Kubernetes。这将在虚拟机中运行单节点Kubernetes群集。

11、什么是Kubectl?

Kubectl是一个平台,可以将命令传递给集群。提供了针对Kubernetes集群运行命令的方法,以及创建和管理Kubernetes组件的各种方法。

12、什么是Kubelet?

是一个代理服务,在每个节点上运行,管理pod和容器,定期向api server注册节点自身信息,汇报节点资源使用情况。

13、对Kubernetes的一个节点有什么了解?

k8s由master node和worker node组成。
master node是控制节点,对集群调度管理,包含api server,scheduler, cluster state store和 controller manager。
worker node:真正的工作节点,运行容器,包含kubelet, kube-proxy, container runtime。

14、Kubernetes Architecture的不同组件有哪些?

Kubernetes Architecture主要有两个组件 – 主节点和工作节点。主节点具有kube-controller-manager,kube-apiserver,kube-scheduler等组件。而工作节点具有kubelet和kube-proxy等组件。

15、你对Kube-proxy有什么了解?

Kube-proxy可以在每个节点上运行,并且可以跨后端网络服务进行简单的TCP / UDP数据包转发。它是一个网络代理,它反映了每个节点上Kubernetes API中配置的服务。

16、您能否介绍一下Kubernetes中主节点的工作情况?

k8s中的主节点是集群控制节点,负责集群管理和控制。包含: apiserver,controller-manager,scheduler,etcd。

  • apiserver: rest接口,资源增删改查入口
  • controller-manager:所有资源对象的控制中心
  • scheduler:负责资源调度,例如pod调度
  • etcd: 保存资源对象数据

17、kube-apiserver和kube-scheduler的作用是什么?

kube-apiserver: rest接口,增删改查接口,集群内模块通信
kube-scheduler: 将待调度的pod按照调度算法绑定到合适的pod,并将绑定信息写入etcd。

18、你能简要介绍一下Kubernetes控制管理器吗?

是集群内部的控制中心,负责node,pod,namespace等管理,控制管理器负责管理各种控制器,每个控制器通过api server监控资源对象状态,将现有状态修正到期望状态。

19、什么是ETCD?

etcd是go语言编写的分布式键值存储数据库,保存k8s集群配置数据和资源对象信息。

20、Kubernetes有哪些不同类型的服务?

ClusterIP、NodePort、LoadBalancer、ExternalName

21、你对Kubernetes的负载均衡器有什么了解?

内部负载均衡器和外部负载均衡器。
内部负载均衡器: 自动平衡负载并使用所需配置分配容器
外部负载均衡器: 将流量从外部负载引导至后端容器。

22、什么是Container资源监控?

对容器占用的cpu,内存等资源进行监控,监控工具包括:cAdvisor,Prometheus等。

23、Replica Set 和 Replication Controller之间有什么区别?

几乎完全相同,他们都可以指定运行pod的副本数量,不同之处在于复制pod使用的选择器,replica set使用的是基于集合的选择器,replication controller使用的是基于权限的选择器。

24、什么是Headless Service?

headless service类似普通服务,但没有集群ip,可以直接访问pod,而无需通过代理访问。

25、使用Kubernetes时可以采取哪些最佳安全措施?

  • 限制对etcd的访问
  • 提供直连k8s结点的有限访问
  • 定义资源配额

26、什么是集群联邦?

将多个k8s集群作为单个集群管理,使用联邦来控制管理它们。

27、什么是Kubernetes集群中的minions?

  1. 它们是主节点的组件。
  2. 它们是集群的工作节点。[答案]
  3. 他们正在监控kubernetes中广泛使用的引擎。
  4. 他们是docker容器服务。

28、Kubernetes集群数据存储在以下哪个位置?

  1. KUBE-API服务器
  2. Kubelet
  3. ETCD [答案]
  4. 以上都不是

29、哪个是Kubernetes控制器?

  1. ReplicaSet
  2. Deployment
  3. Rolling Updates
  4. ReplicaSet和Deployment [答案]

30、以下哪个是核心Kubernetes对象?

  1. Pods
  2. Services
  3. Volumes
  4. 以上所有[答案]

31、Kubernetes Network代理在哪个节点上运行?

  1. Master Node
  2. Worker Node
  3. 所有节点[答案]
  4. 以上都不是

32、 节点控制器的职责是什么?

  1. 将CIDR块分配给节点
  2. 维护节点列表
  3. 监视节点的运行状况
  4. 以上所有[答案]

33、Replication Controller的职责是什么?

  1. 使用单个命令更新或删除多个pod
  2. 有助于达到理想状态
  3. 如果现有Pod崩溃,则创建新Pod
  4. 以上所有[答案]

34、如何在没有选择器的情况下定义服务?

  1. 指定外部名称[答案]
  2. 指定具有IP地址和端口的端点
  3. 只需指定IP地址即可
  4. 指定标签和api版本

35、1.8版本的Kubernetes引入了什么?

  1. Taints and Tolerations [答案]
  2. Cluster level Logging
  3. Secrets
  4. Federated Clusters

36、 Kubelet 调用的处理检查容器的IP地址是否打开的程序是?

  1. HTTPGetAction
  2. ExecAction
  3. TCPSocketAction [答案]
  4. 以上都不是

kubernetes面试总结

上一篇:SQLite


下一篇:HTTP(超文本协议)