pod内container通信,pod command
原标题:pod内container通信,pod command
导读:
Network:了解K8S的网络通信模型1、首先,Kubernetes的网络模型以Pod为基础,每个Pod都有独立的I...
Network:了解K8S的网络通信模型
1、首先,Kubernetes的网络模型以Pod为基础,每个pod都有独立的IP地址,类似于一台虚拟机,这使得POD之间的通信变得直接且易于实现服务发现和负载均衡。
2、flAnnel,k8s的网络模型,为k8s集群内的容器提供网络服务的组件。主要作用:为集群内所有容器提供一个扁平化的网络环境,即:所有容器在flannel提供的网络平面上可以看作是在同一网段,自由通信。其模型为全部的容器使用一个network,然后在每个host上从network中划分一个子网subnet。
3、Pod是Kubernetes的基本操作单元,它包含一个或多个紧密相关联的容器。Pod内的容器共享同一网络栈、IP地址和存储资源,这使得容器之间通信和数据交换更为高效。Pod的生命周期通过Replication Controller管理,确保容器在Node上运行并能够自动恢复。
4、架构与组件: 主要组件:Calico网络模型主要包括Felix和BIRD两个组件。Felix负责监听ECTD中心的存储,为容器配置网卡、IP和MAC,并写入路由信息;BIRD则负责通过BGP协议扩散路由信息。 工作模式:Calico网络Node之间有两种模式:IPIP和BGP。IPIP适用于跨网段访问的场景,而BGP更适合大型网络环境,效率更高。
5、Calico 网络模型主要工作组件包括 Felix 和 BIRD。Felix 监听 ECTD 中心的存储,获取事件,如用户在主机上添加 IP 或创建容器等。用户创建 pod 后,Felix 负责为其配置网卡、IP 和 MAC,并在内核路由表中写入路由信息。同时,如果用户制定了隔离策略,Felix 会创建 ACL 来实现隔离。
Kubernetes入门:Pod、节点、容器和集群都是什么?
1、Pod是Kubernetes集群中最小的可运行单元。它代表着集群中运行的进程,并能够共享网络和存储资源。一个Pod内部可以同时运行一个或多个容器,通过Pause容器实现容器间的网络共享和存储共享。节点:节点是Kubernetes中的最小计算硬件单元,可以理解为集群中的单个机器。
2、Pod是Kubernetes的基本计算单元,它将一个或多个容器封装在一起,并共享相同的名称空间和本地网络。Pod中的容器可以互相通信,仿佛它们在同一台机器上,同时保持一定程度的隔离。Pod被用作Kubernetes的复制单元,确保负载均衡和故障恢复。Pod应保持较小的规模,通常只包含一个主进程和紧密耦合的辅助容器。
3、Kubernetes入门简介:Kubernetes是什么:Kubernetes是一种基于容器技术的分布式架构解决方案。它拥有丰富的集群管理能力,包括多层次的安全防护、多租户应用支持、透明的服务注册与发现等。Kubernetes的核心优势:简化开发:通过微服务架构,Kubernetes简化了复杂系统的开发流程。
K8S之nodePort、port、targetPort和containerport
targetPort是针对Docker容器设置的端口。当数据从nodePort或port进入时,kube-proxy将数据路由至后端pod的targetPort上,最终进入容器内部。值得注意的是,targetPort与containerPort必须保持一致。containerPort则是定义在pod控制器中的端口,用于容器需要暴露给外界的接口。例如,Mysql服务通常暴露3306端口,而redis服务则暴露6379端口。
RockerMQ在k8s的部署有两种方式, 一种是使用operator 在k8s集群中部署,可参考 operation项目 ; 一种是编写简单的k8s配置文件,在rocketmq的docker项目中有提供模板。
我们使用的Service type是NodePort,yaml里没有申明nodePort 所以k8s会默认创建一个nodePort (30000-40000),然后我们通过node ip 加 nodePort 就可以访问service。