Kubernetes中的nodePort,targetPort,port的区别和意义
1. nodePort
外部机器可访问的端口。
比如一个Web应用需要被其他用户访问,那么需要配置type=NodePort
,而且配置nodePort=30001
,那么其他机器就可以通过浏览器访问scheme://node:30001访问到该服务,例如http://node:30001。
例如MySQL数据库可能不需要被外界访问,只需被内部服务访问,那么不必设置NodePort
2. targetPort
容器的端口(最终的流量端口)。targetPort是pod上的端口,从port和nodePort上来的流量,经过kube-proxy流入到后端pod的targetPort上,最后进入容器。
与制作容器时暴露的端口一致(DockerFile中EXPOSE),例如docker.io官方的nginx暴露的是80端口。
docker.io官方的nginx容器的DockerFile参考https://github.com/nginxinc/docker-nginx
3. port
kubernetes中的服务之间访问的端口,尽管mysql容器暴露了3306端口(参考https://github.com/docker-library/mysql/的DockerFile),但是集群内其他容器需要通过3306端口访问该服务,外部机器不能访问mysql服务,因为他没有配置NodePort类型
4. 举例
apiVersion: v1
kind: Service
metadata:name: nginx-service
spec:type: NodePortports:- port: 30080 targetPort: 80 nodePort: 30001 selector: name: nginx-pod
apiVersion: v1
kind: Service
metadata:name: mysql-service
spec:ports:- port: 33306 targetPort: 3306 selector: name: mysql-pod
转载于:https://www.cnblogs.com/jack1989/p/9733128.html
Kubernetes中的nodePort,targetPort,port的区别和意义相关推荐
- Kubernetes中的nodePort,targetPort,port的区别和意义(转)
Kubernetes中的nodePort,targetPort,port的区别和意义(转) 原文https://blog.csdn.net/u013760355/article/details/701 ...
- Kubernetes 学习总结(25)—— Kubernetes 中的 pod 与容器的区别和联系
前言 容器本可以成为轻量级虚拟机的替代品.但是由于 Docker/OCI 的标准化,最广泛使用的容器形式是每个容器只有一个进程服务.这种方法有很多优点--增加隔离性.简化水平扩展.更高的可重用性等.但 ...
- k8s四种port解析:nodePort、port、targetPort、containerPort
1. nodePort nodePort提供了集群外部客户端访问service的一种方式,:nodePort提供了集群外部客户端访问service的端口,即nodeIP:nodePort提供了外部流量 ...
- kubenetes中port、targetPort、nodePort、containerPort的区别与联系
kubenetes中port.targetPort.nodePort.containerPort的区别与联系 首先给出一张kubenetes结构图: containerPort containerPo ...
- 从部署 httpd 入手,理清 k8s 配置中的 containerPort、port、nodePort、targetPort
注:文中各种内网.公网 IP 仅为示例,不保证所有 IP 都可以访问,且你的环境中 IP 可能不同. 背景 在上一篇文章 自己搭建一个k8s环境 中,我们一顿操作猛如虎,搭建出了由 1 个 maste ...
- 【nodePort、port、targetPort、containerPort的区别】
nodePort.port.targetPort.containerPort nodePort:nodePort是外部访问k8s集群中service的端口,通过nodeIP: nodePort可以从外 ...
- kubernetes中mysql乱码_在kubernetes中部署tomcat与mysql集群-Go语言中文社区
在kubernetes中部署tomcat与mysql集群之前必须要有以下这些基础: 1. 已安装.配置kubernetes 2. 集群中有tomcat与mysql容器镜像 3. 有docker基础 具 ...
- 关于 Kubernetes中Service的一些笔记
写在前面 学习K8s,整理记忆 博文内容涉及:K8s中通过Servie的实现的服务创建,服务发现,服务发布 以及Load balancer负载,Ingress7层路由负载等的实际Demo 陈平安说,& ...
- 一文搞懂 Kubernetes 中数据包的生命周期
公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 即使是对于具备一定虚拟网络和路由知识的人来说,Kubernetes 集群的网络也是个颇为麻烦的事情.本文尝试帮助读 ...
最新文章
- 网络编程学习笔记(gethostbyname函数)
- Spring Boot 中的 RestTemplate 不好用?试试 Retrofit!
- JZOJ 5454. 【NOIP2017提高A组冲刺11.5】仔细的检查
- Android service 小研究
- c语言教程for,C语言菜鸟基础教程之for循环
- 关于Go语言,你可能会讨厌的五件事
- n3k配置vpc是否还需要配置hsrp_VPC配置案例
- ROS☞rosbag/rostopic消息记录、回放、转.txt
- android实现填空模式
- android仿winphone进度指示器的实现
- C 语言中获取文件长度(ftell函数)
- python 编译成exe vmp加密_加密软件VMProtect入门教程
- ubuntu 版mysql客户端工具_ubuntu安装mysql可视化工具MySQL-workbench及简单操作
- 国内开源镜像(下载Linux系统)
- JAVA调起clearcase_Eclipse集成配置管理工具ClearCase (ccrc_for_eclipse)
- 面由心生,由脸观心:基于AI的面部微表情分析技术解读
- CSS冻结单元格(新增滚动阴影效果)
- 计算机老师任课教师寄语,任课老师新学期寄语
- 一款自制calendar插件
- 《IT项目经理进阶之道》简介