Kubernetes中的nodePort,targetPort,port的区别和访问范围
#一、概念:三种端口nodePort:指的是servicename(或者称为service或者svc) nodetype类型暴露出来的端口。port:指的是servicename(或者称为service或者svc) cluster类型暴露出来的端口。targetPort:是pod上的端口。containerPort:就是targetPort。 其对应的是:“k8s ymal文件里面的contain
·
一、概念:三种端口
-
nodePort:指的是servicename(或者称为service或者svc) nodetype类型暴露出来的端口。
-
port:指的是servicename(或者称为service或者svc) cluster类型暴露出来的端口。
-
targetPort:是pod上的端口。
-
containerPort:就是targetPort。 其对应的是:“k8s ymal文件里面的containerPort”和“docker dockefile里面的expose”都是一样的,只是声明而已,没有任何意义。可以随意写。
二、
注意:如果k8s master上面没部署kubelet和kube-proxy,则k8s master节点不是k8s业务节点。
端口类型 | 3个端口(3个可以不相同,但一般是targetPort和port端口保持一致) | 3个ip不相同(示例) | 访问范围 | 是否依赖servicename |
---|---|---|---|---|
targetPort | 容器里面的端口 | 虚拟ip(即pool ip):1.1.1.1 | 源:任何k8s业务主机可以访问 目的:1.1.1.1:targetPort | 不依赖 |
port(clusterPort) | k8s集群的端口 | clusterip:2.2.2.2 | 源:任何k8s业务主机都可以访问 目的:2.2.2.2:port | 由servicename创建 |
nodePort | k8s主机的端口 | k8s业务主机ip:每台k8s主机上可以看到kube-proxy 进程占据nodePort的端口 | 源:任何非k8s业务主机或者k8s业务主机,都可以访问 目的: 任何k8s业务主机的nodePort的端口 | 由servicename创建 |
hostPort | k8s主机的端口 | k8s业务主机ip:只有对应容器所在的k8s业务主机有hostPort端口 | 源:任何非k8s业务主机或者k8s业务主机,都可以访问 目的:对应容器所在的k8s业务主机的hostPort的端口 | 不依赖 |
更多推荐
已为社区贡献1条内容
所有评论(0)