yyz notes yyz notes
首页
  • RBAC权限设计
  • 架构图标设计
  • 账号体系
  • python基础
  • python高级
  • python模块
  • python设计模式
  • python数据结构与算法
  • django
  • django-DRF
  • flask
  • 直接设计开源pip包
  • 直接设计开源项目
  • python示例题/脚本
  • python面试题
  • golang基础
  • golang高级
  • golang常用组件
  • gin框架
  • es6
  • javascript
  • react
  • vue
  • TypeScript
  • mysql
  • redis
  • minio
  • elasticsearch
  • mongodb
  • 消息队列
  • 自动化测试
  • 操作系统

    • linux
    • windows
  • nginx
  • docker
  • k8s
  • git
  • ldap
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

益章

可乐鸡翅
首页
  • RBAC权限设计
  • 架构图标设计
  • 账号体系
  • python基础
  • python高级
  • python模块
  • python设计模式
  • python数据结构与算法
  • django
  • django-DRF
  • flask
  • 直接设计开源pip包
  • 直接设计开源项目
  • python示例题/脚本
  • python面试题
  • golang基础
  • golang高级
  • golang常用组件
  • gin框架
  • es6
  • javascript
  • react
  • vue
  • TypeScript
  • mysql
  • redis
  • minio
  • elasticsearch
  • mongodb
  • 消息队列
  • 自动化测试
  • 操作系统

    • linux
    • windows
  • nginx
  • docker
  • k8s
  • git
  • ldap
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • k8s

    • k8s基础
    • kubernets几种端口(port、targetport、contaierport、hostport、nodeport)的区别和关联
      • port
      • nodePort
      • hostport
      • targetPort
      • containerPort
    • helm
  • 操作系统

  • nginx

  • docker

  • 运维部署
  • k8s
YiZhang-You
2023-05-24
目录

kubernets几种端口(port、targetport、contaierport、hostport、nodeport)的区别和关联

# kubernets几种端口(port、targetport、contaierport、hostport、nodeport)的区别和关联

1.这两个一般用在应用yaml (opens new window)描述文件中,起到的作用类似于docker -p选项

  • containerport: 容器需要暴露的端口,service的targetPort会映射到pod里的这个containerPort。

  • hostport: 容器暴露的端口映射 (opens new window)到的物理机的主机端口。

2.这两个一般用在service中,service 的类型为cluster ip时候:

  • port: service中clusterip 对应的端口

  • targetport: clusterIP作为负载均衡 (opens new window), 后端目标实例(容器)的端口。targetPort对应pod里的containerPort。

3.这一个一般用在service中,service的类型为nodeport:cluster ip 只能集群内部访问(源与目标需要满足两个条件: kube-proxy正常运行,跨主机容器网络通信正常),nodeport会在每个kubelet节点的宿主机开启一个端口,用于应用集群外部访问。

4.hostport和nodeport的区别?

  • (1)hostport是将pod的端口映射到宿主机上。

  • (2)nodeport是将service的端口映射到集群中的每个宿主机上。

关于端口的总结

快速总结一下哪些端口和标签应该匹配:

Service selector 应该和 Pod 的标签匹配;

Service 的 targetPort 应该和 Pod 里面容器的 containerPort 匹配;

Service 端口可以是任意数字。多个 Service 可以使用同一个端口,因为不同的 Service 分配的 IP 地址不同;

Ingress 的 service.port 应该和 Service 的 port 匹配;

Service 的名称应该和 Ingress 中 service.name 字段匹配;

# port

port是k8s集群内部访问service的端口,即通过clusterIP: port可以访问到某个service

# nodePort

nodePort是外部访问k8s集群中service的端口,通过nodeIP: nodePort可以从外部访问到某个service。

# hostport

容器暴露的端口映射 (opens new window)到的物理机的主机端口。

# targetPort

targetPort是pod的端口,从port和nodePort来的流量经过kube-proxy流入到后端pod的targetPort上,最后进入容器。

# containerPort

containerPort是pod内部容器的端口,targetPort映射到containerPort。

图解


K8S配置中的port、targetPort、nodePort和containerPort区别 https://blog.51cto.com/wutengfei/2482187 (opens new window)

编辑 (opens new window)
k8s基础
helm

← k8s基础 helm→

最近更新
01
配置yun源
05-24
02
linux-配置python虚拟环境
05-24
03
linux文件目录管理
05-24
更多文章>
Theme by Vdoing | Copyright © 2023-2023 yizhang | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式