• Kubenetes里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:

     
     

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



    作者:JerryWang_汪子熙
    链接:https://www.jianshu.com/p/ab3e5624d491
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    javaee_正则表达式基础和常用表达式
    hello2源代码分析
    servlet_filterj简介
    hello1的web.xml解析
    Annotation
    注入(Injection)
    容器(Container)
    Building Tool(Maven/Gradle)
    JavaWeb的历史与发展趋势
    Build Tools
  • 原文地址:https://www.cnblogs.com/ExMan/p/12051468.html
Copyright © 2020-2023  润新知