Kubenetes里pod和service绑定的实现方式

简介: 我之前的文章 如何在Kubernetes里创建一个Nginx service介绍了如何创建一个Kubernetes pod和service,使用的方法是命令kubectl run。 本文介绍另一种方式,通过这种方式来学习Kubernetes里pod和对应的service是如何绑定的。

我之前的文章 如何在Kubernetes里创建一个Nginx service介绍了如何创建一个Kubernetes pod和service,使用的方法是命令kubectl run。

本文介绍另一种方式,通过这种方式来学习Kubernetes里pod和对应的service是如何绑定的。

首先使用下面的命令行创建一个名称为jerry-nginx-1982的deployment:

kubectl create deployment jerry-nginx-1982 --image=nginx

然后使用命令行kubectl get deployment 得到创建好的deployment:

然后创建一个同名的service,类型为nodeport。

kubectl create service nodeport jerry-nginx-1982 --tcp 80:80

创建完成后,使用命令行kubectl get svc得到名称为jerry-nginx-1982对外暴露的端口号:31954:

然后就能通过这个端口号访问nginx server了:

那么这两个同名的pod和service是如何关联的呢?

首先打开kubernetes dashboard,找到之前创建的pod:

其明细为:jerry-nginx-1982-67cb658cb8-9hl99

再打开同名service:

再打开这个service里的pod,发现就是我们前面找到的jerry-nginx-1982-67cb658cb8-9hl99,说明pod和service是通过名称关联的。

我们可以做一个negative测试,直接创建一个名为test的service,但不给它预先创建名为test的pod:

kubectl create service nodeport test --tcp 80:80

service创建成功后,打开这个service,发现里面没有分配任何pod:

这个结果和我们预测的一致。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
6月前
|
存储 Kubernetes 负载均衡
【Kubernetes系统原理、核心资源、Pod原理与创建及生命周期管理、Job、Cronjob、Statefulset、Service负载均衡Ingress】
【Kubernetes系统原理、核心资源、Pod原理与创建及生命周期管理、Job、Cronjob、Statefulset、Service负载均衡Ingress】
355 2
|
8月前
|
负载均衡 Kubernetes 应用服务中间件
Deployment、Service资源
Deployment、Service资源
68 0
|
9月前
|
存储 Kubernetes 负载均衡
Kubernetes.Service—使用源 IP
Kubernetes.Service—使用源 IP
98 0
|
9月前
|
Kubernetes 负载均衡 网络协议
Kubernetes Service解析
我们都知道,在K8S集群中,每个Pod都有自己的私有IP地址,并且这些IP地址不是固定的。这意味着其不依赖IP地址而存在。例如,当我们因某种业务需求,需要对容器进行更新操作,则容器很有可能在随后的启动运行过程中被分配到其他IP地址。此外,在K8S集群外部看不到该Pod。因此,Pod若单独运行于K8S体系中,在实际的业务场景中是不现实的,故我们需要通过其他的策略去解决,那么解决方案是什么? 由此,我们引入了Serivce这个概念以解决上述问题。
87 0
|
11月前
|
缓存 Kubernetes 数据库
【kubernetes】Service: 将外部服务定位为 Service
【kubernetes】Service: 将外部服务定位为 Service
74 0
|
Kubernetes 负载均衡 网络协议
K8S 集群核心概念 Service_通过资源清单文件创建 Service_ClusterIP | 学习笔记
快速学习 K8S 集群核心概念 Service_通过资源清单文件创建 Service_ClusterIP
142 0
K8S 集群核心概念 Service_通过资源清单文件创建 Service_ClusterIP | 学习笔记
|
Kubernetes 应用服务中间件 nginx
K8S 集群核心概念 Service_通过资源清单文件创建 Service_NodePort | 学习笔记
快速学习 K8S 集群核心概念 Service_通过资源清单文件创建 Service_NodePort
161 0
K8S 集群核心概念  Service_通过资源清单文件创建 Service_NodePort | 学习笔记
|
Kubernetes 网络协议 应用服务中间件
K8S 集群核心概念 Service 通过命令行创建 Service | 学习笔记
快速学习 K8S 集群核心概念 Service 通过命令行创建 Service
358 0
K8S 集群核心概念 Service 通过命令行创建 Service  | 学习笔记
|
Kubernetes Linux Docker
Kubernetes - Service 端口映射暴露配置
Kubernetes - Service 端口映射暴露配置
296 0
Kubernetes - Service 端口映射暴露配置
|
Kubernetes 负载均衡 网络协议
kubernetes Service:让客户端发现pod并与之通信(下)
kubernetes Service:让客户端发现pod并与之通信