k8s部署到云计算上的优势

  • 传统模式: 在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通信,防止数据被盗走。

k8s基础知识的更多相关文章

  1. 《两地书》--Kubernetes(K8s)基础知识(docker容器技术)

    大家都知道历史上有段佳话叫“司马相如和卓文君”.“皑如山上雪,皎若云间月”.卓文君这么美,却也抵不过多情女儿薄情郎. 司马相如因一首<子虚赋>得汉武帝赏识,飞黄腾达之后便要与卓文君“故来相 ...

  2. Kubernetes(K8s)基础知识(docker容器技术)

    今天谈谈K8s基础知识关键词: 一个目标:容器操作:两地三中心:四层服务发现:五种Pod共享资源:六个CNI常用插件:七层负载均衡:八种隔离维度:九个网络模型原则:十类IP地址:百级产品线:千级物理机 ...

  3. ASP.NET Core on K8S深入学习(1)K8S基础知识与集群搭建

    在上一个小系列文章<ASP.NET Core on K8S学习初探>中,通过在Windows上通过Docker for Windows搭建了一个单节点的K8S环境,并初步尝试将ASP.NE ...

  4. YAML基础知识及搭建一台简洁版guestbook

    一,前言 前面我们已经搭建过简易版k8s集群了,在此基础上可以搭建一个简洁版guestbook ,以便来学习k8s创建pod的整个过程. 二,在此之前,我们还需要学习一下YAML基础知识 YAML 基 ...

  5. .NET面试题系列[1] - .NET框架基础知识(1)

    很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...

  6. RabbitMQ基础知识

    RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...

  7. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  8. selenium自动化基础知识

    什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...

  9. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

随机推荐

  1. Python基础之集合set

    集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型), 但是集合本身是不可哈希的(所以集合做不了字典的键)的. 以下是集合最重要的两点: (1)去重,把一个列表变成集合,就自动去重了. ...

  2. AcWing:238. 银河英雄传说(带权并查集)

    有一个划分为N列的星际战场,各列依次编号为1,2,…,N. 有N艘战舰,也依次编号为1,2,…,N,其中第i号战舰处于第i列. 有T条指令,每条指令格式为以下两种之一: 1.M i j,表示让第i号战 ...

  3. R语言:as.Date出现NA值

    > head(as.Date(data$日期,'%y%M%D'))[1] NA NA NA NA NA NA data日期格式如下: 解决办法: > head(as.Date(data$日 ...

  4. 【VMWare】虚拟机启动遇到黑屏,在命令行窗口输入netsh winsock reset并不管用 重新启动客户机就好了

    现象:虚拟机启动后是莫名其妙的黑屏,而且它上面安装的MySql也无法访问了. 处置:上网百度方案,看到大多数网文推荐:“以管理员身份打开cmd,输入netsh winsock reset,然后重启机器 ...

  5. 3.AOP中的IntroductionAdvisor

    上篇中的自定义Advisor是实现的AbstractPointcutAdvisor,Advisor其实还有一个接口级别的IntroductionAdvisor                     ...

  6. LC 813. Largest Sum of Averages

    We partition a row of numbers A into at most K adjacent (non-empty) groups, then our score is the su ...

  7. LC 725. Split Linked List in Parts

    Given a (singly) linked list with head node root, write a function to split the linked list into k c ...

  8. apache整合tomcat中的一些注意事项

    1.整合完毕后,需要把项目同时部署在apache和tomcat中,不然会报错找不到资源 2.可以把tomcat和apcahe的项目路径设置为同一个 3.使用java框架时容易出现异常:The requ ...

  9. NginxURL重新配置

    server { listen 8080; server_name localhost; rewrite /ljys/kcf(.*) http://192.168.4.139:8080/wuxi-pr ...

  10. python之scrapy模块pipelines

    1.知识点 """" pipelines使用: 1.在spiders里面使用yield生成器 list_li = response.xpath("// ...