[CKA认证】60道重要的kubernetes面试题

 

目录

1.简述etcd及其特点

2.简述etcd适应的场景

3.简述什么是kubernetes

4.简述kubernetes和docker的关系

5.简述Minikube、Kubectl、Kubelet分别是什么?

6.简述kubernetes常见的部署方式

7.简述kubernetes如何实现集群管理

8.简述Kubernetes的优势、适应场景及其特点

9.简述kubernetes的缺点或当前的不足之处

10.简述kubernetes相关基础概念


https://mp.weixin.qq.com/s/G1kNSmXLaAzAOQ-ja2pKVQ

1.简述etcd及其特点

etcd是CoreOS团队发起的开源项目,是一个管理配置信息和服务发现(service discovery)的项目,它的目标是构建一个高可用分布式键值key-value数据库,基于go语言实现。

特点:

简单:支持REST风格的HTTP+JSON API

安全:支持https方式的访问

快速:支持并发1k/s的写操作

可靠:支持分布式结构,基于Raft的一致性算法,Raft是一套通过选举主节点来实现分布式系统一致性的算法。

2.简述etcd适应的场景

适应的场景包括:服务发现service discovery,消息发布与订阅,负载均衡,分布式通知与协调,分布式锁,集群监控与leader竞选

服务发现service discovery:

服务发现主要解决:在同一个分布式集群中的进程或服务,如何才能找到对方并建立连接。本质上来说,服务发现就是想要了解集群中是是否有进程在监听UDP或TCP端口,并且通过名字就可以查找和连接。

消息发布与订阅:

在分布式系统中,最适用的一种组件见通信方式就是消息发布与订阅。即构建一个配置共享中心,数据提供者在这个配置中心发布消息,而消息使用者则订阅他们关心的主题,一旦主题有消息发布,就会实时通知订阅者。通过这种方式可以做到分布式系统配置的集中式管理与动态更新。应用中用到的一些配置信息放到etcd上进行集中管理。

负载均衡:

在分布式系统中,为了保证服务的高可用以及数据的一致性,通常会把数据和服务部署多份,以此达到对等服务,即使其中的某一个服务失效了,也不影响使用。etcd本身分布式架构存储的信息访问支持负载均衡。etcd集群化以后,每个etcd的核心节点都可以处理用户的请求。所以,把数据量小但是访问频繁的消息数据直接存储到etcd中也可以实现负载均衡的效果。

分布式通知与协调:

与消息发布与订阅类似,都用到了etcd中的watcher机制,通过注册与异步通知机制,实现分布式环境下不同系统之间的通知与协调,从而对数据变更做到实时处理。

分布式锁:

因为etcd使用raft算法保持额数据的强一致性,某次操作存储到集群中的值必然是全局一致的,所以很容易实现分布式锁。锁服务有两种使用方式,一是保持独占,而是控制时序。

集群监控与leader竞选:

通过etcd来进行监控实现起来非常简单且实时性强。

3.简述什么是kubernetes

kubernetes是分布式系统支撑平台,她是全新的基于容器技术实现的。是google开源的容器集群管理系统(谷歌内部:Borg)。

在docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便携性。

并且具有完备的集群管理能力,多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和发现机制、内建智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制以及多粒度得资源配额管理能力。

4.简述kubernetes和docker的关系

docker提供容器的生命周期管理和docker镜像构建运行时容器。它的主要优点是将软件/应用程序运行所需的设置和依赖项打包到一个容器中,从而实现了可移植性等优点。

kubernetes用于关联和编排在多个主机上运行的容器。

5.简述Minikube、Kubectl、Kubelet分别是什么?

Minikube是一种可以在本地轻松运行一个单节点Kubenetes群集的工具。

Kubectl是一个命令行工具,可以使用该工具控制Kubernetes集群管理器,如检查群集资源,创建、删除和更新组件,查看应用程序。

kubelet是一个代理服务,它在每个节点上运行,并使从服务器与主服务器通信。

6.简述kubernetes常见的部署方式

kubeadm,推荐的一种部署方式;

二进制;

minikube,在本地轻松运行一个单节点kubenetes群集的工具

7.简述kubernetes如何实现集群管理

在集群管理方面,Kubernetes将集群中的机器划分Wie一个Master节点和一群工作节点Node。

其中,在Master节点运行着集群管理相关的一组进程kube-apiserver,kube-controller-manager和kube-scheduler,这些进程实现了整个集群的资源管理、Pod调度、弹性伸缩、安全控制、系统监控和纠错管理能力,并且完全自动完成的。

8.简述Kubernetes的优势、适应场景及其特点

kubernets作为一个完备的分布式系统支撑平台,主要优势包括:容器编排、轻量级、开源、弹性伸缩、负载均衡。

常见场景:快速部署应用,快速扩展应用,无缝对接新的应用功能,节省资源和优化硬件资源的使用。

相关特点:

可移植:支持公有云、私有云、混合云、多重云;

可扩展:模块化,插件化,可挂载,可组合

自动化:自动部署,自动重启,自动复制,自动伸缩/扩展

9.简述kubernetes的缺点或当前的不足之处

安装过程和配置相对困难复杂

管理服务相对繁琐

运行和编译需要很多时间

它比其他替代品更贵

对于简单的应用程序来说,可能不需要涉及Kubernetes就可以满足

10.简述kubernetes相关基础概念

1)Master:kubernetes集群的管理节点,负责管理集群,提供集群的管理数据访问入口。拥有etch存储服务(可选),运行Api Server进程,Controller Manager服务进程以及Scheduler服务进程。

2)Node(woker):Node(worker)是kubernetes集群架构中运行Pod的服务节点,是Kubernetes集群操作的单元,用来承载被分配Pod的运行,是Pod运行的宿主机。运行Docker Eninge服务,守护进程kunelet以及负载均衡器kube-proxy。

3)Pod:运行于Node节点上,若干相关容器的组合。Pod内包含的容器运行在同一宿主机上,使用相同的网络命名空间、IP地址和端口,能够通过localhost进行通信。Pod是Kubernetes进行创建、调度和管理的最小单位,他提供了比容器更高层次的抽象,使得部署和管理更加灵活。一个Pod可以包含一个容器或多个相关容器。

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值