k8s暴露服务NodePort

NodePort暴露服务:

即要在浏览器访问k8s内的pod内的docker容器服务应用,如果使用NodePort类型暴露服务,需要在k8s空运行产生的yml文件中指定type类型是NodePort。具体暴露在浏览器的端口可以指定可以不指定,如果指定就要指定nodePort:3万以上端口。在浏览器访问k8s中的pod中docker容器时就可用指定的nodePort中的端口进行访问,或者不指定端口那k8s就会随机选择一个3万以上的端口进行服务暴露。即使用节点IP:暴露端口就可以访问k8s中pod的中的docker应用。可以通过kubectl expose deployment 控制器名称 --port=容器内部端口 --target-port=容器对外暴露端口--type=NodePort(即浏览器访问容器使用的端口暴露类型)--node-port=3万以上端口(NodePort类型暴露服务指定的端口,也可不写,就用k8s的随机的3万以上的端口就行)

缺点:

因为IP地址可能经常发生变化等原因,生产环境不推荐使用,可以用于临时演示

K8S暴露服务的三种端口说明:

nodePort:外部即浏览器访问k8s中的pod中的docker容器的端口

targetPort:dockerfile中的expose暴露的端口,即k8s中的pod中的docker容器应用对外暴露的端口

port:k8s集群内docker容器之间互相访问的端口

注意:docker容器在启动时各个容器有一个端口即port,然后有一个对外暴露的端口即targetPort,在运行时可以通过-p命令进行端口映射或者通过dockerfile文件中的expose命令进行外部端口暴露,容器内部互相访问用port,如果容器没有放在k8s的pod内,那么也是可以通过浏览器访问docker容器对外暴露的端口去访问docker容器,如果容器放在了k8s的pod内,那么要通过浏览器访问k8s中的Pod中的docker容器就必须要添加nodePort端口,只添加targetPort和port是不能进行浏览器访问的

个人理解。。。。不知道有没有问题。。。。。。

相关推荐
程序猿阿伟10 分钟前
《一套完整方法论:搞定图形应用的Docker镜像优化》
数据库·docker·容器
java_logo1 小时前
2026 Docker 国内镜像加速配置教程
运维·docker·容器·docker镜像·docker镜像源·docker镜像加速·docker镜像国内库
IT策士2 小时前
Docker从0到1再到 Kubernetes 实战:第15篇Compose 中的服务依赖、健康检查与启动顺序
docker·容器·kubernetes
Waay2 小时前
K8s Deployment 滚动更新与回滚深度详解(含踩坑实录+生产选型原理)
云原生·容器·kubernetes
顾默@2 小时前
双系统Ubuntu18.04升级22.04,安装docker进行openclaw安装
运维·docker·容器
蜀道山老天师3 小时前
Docker Compose 多容器编排实战:LNMP、Tomcat 集群、云桌面、Portainer、Zabbix 一键部署
运维·docker·容器·tomcat·zabbix
见牛羊4 小时前
docker理解
java·docker·容器
ん贤5 小时前
Higress 详细笔记
笔记·云原生·higress
IT策士7 小时前
Docker 从 0 到 1 再到 Kubernetes 实战:第18篇 从 Docker Compose 到 Kubernetes 的思考
docker·容器·kubernetes
linmengmeng_13147 小时前
【总结】Docker 容器重建后 Nginx 502 问题排查与解决
nginx·docker·容器