Kubernetes学习之网络

一、Kubernetes网络模型

        1.集群中的每个pod都有自己的ip地址,pod之间不需要配置NAT就可以直接通信,同一个pod中容器共享pod的ip,能够通过localhost进行通信。每个pod可以看作一个独立的系统,pod中的容器则可以被看作同一个系统的不同进程。

        2.pod容器之间的通信:

                当pod被调度到某个节点,pod中所有的容器都在这个节点上运行,这些容器共享相同的本地文件系统和网络命名空间。

                不同pod之间不存在端口冲突的问题,因为每个pod都有自己的ip地址,当某个容器使用localhost时,意味着使用容器所属的pod的地址空间。

        3.pod之间的通信:

                pod的ip时集群可见,即集群中任何其他的pod和node都可以通过ip直接与pod进行通信

        4.pod和service的通信:

                pod之间可以直接通过ip地址通信,但前提是pod知道对方的ip,在kubernetes中pod因为会被频繁的销毁和创建,其ip不是固定的,因此,需要一个稳定的前端对外提供服务的service(其ip不变)将请求转发给正确的pod。

二、Network Policy

        1.Network Policy是kubernetes的一种资源,NP通过label选择pod并指定其他pod与外界如何与这些pod通信。

        2.默认情况下,所有的pod是非隔离的,即任何来源的网络流量都可以访问pod,没有任何限制,当pod定义了NP时,只有policy允许的流量才可以访问pod

        

        3.创建NP:

                ​​​​​​​        ​​​​​​​             

                查看创建的NP:

        

                验证NP的有效性:

        

                因为在创建NP时定义了只能通过80端口访问,不可以通过8080端口访问,此时通过该端口进行访问访问失败表示Np运行正常

        

                此外,集群节点也无法访问到service,同时也ping 不到副本pod,并且集群外部也无法访问到service,若希望集群外部的节点可以访问到应用,可以修改NP定义的内容

                           

                        

                上述内容修改之后,集群的节点和外部的节点都可以访问

                除了,ingress可以限制进入的流量,也可以通过egress限制外出的流量

                

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值