k8s基础知识
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基础知识的更多相关文章
- 《两地书》--Kubernetes(K8s)基础知识(docker容器技术)
大家都知道历史上有段佳话叫“司马相如和卓文君”.“皑如山上雪,皎若云间月”.卓文君这么美,却也抵不过多情女儿薄情郎. 司马相如因一首<子虚赋>得汉武帝赏识,飞黄腾达之后便要与卓文君“故来相 ...
- Kubernetes(K8s)基础知识(docker容器技术)
今天谈谈K8s基础知识关键词: 一个目标:容器操作:两地三中心:四层服务发现:五种Pod共享资源:六个CNI常用插件:七层负载均衡:八种隔离维度:九个网络模型原则:十类IP地址:百级产品线:千级物理机 ...
- ASP.NET Core on K8S深入学习(1)K8S基础知识与集群搭建
在上一个小系列文章<ASP.NET Core on K8S学习初探>中,通过在Windows上通过Docker for Windows搭建了一个单节点的K8S环境,并初步尝试将ASP.NE ...
- YAML基础知识及搭建一台简洁版guestbook
一,前言 前面我们已经搭建过简易版k8s集群了,在此基础上可以搭建一个简洁版guestbook ,以便来学习k8s创建pod的整个过程. 二,在此之前,我们还需要学习一下YAML基础知识 YAML 基 ...
- .NET面试题系列[1] - .NET框架基础知识(1)
很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...
- RabbitMQ基础知识
RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- selenium自动化基础知识
什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
随机推荐
- Django基础之命名URL和URL反向解析
在使用Django项目时,一个常见的需求是获得URL的最终形式,以用于嵌入到生成的内容中(视图中和显示给用户的URL等)或者用于处理服务器端的导航(重定向等). 人们强烈希望不要硬编码这些URL(费力 ...
- C,线程池
/* 线程池组成: 1.管理者线程:创建并管理线程,包括添加.删除.销毁线程,添加新任务 2.工作线程:线程池中的线程,执行管理者分配的任务 3.任务接口:任务要实现的接口,供工作线程调用 4.任务队 ...
- Wox使用指南
下载安装 从下载地址下载最新版本的 wox ,我下载的是 exe 版的 Wox-1.3.578.exe 下载以后直接安装即可,不会有选择项,安装成功以后会在屏幕上出现一个搜索框,默认失去焦点以后搜索框 ...
- 0 - Visualizing and Understanding Convolutional Networks(阅读翻译)
卷积神经网络的可视化理解(Visualizing and Understanding Convolutional Networks) 摘要(Abstract) 近来,大型的卷积神经网络模型在Image ...
- 说说如何使用unity Vs来进行断点调试
转载自:http://dong2008hong.blog.163.com/blog/static/4696882720140293549365/ 大家可以从这下载最新版的unity vs. Unity ...
- 【零基础】简单说说一键果体APP的AI
参考: https://www.jianshu.com/p/8c7a7cb7198c https://blog.csdn.net/gdymind/article/details/82696481 零. ...
- substring(x)和substring(x,y)的用法
substring(x)和substring(x,y)的用法 代码: public class textmu { /** * @param args */ public static void mai ...
- python——装饰器(不定长参数,闭包,装饰器)示例
def func(functionName): print("正在装饰") def func_in(*args, **kargs): print("------func_ ...
- String类的常用方法以及知识点总结
一,String的简介: 查阅API中的String类的描述,发现String 类代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. 一旦这个 ...
- *Scala API - 并发编程