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?
- 它们是主节点的组件。
- 它们是集群的工作节点。[答案]
- 他们正在监控kubernetes中广泛使用的引擎。
- 他们是docker容器服务。
28、Kubernetes集群数据存储在以下哪个位置?
- KUBE-API服务器
- Kubelet
- ETCD [答案]
- 以上都不是
29、哪个是Kubernetes控制器?
- ReplicaSet
- Deployment
- Rolling Updates
- ReplicaSet和Deployment [答案]
30、以下哪个是核心Kubernetes对象?
- Pods
- Services
- Volumes
- 以上所有[答案]
31、Kubernetes Network代理在哪个节点上运行?
- Master Node
- Worker Node
- 所有节点[答案]
- 以上都不是
32、 节点控制器的职责是什么?
- 将CIDR块分配给节点
- 维护节点列表
- 监视节点的运行状况
- 以上所有[答案]
33、Replication Controller的职责是什么?
- 使用单个命令更新或删除多个pod
- 有助于达到理想状态
- 如果现有Pod崩溃,则创建新Pod
- 以上所有[答案]
34、如何在没有选择器的情况下定义服务?
- 指定外部名称[答案]
- 指定具有IP地址和端口的端点
- 只需指定IP地址即可
- 指定标签和api版本
35、1.8版本的Kubernetes引入了什么?
- Taints and Tolerations [答案]
- Cluster level Logging
- Secrets
- Federated Clusters
36、 Kubelet 调用的处理检查容器的IP地址是否打开的程序是?
- HTTPGetAction
- ExecAction
- TCPSocketAction [答案]
- 以上都不是