新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
我之前的文章 如何在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的原创文章,请关注公众号"汪子熙":