k8s 文档阅读笔记
kubeadm引导集群安装
堆叠etcd模式:etcd和控制平面在同一个节点
外部etcd模式:etcd和控制平面分开
对象:简单理解就是yaml文件
对象必须包含的四大字段:
apiVersion
- 创建该对象所使用的 Kubernetes API 的版本kind
- 想要创建的对象的类别metadata
- 帮助唯一性标识对象的一些数据,包括一个name
字符串、UID
和可选的namespace
spec
- 你所期望的该对象的状态(node不需要)
对象种类(kind)
namespace(命名空间)
使用 Kubernetes 名字空间来划分集群。
节点(Node)
节点上的组件包括 kubelet、 容器运行时以及 kube-proxy。
pod-最小单元
由一组容器组成,最小的可部署的计算单元。
deployments-部署
一个 Deployment 为 Pod 和 ReplicaSet 提供声明式的更新能力。
ReplicaSet-副本
维护Pod 副本的稳定集合。 常用来保证给定数量的、完全相同的 Pod 的可用性。一般由Deployment里面定义。
StatefulSet-有状态
管理有状态应用的工作负载 API 对象。为这些 Pod 提供持久存储(pv)和持久标识符。
DaemonSet-守护
确保全部(或者某些)节点上运行一个 Pod 的副本,和pod共存亡,一般用于守护进程。
job-任务
job 会创建一个或者多个 Pod,并将继续重试 Pod 的执行,直到指定数量的 Pod 成功终止。 随着 Pod 成功结束,Job 跟踪记录成功完成的 Pod 个数。 当数量达到指定的成功个数阈值时,任务(即 Job)结束。 删除 Job 的操作会清除所创建的全部 Pod。 挂起 Job 的操作会删除 Job 的所有活跃 Pod,直到 Job 被再次恢复执行。
CronJob-定时任务
CronJob 用于执行周期性的动作,例如备份、报告生成等。 这些任务中的每一个都应该配置为周期性重复的(例如:每天/每周/每月一次); 你可以定义任务开始执行的时间间隔。
ReplicationController-副本
ReplicationController 确保在任何时候都有特定数量的 Pod 副本处于运行状态。现推荐 ReplicaSet
的 Deployment
来建立副本管理机制
Service-暴露服务
将运行在一组 Pods 上的应用程序公开为网络服务的抽象方法。
Ingress-路由
Ingress 是对集群中服务的外部访问进行管理的 API 对象,典型的访问方式是 HTTP。
Ingress 可以提供负载均衡、SSL 终结和基于名称的虚拟托管。
EndpointSlice-
端点切片(EndpointSlices) 提供了一种简单的方法来跟踪 Kubernetes 集群中的网络端点 (network endpoints)。它们为 Endpoints 提供了一种可伸缩和可拓展的替代方案。
PersistentVolumeClaim-PVC
StorageClass-存储类
StorageClass 为管理员提供了描述存储 “类” 的方法。 不同的类型可能会映射到不同的服务质量等级或备份策略,或是由集群管理员制定的任意策略。
VolumeSnapshot-卷快照
每个 VolumeSnapshot
包含一个 spec 和一个状态。
VolumeSnapshotContent-预配置快照
VolumeSnapshotClass-卷快照类
VolumeSnapshotClass 提供了一种在配置卷快照时描述存储“类”的方法。