暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

第7节 K8S里面的多种port端口你知道怎么区分

DevOps架构实战 2023-09-22
189

简介:K8S里面的port-targetPort -nodePort-containerPort 你知道怎么区分吗?

一、关于K8S中端口的概念区分

   1、Port:

  是service端口,即k8s中服务之间的访问端口 ,clusterIP:port 是提供给集群内部客户访问service的入口

  2、NodePort:

   容器所在node节点的端口,通过nodeport类型的service暴露给集群节点,外部可以访问的端口

  3、TargetPort

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

  4、ContainerPort

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

二、总结:

   4种端口作用不一样,port和nodePort都是service的端口。

   port暴露给集群内客户访问服务,nodePort暴露给集群外客户访问服务。

   这两个端口到来的数据都需要经过反向代理kube-proxy流入后端pod的targetPod,从而到达pod中的容器。

三、配置port

 [root@master ~]# more nginx-service.yaml

apiVersion: v1

  kind: Pod

  metadata:

    name: nginx

    namespace: dev

    labels:

      app: nginx

  spec:

    containers:

    - name: nginx

      image: nginx:1.20.0

      imagePullPolicy: IfNotPresent

      ports:

      - containerPort: 80 #容器端口

  ---

  apiVersion: apps/v1

  kind: Service

  metadata:

    name: nginx

  spec:

    type: NodePort # 有配置NodePort,外部可访问k8s中的服务 ,

    ports:

    - name: nginx

      port: 80  # 服务service的访问端口

      protocol: TCP

      targetPort: 80  # pod端口,映射到容器端口

      nodePort: 30080  # NodePort,通过nodeport类型的service暴露给集群外部访问

    selector:

      app: nginx

----------------------end---------------------

推荐阅读

1K8s最佳实践Kubernetes-Rancher2.x持续交付与自动化运维

2、第1节 Kubernetes名称空间介绍和资源操作实战

3、第2节 Kubernetes资源文件yaml参数介绍

4、第3节Kubernetes的Pod资源讲解实战

5、第4节 Kubernetes标签Label和标签选择器实战

6、第5节 K8S的Deployment控制器滚动升级


如果本文对你有帮助的话,欢迎点赞&在看&转发,这对我继续分享&创作优质文章非常重要。感谢🙏🏻

文章转载自DevOps架构实战,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论