k8s学习笔记

发布时间 2023-07-31 01:07:06作者: weakxy

基础概念理解


主节点

API Service:所有服务访问的唯一入口,上传YAML配置文件也是通过这种接口实现,描述了应用运行时的期望状态(需要使用的容器镜像、希望对外提供的端口号,以及希望运行的Pod副本数量)
etcd:集群存储底层的常用分布式数据库
controller管理器(controller-manager):实现全部控制循环,对集群实时监控并作出回应;流程:获取期望状态、比较、变更当前状态来消除差异点
Scheduler调度器:监听API Server并分配任务到正常工作结点

工作结点

kubelet:工作节点上的核心部分,Kubernetes中重要的代理端,负责监听API Server新分配的任务,将执行结果反馈回去
Container Runtime容器运行时:执行依赖容器才能执行的任务,例如拉取镜像并启动或停止容器,(其中容器运行时接口(CRI))
kube-proxy:负责本地集群网络,通过操作防火墙规则(iptables或者ipvs)来实现 Pod 的映射

引用的图片

Pod:k8s中最小的对象,代表着集群中运行的进程,Pod中可以同时运行一个或者多个容器,这些容器能够共享网络、存储以及CPU/内存等资源

Pause 容器:通过 Pause 容器使工作在对应Pod的容器之间可以共享网络、共享存储
一个 Pod 指定多个共享的 Volume 资源
Volume:集群中的存储卷(网络和磁盘资源)
Pod的多种类型:

ReplicationController:保证容器的副本数量始终在定义的副本数之内
ReplicaSet:新版本的ReplicationController
Deployment:为 Pod 和 ReplicaSet 提供了声明式定义方法
HPA:支持根据 Pod 的 CPU 利用率扩缩容和根据内存和用户自定义的 metric 动态扩缩容
StatefulSet:解决有状态服务
DaemonSet:确保工作结点上至少运行一个Pod
Job:负责批处理任务
Cront Job:特定时间运行任务

Service:

Namespace: