目录
9.简述 Kubernetes 的缺点或当前的不足之处?
10.简述 Kubernetes 相关基础概念?
Kubernetes 当前存在的缺点(不足)如下:
① 安装过程和配置相对困难复杂;
② 管理服务相对繁琐;
③ 运行和编译需要很多时间;
④ 它比其他替代品更昂贵;
⑤ 对于简单的应用程序来说,可能不需要涉及 Kubernetes 即可满足。
(1)master:
- k8s 集群的管理节点,负责管理集群,提供集群的资源数据访问入口。
- 拥有 Etcd 存储服务(可选),运行 Api Server 进程,Controller Manager 服务进程及 Scheduler 服务进程。
(2)node(worker):
- Node(worker) 是 Kubernetes 集群架构中运行 Pod 的服务节点,是 Kubernetes 集群操作的单元,用来承载被分配 Pod 的运行,是 Pod 运行的宿主机。
- 运行 dockereninge 服务,守护进程 kunelet 及负载均衡器 kube-proxy。
(3)pod:
- 运行于 Node 节点上,若干相关容器的组合。
- Pod 内包含的容器运行在同一宿主机上,使用相同的网络命名空间、IP 地址和端口,能够通过 localhost 进行通信。
- Pod 是 Kurbernetes 进行创建、调度和管理的最小单位,它提供了比容器更高层次的抽象,使得部署和管理更加灵活。一个 Pod 可以包含一个容器或者多个相关容器。
(4)label:
- Kubernetes 中的 Label 实质是一系列的 Key/Value 键值对,其中 key 与 value 可自定义。
- Label 可以附加到各种资源对象上,如 Node、Pod、Service、RC 等。
- 一个资源对象可以定义任意数量的 Label,同一个 Label 也可以被添加到任意数量的资源对象上去。
- Kubernetes 通过 LabelSelector(标签选择器)查询和筛选资源对象。
(5)Replica set(副本集):
- Pod 只是单个应用实例的抽象,要构建高可用应用,通常需要构建多个同样的副本,提供同一个服务。
- Kubernetes 为此抽象出副本集 Replica Set,其允许用户定义 Pod 的副本数,每一个 Pod 都会被当作一个无状态的成员进行管理,Kubernetes 保证总是有用户期望的数量的 Pod 正常运行。
- 当某个副本宕机以后,控制器将会创建一个新的副本。当因业务负载发生变更而需要调整扩缩容时,可以方便地调整副本数量。
(6)Deployment:
- Deployment 在内部使用了 RS 来实现目的,Deployment 相当于 RC 的一次升级,其最大的特色为可以随时获知当前 Pod 的部署进度。
(7)HPA(Horizontal Pod Autoscaler):
- Pod 的横向自动扩容,也是 Kubernetes 的一种资源,通过追踪分析 RC 控制的所有 Pod 目标的负载变化情况,来确定是否需要针对性的调整 Pod 副本数量。
(8)Service:
- Service 定义了 Pod 的逻辑集合和访问该集合的策略,是真实服务的抽象。
- Service提供了一个统一的服务访问入口以及服务代理和发现机制,关联多个相同 Label 的 Pod,用户不需要了解后台 Pod 是如何运行。
(9)Volume:
- Volume 是 Pod 中能够被多个容器访问的共享目录。
- Kubernetes 中的 Volume 是定义在 Pod 上,可以被一个或多个 Pod 中的容器挂载到某个目录。
(10)Namespace:
- Namespace 用于实现多租户的资源隔离,可将集群内部的资源对象分配到不同的 Namespace 中,形成逻辑上的不同项目、小组或用户组便于不同的 Namespace 在共享使用整个集群的资源的同时还能被分别管理。