k8s基础概念:port ,targetport,nodeport

这篇具有很好参考价值的文章主要介绍了k8s基础概念:port ,targetport,nodeport。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Kubernetes中,有三种类型的端口与Service相关:porttargetPortNodePort。它们分别用于不同的用途:

  1. portport字段定义了Service暴露给集群内部和外部的端口号。当你创建一个Service时,其他应用或服务可以通过该端口与Service进行通信,将请求发送到Service上。这个端口号是Service在Kubernetes集群内部和外部可见的端口。

  2. targetPorttargetPort字段定义了Service将流量转发到后端Pod的容器端口号。当请求进入Service时,Service会根据其定义将请求转发到后端Pod的这个指定端口。通常,后端Pod中的应用程序在指定的容器端口上监听并处理请求。

  3. NodePortNodePort是一种Service类型,它允许通过Kubernetes集群中的每个节点的IP地址和指定的端口号访问Service。NodePort是将外部流量导入到Service的一种方式。Kubernetes会在集群中的每个节点上打开一个高端口(30000-32767范围内),并将该端口映射到Service的porttargetPort上。这样,你可以通过任何节点的IP地址和NodePort来访问Service。

下面是一个示例Service的定义,演示了这三个端口的用法:

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: my-app
  ports:
    - name: http
      protocol: TCP
      port: 80
      targetPort: 8080
  type: NodePort

在上述示例中,port: 80定义了Service暴露给集群外部和内部的端口,targetPort: 8080定义了将流量转发到后端Pod的容器端口。另外,type: NodePort将Service的类型设置为NodePort,允许通过每个节点的IP地址和随机高端口访问Service。

请注意,NodePort是一种简单的方式来暴露Service到集群外部,但在生产环境中,通常会使用更高级的负载均衡器或Ingress控制器来处理流量分发和SSL终止等更高级的功能。

例如:

// 创建一个nginx pod
kubectl create deployment nginx  --image=nginx
// 创建一个类型为NodePort类型的svc,8181是对集群内部和外部暴露的端口,80是Service将流量转发到后端Pod的容器端口号
kubectl expose deploy nginx  --port=8181 --target-port=80  --type=NodePort

k8s port targetport,k8s,kubernetes,容器,云原生
创建成功之后可以看到k8s自动分配了节点宿主机的32313端口给nginx service,宿主机端口32313的流量会被转发到集群内的8181端口,集群8181端口的流量又会被转发到pod的80端口,所以我们在宿主机上直接访问 curl localhost:32313 就能够访问到pod里的nginx服务。
k8s port targetport,k8s,kubernetes,容器,云原生文章来源地址https://www.toymoban.com/news/detail-697872.html

到了这里,关于k8s基础概念:port ,targetport,nodeport的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【K8S】pod 基础概念讲解

    Pod是kubernetes中最小的资源管理组件,Pod也是最小化运行容器化应用的资源对象。一个Pod代表着集群中运行的一个进程。kubernetes中其他大多数组件都是围绕着Pod来进行支撑和扩展Pod功能的,例如,用于管理Pod运行的StatefulSet和Deployment等控制器对象,用于暴露Pod应用的Service和

    2024年02月13日
    浏览(44)
  • Kubernetes(K8S)的基础概念

    用于自动部署、扩展和管理“容器化( containerized) 应用程序”的开源系统 可以理解成K8S是负责自动化运维管理多个容器化程序(比如Docker)的集群,是–个生态极其丰富的容器编排框架工具 由来: k8S由google的Borg系统(博格系统,google内部使用的大规模容器编排工具)作为原型,后

    2024年02月05日
    浏览(73)
  • 关于 K8s 的一些基础概念整理

    Kubernetes,将中间八个字母用数字 8 替换掉简称 k8s,是一个开源的 容器集群管理系统 ,由谷歌开发并维护。它为 跨主机的容器化应用 提供 资源调度、服务发现、高可用管理 和 弹性伸缩 等功能。 下面简单列一下 k8s 的几个特性: 自动化部署: Kubernetes 可以根据应用程序计

    2024年02月04日
    浏览(41)
  • 【云原生|K8s系列第1篇】:K8s的基础概念、组件架构及实战安装

    首先,K8s并不是一个传统意义上的 PaaS平台即服务的工具,它充分给使用者提供了很多很多选择的空间。 不限制支持的应用程序类型,K8s并不插手应用程序框架, 也不限制支持的语言 (如 Java, Python, Ruby 等),只要应用符合 12 因素即可。也就是说,只需要应用可以在容器中运行

    2024年02月03日
    浏览(72)
  • kubernetes(k8s) pod(资源限制、基础概念)

    目录  一、资源限制 1、概念 1.2、Pod和容器的资源请求和限制 1.3、CPU资源单位 1.4、内存资源单位 1.5、CPU和内存的Requests和Limits的特点 1.6、案例 二、pod 的两种使用方式 三、pod 资源共享 四、底层容器Pause 1、pause 共享资源 1.1、网络 1.2、存储 1.3、小结 2、Pause主要功能 3、Pod

    2024年02月05日
    浏览(71)
  • 【Kubernetes】 从基础认识 k8s核心pod相关概念

    提示:此篇帮助朋友们,养成从0到1不断延伸知识的一种方法 最简单的创建pod入手 访问官方文档,直接使用案例,进行修改即可! 官网地址:https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/assign-pods-nodes/ 删除不需要的部分,根据规则添加需要的参数即可得到需要的,代码如

    2024年01月25日
    浏览(64)
  • 如何通过port-forward命令在本地访问 k8s 集群服务

    公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享 在我们访问k8s中的pod服务时,一般通过node port映射pod端口进行访问,还有一种是通过ingress或者istio通过域名方式来访问,虽然两种方式能满足我们需求,但是如果针对临时访问,配置起来还是

    2024年02月04日
    浏览(52)
  • [k8s] kubectl port-forward 和kubectl expose的区别

    kubectl port-forward 和 kubectl expose 是 Kubernetes 命令行工具 kubectl 提供的两种不同方式来公开服务。 kubectl port-forward kubectl port-forward 命令用于在 本地主机 和 集群内部的 Pod 之间建立一个临时的 端口转发 通道。 该命令将本地机器上的一个端口绑定到集群内部的 Pod 上的指定端口,

    2024年02月07日
    浏览(35)
  • k8s核心概念

    1,相关组件 【1】 master node三个组件 k8s的控制节点,对集群进行调度管理,接受集群外用户去集群操作请求 master node 组成(四个组件):控制面 API Server:通信 kube-Scheduler:调度 通过调度算法将pod分布到节点(服务器)上 Cluster State Store(ETCD数据库)/分布式键值存储 Contr

    2024年02月15日
    浏览(34)
  • K8S 基本概念

    Kubernetes 概述 1、K8S 是什么? K8S 的全称为 Kubernetes (K12345678S),PS:“嘛,写全称也太累了吧,不如整个缩写”。 作用: 用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。 可以理解成 K8S 是负责自动化运维管理多个容器化程序(比如 Docker)的集群,是

    2024年02月10日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包