zoukankan      html  css  js  c++  java
  • k8s基础知识

    k8s部署到云计算上的优势

    mark

    • 传统模式: 在k8s外部部署一个外置调度器,请求先到物理node节点ip地址,由物理服务地址再转发代理至service地址,如果node节点也是私网地址呢,就需要再外部部署一个外置的调度器,在这个调度器可以调度至任意节点上,node节点上只能有一个端口来转发到service服务的端口,中间需要经过很多次转发,性能降低很多。外置调度器已经处于k8s外部了,不能通过k8s命令来创建,这时就需要LBaaS云计算上。

    • LBaaS:负载均衡即服务,可以根据命令一次调一个API创建一个负载均衡器,这个负载均衡器可以存着集群外部,如果该负载均衡器是由软件实现的可直接由命令请求创建,因此如果我们将k8s运行在阿里云这样的虚拟机上,多个这样的虚拟机组成k8s集群,阿里云或者亚马逊云是支持LBaaS的,所以k8s可对外调用底层的云计算环境创建一个调度器,将服务接入进来,将k8s部署在云计算上有这个优势。

    k8s内部存在三种网络

    • pod网络,事实存在的网络能够ping通
    • service网络,集群网络,虚拟网络由iptables或者ipvs规则创建的,ping不通
    • node节点物理机网络
      外部访问先访问到node节点网络,由节点网络代理至集群网络,在由集群网络代理至pod网络。

    k8s内部三种通信

    • 同一个pod内的多个容器间通信

      lo本地通信

    • 各pod之间的通信

      Overlay Network叠加网络(通过隧道方式来转发二层报文,虽然pod跨主机但是就像在同一主机工作一样)

      每个node地址处于不同网段,防止pod地址重复

    • pod与service之间的通信

      pod是直接配置service的名称或者地址进行访问的,怎么可达service呢

      service地址由iptables创建,每台虚拟机都存在iptables规则,pod直接将请求发给网关,可跟service通信。

      每个node节点存在kube-proxy组件,service的创建,API Service通知到kube-proxy,kube-proxy负责在每个node创建iptables规则,每个service的变动也是通过kube-proxy反映到各node的iptables规则上。

    k8s内部五套证书

    • etcd之间的https证书
    • etcd和API Server之间的https通信证书
    • API Server与客户端之间的https通信证书
    • API Server与node节点的kubelet之间的https通信证书
    • API Server与node节点的kube-proxy之间的https通信证书

    etcd功能

    API Server需要存储很多数据,这些数据是放在各个master的共享存储上的,这个共享存储的db就是etcd。
    etcd是键值存储的系统,etcd如果宕机,那么k8s集群将崩溃,所以etcd需要做成高可用.
    多个etcd通过https通信,不通过http通信,防止数据被盗走。

  • 相关阅读:
    vue 组件之间的通讯方式
    vue 路由4种传参方式
    vue+axios封装已文件流的形式导出文件
    vue 开发环境正常打包之后背景图片无法访问或者element-ui的icon找不到
    vue 优化webpack引入CND
    microtime() — 返回当前 Unix 时间戳和微秒数
    将一个字符串分隔为组成它的字符
    Laravel 伪静态配置
    VSCode
    array_merge()&array_combine()合并数组函数
  • 原文地址:https://www.cnblogs.com/vito-lee/p/11943587.html
Copyright © 2011-2022 走看看