ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

kubernetes集群中的port、targetPort、nodePort和containerPort区别

2022-04-21 00:31:24  阅读:188  来源: 互联网

标签:targetPort name kubernetes containerPort nginx nodePort port


port

port是暴露在cluster ip上的端口,port提供了集群内部客户端访问service的入口,即clusterIP:port

nodeport

nodePort 提供了集群外部客户端访问 Service 的一种方式,nodePort 提供了集群外部客户端访问 Service 的端口,通过 nodeIP:nodePort 提供了外部流量访问k8s集群中service的入口。

targetPort

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

containerPort

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

比如下面的nginx.yaml文件

[root@master1 ~]# cat nginx.yaml 
---
apiVersion: v1
kind: Pod
metadata:
  name: nginx
  namespace: test
  labels:
    app: nginx
spec:
  containers:
  - name: nginx
    image: nginx:1.20
    imagePullPolicy: IfNotPresent
    ports:
    - containerPort: 80
    volumeMounts:
    - name: nginx-data
      mountPath: /usr/share/nginx/html
    - name: nginx-conf
      mountPath: /etc/nginx/conf.d/

  volumes:
  - name: nginx-data
    hostPath:
      path: /www
      type: DirectoryOrCreate
  - name: nginx-conf
    nfs:
      server: 192.168.110.5 
      path: "/conf"

---
apiVersion: apps/v1
kind: Service
metadata:
  name: nginx
spec:
  type: NodePort
  ports:
  - name: nginx
    port: 80
    protocol: TCP
    targetPort: 80
    nodePort: 30015
  selector:
    app: nginx

 

标签:targetPort,name,kubernetes,containerPort,nginx,nodePort,port
来源: https://www.cnblogs.com/shuiyuesheng/p/16172454.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有