k8s那点事儿微服务架构和实践

k8s 组件与网络

2020-05-23  本文已影响0人  yuan_dongj

K8S架构

k8s给用户提供两种操作,kubectl与restful接口。这两个方式都使用api server与集群打交道。
master节点:api server是集群内部的大内总管,scheduler通过api server来完成pod调度分配,replication controller通过api server来保证pod副本达到期望值。
k8s架构集群内所有的重要数据都持久化在etcd上。

node节点:kubelet直接与容器打交道,创建管理pod。kube proxy代理pod服务,定义iptables,实现service到pod的请求转发。


k8s架构

K8S网络通信

K8S集群内部拥有扁平式的网络通信,Flannel让集群中的不同节点创建的docker容器都具有全局唯一的IP,docker IP与物理机IP在etcd上存储映射。


Flannel.png

同一个pod内的多个容器:localhost
同一个宿主机上的pod:Flannel的Docker0网桥
不同宿主机上的pod:通过Flannel将pod ip与Node ip进行关联,通过这个关联可以让pod进行互相访问。pod1 -> docker0 -> node1网卡 -> node2网卡 -> docker0 -> pod2。
pod到外网:pod转发数据包到宿主机网卡,向外网发送请求。
外网到pod:service

K8S资源类型

上一篇下一篇

猜你喜欢

热点阅读