Kubernetes网络的示例分析

这篇文章主要介绍Kubernetes网络的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

创新互联建站于2013年开始,是专业互联网技术服务公司,拥有项目做网站、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元襄阳做网站,已为上家服务,为襄阳各地企业和个人服务,联系电话:13518219792

Kubernetes 网络

Kubernetes是Google开源的容器集群管理系统。它构建docker技术之上,为容器化的应用提供资源调度、部署运行、服务发现、扩容缩容等整一套功能,本质上可看作是基于容器技术的mini-PaaS平台。

Kubernetes网络的示例分析

那么关于k8s最重要的几个概念是什么呢?

Pod通信

  • Pod内部: 端口互访;

  • 同一Node上: 通过网桥通信;

  • 不同Node上: 通过Overlay网络或路由来通信; RC管理的Pod的版本更新或重启导致IP变化

Service与Pod通信

Service作为Pod的服务代理,必须满足:

  • 对外访问点(IP地址)固定,不轻易更新;

  • 转发外部的访问请求到endpoints;

  • 监控endpoints的变化,实时更新规则;

  • 提供负载均衡

每个service都有2种模式,可根据实际情况在配置kubernetes的时候选择适合的模式来工作。

Userspace模式:

在选择Userspace模式,分为三种类型:

Cluster-IP类型:

  1. Cluster-IP-range可配置;

  2. Cluster-IP不需要配置到网卡上;

  3. 报文被转到kube-proxy自动分配的端口上;

  4. 适用于Pod与Host访问Service;

Node-Port类型:

  1. 监听Node上所有IP的相应端口;

  2. 报文被转到kube-proxy自动分配的端口上;

  3. 适用于外部主机通过Node物理网络访问Service;

LoadBalancer类型:

  1. 外部LB的对应port监听请求,将流量转发到Node;

  2. 各Node上基于Node-Port的配置来接力转发;

  3. 适用于外网访问内部Service;

Kubernetes网络的示例分析

iptables模式:

  1. 无论何类型均会分配到Cluster-IP;

  2. Cluster-IP的监听端口可指定;

  3. 对Iptables的使用,像openflow的流表逐级过滤;

  4. 需要对endpoint上发送来的流量做SNAT;

  5. 重点是如何做负载均衡。

服务发现

Service环境变量:

{SVCNAME}_SERVICE_HOST

{SVCNAME}_SERVICE_PORT

{SVCNAME}_SERVICE_PORT_{PORTNAME}

Link环境变量:

_NAME

_PORT__

_PORT___ADDR

_PORT___PORT

_PORT___PROTO

缺陷:

  1. Pod获取环境变量无法跨Namespace;

  2. 时序,Pod必须晚于Service创建;

Cluster DNS

  1. Kube2sky监听K8S Api-server;

  2. Service更新,kube2sky将记录保存到etcd;

  3. Skydns支持以etcd backend;

  4. Pod访问skyDNS解析域名。

Kubernetes网络的示例分析

search default.svc.wise2c.com svc.wise2c.com wise2c.comnameserver 192.168.99.1optionsndots:5

  1. 绝对域名,即域名以`.`结尾, 仅查询该域名;

  2. 相对域名,且域名包含的`.`的数目大于或等于option ndots命令指定的数,仅查询该域名;

  3. 相对域名,且域名包含的`.`的数目少于option ndots命令指定的数,依次往传入的域名后追加search列表中的后缀;

以上是“Kubernetes网络的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


当前标题:Kubernetes网络的示例分析
URL标题:http://myzitong.com/article/pedcpj.html