A8站源码交易平台--底子组成
pod:k8s 最小单位,相似docker的容器(也许)
资源清单:资源、资源清单语法、pod生命周期
调度器:将容器分配到对应pod的功用组件(描述应该没错吧)
服务发现:通过暴露地址和端口,让客户端访问
存储组成:
configMap:配置文件
secret:安全相关
volume:数据
安全体系:集群认证、体系、访问控制
HELM :形似包含了一些集群一键安置的命令
证书:k8s答应只有一年
K8S结构:
master:
调度器(schduler–api server–etcd):控制使命
replication controller:控制副本数量
客户端kubectl、brower
Pod:kublet、kubproxy、docker(或其他容器)
ETCD:分布式键值数据库
内存 v2版别,
硬盘 v3版别
PV动态创建
备份机制
重要组件
APISERVER :一切程序访问的共同入口
ControllerManager:坚持副本希望数目
Scheduler:担任介绍使命,挑选适宜节点进行使命分配
ETCD:键值对数据库 存储k8s集群一切的重要信息
Kublet: 直接跟容器引擎交互完结容器的生命周期处理
Kube-proxy:担任把规矩写入IPABLES、IPVS完结服务映射访问的
CORENDS:为集群中的SVC 创建一个域名IP的对应联系解析
DASHBOARD: 给K8S集群供应一个 B/S 结构访问体系
INGRESS CONTROLLER(第三方): INGRESS 完结7层代理
FEDERATION: 供应一个可以跨集群中心多K8S共同处理功用
PROMETHEUS: 供应K8S集群的监控才干
ELK : 供应K8S 集群日志共同剖析渠道
Pod A8站源码交易平台
POD(可以理解为):自主式POD和控制器处理的POD
POD内的端口不能有冲突
POD内网络共用、磁盘共用
控制器
ReplicationController: 确保节点数量
ReplicaSet: 支撑打标签,易于处理
Deployment:支撑滚动更新
HPA :弹性弹性
无情况服务:nginx、tomcat等
有情况服务:mysql、mongoDB等
StateFulset:解决有情况服务的问题
安稳耐久化存储
安稳网络标志(podName和HostName)
有序安置:确保pod按照必定次第安置
有序回收:确保pod按照必定次第删去
DaemonSet: 确保悉数或部分node上运行一个Pod副本!
自我理解为当新加一个node后,为该node分配一个Pod副本,
假如其时node有Pod,则其时node上的Pod在其他node上也会分配Pod副本!A8站源码交易平台
job:处理批处理使命,可判别程序是否正常退出(相似java的业务吧???)
服务发现
客户端通过Service的IP:port访问service上的服务。
service则通过标签及必定算法来衔接Pod。
Kubernetes 网络
特点:扁平化网络
Pod通讯:
Pod内容器通过pause
Pod间可以通过:Overlay 网络方式
Pod与Service:各个node的iptables规矩(防火墙协议) LVS
flannel网络服务:为k8s创建一个overlay网络。
overlay网络:为每一个容器在集群中分配一个虚拟IP,不同节点的容器之间通过虚拟IP通讯!
