k8s组件
master节点
api server k8s集群各组件的协调者 用于各组件之间连接 和对外提供访问入口
etcd k8s独有键值数据库 用于持久化存储k8s集群数据
controller manager 副本管理组件 是k8s自动化核心组件 提供命名空间 副本管理 自动修复等功能
scheduler pod调度器
node节点
kubelet api server与pod之间的中间者 用于执行api server下达的命令 并且监控pod运行状态汇报给api server
kube proxy 主要辅助service和endpoints资源对象的功能实现 是service的负载均衡和pod的网络代理 把service和endpoints的匹配规则映射到ipvs iptables上
docker 容器
flannel 网络插件
k8s资源对象
event 记录事件 用于排错 describe 可以查看
Namespace 命名空间 分区 方便管理
Deployment 副本管理器 监控pod副本数量 用于一组或一个pod的版本更新和回滚
replica set 被deployment管控 副本控制器
rc replication controller 副本管理器 不能更新
service 四层 为pod提供负载均衡网络服务代理以及发现机制 机制分为内部clusterip 外部nodeport 等四个模式
headless service headless service返回的是与pod直接通信endpoint 避免service与pod额外的通信层 常用语statefulset为pod分配唯一的dns 以便通过dns直接通信 none类型
endpoint pod的网络代理 存储的是service所有访问的后端pod ip和端口
cluster ip 内部通信的ip 用于绑定后端pod
label 标签 用于管理一组pod
secret 用于存储敏感数据 密码 密钥 可以被二次编码 base64
configmap 用于存储配置文件 secret与configmap用yaml方式构建 并且用卷挂载方式volume 调取 可以进行热更新
service account(色位子 额康特) 为pod进程与api server 或 外部服务通信提供身份认证
user accout 是为用户与api server 或 外部服务通信提供身份认证
role 提供权限集合 范围限制一个命名空间
clusterrole 权限集合 范围是整个集群
以上两者通过 rolebinding clusterrolebinding 实现把role clusterrole映射到用户
pv pvc 为一个或一组pod提供共享存储和数据持久
ingress 定义如何转发到service的规则 为pod七层反向代理和负载均衡 对外暴露入口 ingress-controller 是负责具体转发的组件
DaemonSet 每个节点都会部署pod 并且自动修复 多用于需要各个pod都要安装的软件 大谋赛特
statefulset 有序创建 有序删除 给pod提供统一网络标识 域名 有状态的pod
StorageClass (四道瑞吉克拉斯 意思存储类别)自定义动态存储分配 定义不同存储类型 创建和管理动态存储卷
helm k8s包管理工具 类似于linux的yum
:set paste 防止注释vim
nginx 四层 基于端口 七层基于url
C:\Windows\System32\drivers\etc windows域名配置文件地址