Kubernetes 学习记录 二

组件说明

k8s的前身是borg系统,这里我先说一下谷歌的borg系统
在这里插入图片描述BorgMaster:主要负责资源分发,包含多个副本,对于高可用集群来说,最好保持3个以上的奇数
Borglet:提供各种计算能力
scheduler:调度器,会把数据写入Paxos(谷歌键值对数据库)

K8S架构

在这里插入图片描述c/s架构 http协议
主组件(master组件)
**scheduler:**调度器,选择合适的节点分配任务
**replication controller:**控制器,维护副本期望值
**api server:**服务入口
**etcd:**官方将他定义为一个可信赖的分布式键值存储服务,它可以为整个分布式集群存储一些关键数据,协助集群正常运转(持久化)
node节点
kubelet: 和容器引擎(docker)进行交换,创建相关容器
kube-proxy: 负责写入规则到iptables,ipvs实现服务的映射访问

其他插件说明

**CoreDNS:**可以为集群中的SVC创建一个域名IP的对应关系解析
Dashboard: 给k8s提供一个B/S架构的访问体系
Ingress: 官方只能实现四层代理 igress可以实现七层代理
**Fedetation:**提供一个跨集群中心多k8s统一管理功能
**Prometheus:**提供一个k8s集群的监控能力
**ELK:**提供k8s集群的日志统一接入平台

基础概念

POD

pod概念
pod类型

  • 自主式POD
  • 控制器管理的POD

pod控制器类型(只针对于控制器管理的Pod)
ReplicationController && ReplicaSet && Deployment

ReplicationController 用来确保容器应用的副本数始终保持在用户定义的副本数,即容器如果存在异常退出,会自动创建新的Pod来替代,而如异常多出来的容器也会自动回收,在新版本中官方建议利益ReplicaSet替代ReplicationController

ReplicaSet和ReplicationSet没有本质的不同,只是名字不一样,并且ReplicaSet支持集合式的selector

虽然ReplicaSet可以独立使用,但是一般红是建议使用Deployment来自动管理RelicaSet

HPA(HorizontalPodAutoScale)
仅适用于Deployment和ReplicaSet,v1中支持根据CPU的利用率来扩缩容,vlalpha,支持用户自定义metric和内存进行扩缩容

StatefulSet 解决有状态的服务问题(对应的Deployments和ReplicaSets是为无状态服务而设计的),其中场景包括:

  1. 稳定的持久化存储,即Pod重新调度之后还是可以访问相同的持久化数据,基于PVC来实现
  2. 稳定的网络标志,即Pod重新调度之后其PodName不变和HostName不变,基于Headless Service来实现
  3. 有序部署
  4. 有序收缩,有序删除
    DaemonSet
    DaemonSet确保全部(或者一些)Node上运行一个Pod的副本,当有Node加入集群的时候,也会为他们新增一个Pod,当有Node从这些集群中移除的时候,这些Pod也会被回收,删除DaemonSet
    典型用法;
  5. 运行集群存储daemon,例如在每一个Node上运行glusterd,ceph
  6. 在每一个Node上运行日志收集daemon,例如fluentd,logstash
  7. 在每一个Node上运行监控daemon
    Jod
    负责批处理任务

服务发现

网络通信方式

k8s 假定了所有的网络都在一个可以直接联通的扁平的网络空间中,这在GCE(google compute engine)里面是现成的网络模型,k8s假定这个网络存在,而在私有云里搭建k8s集群,就不能假定这个网络存在了,我们需要自己实现这个网络假设
同一个pod的多个容器: lo (localhost)访问pause
各个pod通信 :overlay Network(全覆盖网络)
pod 与Service之间的通信:各个节点的Iptables规则
Flannel 网络规范服务,不同节点主机具有全局唯一的虚拟ip

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值