K8s的一些概念 Service工作方式和类型

K8s的一些概念 Service工作方式和类型


master组件

  • apiserver
    • 集群统一入口,以restful方式,交给etcd存储
  • scheduler
    • 节点调度,选择node节点应用部署
  • controller-manager
    • 处理集群中常规后台任务,一个资源对应一个控制器
  • etcd
    • 存储系统,用于保存集群相关的数据

node组件

  • kubelet
    • 管理本地容器操作
  • kube-proxy
    • 网络代理,负载均衡

K8s核心概念

  • Pod
    • 最小部署单元
    • 一组容器的集合
    • 共享网络
    • 生命周期是短暂的 跟Inf容器同生死 维护Pod内的Network Namespace
  • Controller
    • 无状态应用部署 Deployment
    • 有状态应用部署 Statuful
    • 确保所有node运行同一个Pod DaemonSet
    • 一次性任务 Job
    • 定时任务 CronJob
  • Service
    • 定义一组Pod的访问规则

Service有三种工作方式

  • Userspace
    • Client Pod要访问Server Pod时,它先将请求发给本机内核空间中的Service规则,由它再将请求转给监听在指定套接字上的Kube-proxy,kube-proxy处理完请求,并分发请求到指定Server Pod后,再将请求递交给内核空间中的service,由service将请求转给指定的Server Pod
    • 由于这种方式需要来回在用户空间和内核空间交互通信,效率很差所以就有了第二种方式
  • iptables
    • 直接由内核中的iptables规则,接受Client Pod请求,并处理完成后,直接转发给指定ServerPod
  • ipvs
    • 直接有内核中的ipvs规则来接受Client Pod请求,并处理该请求,再有内核封包后,直接发给指定的Server Pod

以上三种方式中,kube-proxy通过Watch方式监控kube-Apiserver写入etcd中的Pod信息,一旦Pod资源删除或新建,就会立即修改iptables或Ipvs中 避免出现Clinet Pod请求到Server Pod时找不到Server Pod的情况

K8s 1.1版本以前默认为userspace 之后默认是ipvs 如果ipvs没有被激活,则降级使用iptables


Service四种类型

  • ExternalName
    • 用于将集群外部的服务引入到集群内部,在集群内部可直接访问来获取服务
    • 值必须是FQDN,是集群内部的FQDN
    • ServiceName.Namespace.Domain.LTD
    • CoreDNS接受该FQDN后,能解析出一个CNAME记录,该别名记录为真正互联网上的域名
  • ClusterIP
    • 用于为集群内Pod访问时,提供的固定访问地址,默认是自动分配地址,可使用ClusterIP关键字指定固定IP
  • NodePort
    • 用于为集群外部访问Service后面Pod提供访问接入端口
    • 工作流程为 Clinet-------> NodeIP:NodePort ----->ClusterIP:ServicePort-------->PodIP:ContainerPort
  • LoadBalancer
    • 用于当K8s运行在一个云环境内时,若该云环境支持LBaaS,则此类型可自动触发创建一个软件负载均衡器用于对Service做负载均衡调度,外部所有Client都访问一个NodeIP,该结点的压力就会很大,所以LoadBalancer可以通过动态监测后端Node是否被移除或新增,然后动态更新调度的节点数来解决
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
网盘文件永久链接 目录: 1 kubernetes极速入门课程介绍mp4 2kubernetes极速入门k8s初识容器mp4 3 kubernetes极速入门k8s初识容器管理工具及容器编排管理工具介绍mp4 4 kubernetes极速入门k8s初识k8s初识mp4 5 kubernetest极速入门k8s初识k8初识总结mp4 6 kubernetes极速入门k8s功能mp4 7 kubernetes极速入门k8s架构场学习目标学习步骤,mp4 8 kubernetes极速入门k8架构,mp4 9 kubernetes极速入门k8s集群部署场黑学习目标学习步骤mp4 10 kubernetes极速入门k8s集群部署部署工具介绍mp4 11 kubernetes极速入门k8s集群部署主机准备主机系统准备mp4 12 kubernetes极速入门k8s集群部署主机准备主机名设置mp4 13 ekubernetes极速入门k8s集群部署主机准备P没置及主机名解释:mp4 14 kubernetes极速入门k8s集群部署主机准备主机安全设置mp4 15 kubernetes极速入门k8s集群部署主机准备主机间同步没置:mp4 16 kubernetes极速入门kBs集群部署主机准备永久关闭主机sWap分区mp4 17 kubernetes极速入门ks集群部署主机备配置主机网析过功能mp4 18 kubernetes极速入门k8s集群部署主机佳备配置主机pvs功能mp4 19 kubernetest极速入门k8s集群部署 docker安装mp4 20 kubernetes极速入门k8s集群部害集群软件安装及配置mp4 21 kubernetes极速入门k8s集群部害集群镜像准备mp4 22 kubernetes极速入门k8s集群部署集群初始化mp4 23 kubernetes极速入门k8s集群部署k8s集群部署后验证mp4 24 kubernetes极速入门k8s集群部学习总结_mp4 25 kubernetesi极速入门k8s集群客户端工具kump4 26 kubernetes极速入门k8s集群资源清单YAML文件书写方法YAM介绍mp4 27 kubernetes极速入门k8s集群资源清单 YAM, mp4 28 kubernetes极速入门k8s集群 Name Spacel命名空间 Name Space介绍及查看mp4 29 kubernetes!极速入门k8s集群 Name Spacer命名空间 NameSpace创建mp4 30 kubernetes极速入门k8s集群 Name Space命,mp4 31 kubernetes极速入门k8s集群核心概念 podPod介绍及创建mp4 32 kubernetes极速入门k8s集群核心概念 pod, mp4 33 kubernetes极速入门k8s集群核心概念 Controller介绍分类 Deployment控制器介绍创建 Deployment控制器类型应用mp4 34 kubernetes极速入门k8s集群核心概念 Controller使用资源清单文件创建 Deployment控制器类型应用mp4 35 kubernetes极速入门k8s集群核心概念 Controller使用命令行或资源清单文件删除 Deployment控制器类型应用mp4 36 kubernetes极速入门k8s集群核心概念 Cont mp4 37 kubernetes极速入门k8s集群核心概念 Service Service介绍mp4 38 kubernetes极速入门k8s集群核心概念 Service通过命令行创建 Service,mp4 39 kubernetes极速入门k8s集群核心概念 Service通过资源清单文件创建 Service ClusterlP. mp4 40 kubernetes极速入门k8s集群核心概念 Service通过资源清单文件创建 Service Node Port. mp4 41 kubernetes极速入门k8s集群核心概念 Serv, mp4 42 kubernetesl极速入门结果有方法请注意mp4

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值