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

举报
汪子熙 发表于 2021/12/11 22:47:30 2021/12/11
【摘要】 我之前的文章 如何在Kubernetes里创建一个Nginx service介绍了如何创建一个Kubernetes pod和service,使用的方法是命令kubectl run。本文介绍另一种方式,通过这种方式来学习Kubernetes里pod和对应的service是如何绑定的。首先使用下面的命令行创建一个名称为jerry-nginx-1982的deployment:kubectl cre...

我之前的文章 如何在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:

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

要获取更多Jerry的原创文章,请关注公众号"汪子熙".

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。