1 简述etcd及其特点

ETCD是高可用分布式的键值存储系统

特点

1)强一致性:即使部分节点故障,etcd仍能正常工作,并保持数据一致
(强一致性:分布式系统中,更新操作,所有节点读取的数据都是最新的,一致的)
2)高可用:etcd支持数据多副本复制,一个节点挂,其他节点接替工作
3)快速响应:它使用内存存储,可快速读写,支持异步复制数据到其他节点
4)简单易用:提供了http api,用http来更新和读取数据,还提供了客户端和命令行
5)功能丰富:除了基本的键值存储,etcd还提供了事务支持(在一个事务中要不全部成功执行,要不全部失败回滚)
和触发器机制(即满足一些条件,触发相应操作)

2 简述etcd适应的场景

1)多个节点的数据一致性
2)服务发现和负载均衡:服务注册到etcd, 通过查询etcd获取服务们的地址和状态。
3)分布式锁和并发控制(两者都是说的解决多个并发数据不一致的问题)
(原子操作:要么执行成功,要不失败,不存在部分执行)
(分布式锁:多个节点同时访问某个资源,只有一个节点可以获取到锁并执行操作,避免多节点同时修改资源)
4)etcd可以作为一个集中的配置存储,应用可以订阅它的信息,获取最新的配置信息,更新自身配置。
5)任务信息写入到etcd的有序集合中,消费者按顺序领取任务处理,实现分布式任务的调度和执行

3 简述什么是Kubernetes?

开源的容器编排工具,用于
1)自动化容器部署:比如要部署web应用到集群,可以通过定义一个deployment来描述部署规范,比如容器image,副本数量和资源限制,那么k8s会根据这个部署规范自动创建和管理一组pod。

2)扩展:就是deployment里修改了副本数量,k8s能自动增加副本数量和减少副本数量。
3)管理:容器管理是指k8s会自动重启异常退出的容器,还提供了日志收集和查看功能

4 简述Kubernetes和Docker的关系?

docker提供了创建和运行容器的基本技术,可以通过docker compose对多个容器进行编排
k8s对这些容器进行编排、管理

5 简述Kubernetes中什么是Minikube、Kubectl、Kubelet?

1)minikube允许在本地运行的k8s,主要用于实验测试开发用
2)kubectl是一个命令行工具,用于和集群交互
3)kubeclet 是一个守护进程,运行在每个节点上,负责确保节点上容器健康运行

6、简述Kubernetes常见的部署方式?

1)本地部署:minikube
2)手动部署:kubeadm 需要手动配置网络、存储等资源
3)kubesphere
4)Racher部署过k3s

7、简述Kubernetes如何实现集群管理?

实现集群管理涉及到多个组件
1)控制平面(Control Plane)
它是大脑,由多个组件组成&

10-05 06:32