zoukankan      html  css  js  c++  java
  • Service

    1. 什么是service(服务的发现和负载均衡)

    ①集群内的容器升级或故障下线产生新的pod时,容器ip是不断变化的,service在这中间提供vip地址和服务发现的作用,无论容器ip如何变化,service总能通过虚拟机地址找到对应的pod容器提供服务。

    ②当一个应用服务有多个容器提供服务时,service可自动的将外部请求合理的,按照比例分发到所有的容器上,实现负载均衡。

    2.service与pod容器如何关联

    与前面controller和pod的关联模式一样,通过labels标签建立关联, key.value键值对标识,例如:

    selector:

           app:nginx 

    labels:

           app:nginx 

    3.service常用的三种类型

    kubectl expose --help  #执行这条命令末尾位置能看到下面一行内容。

    --type='': Type for this service: ClusterIP, NodePort, LoadBalancer, or ExternalName. Default is 'ClusterIP'. 

    ① ClusterIP :默认参数,供集群内部使用

    ② NodePort : 对外访问集群内部应用使用

    ③ LoadBalancer : 对外访问集群内部应用使用,使用公有云中的LB负载均衡器提供服务。

    示例:

    ①分别创建一个clusterip和nodeport的yaml模板

    创建默认的clusterip的service

    kubectl expose deployment web --port=80 --target-port=80 --name=clusteripp --dry-run -o yaml > clusteripp.yaml   

    创建类型为nodeport的service          

    kubectl expose deployment web --port=80 --type=NodePort --target-port=80 --name=nodeportt --dry-run -o yaml > nodeportt.yaml  

     ②查看内容

    nodeport仅声明了类型,k8s会自动分配一个随机端口,如需自定义端口,在-port 下面加一行nodeport: 36666 即可,注意对齐

    3.分别创建这两个svc,查看效果

     

    nodeport端口类型可以外部访问,使用任意K8S节点ip:31588端口即可访问。

     

     

  • 相关阅读:
    HDU1720 A+B Coming
    HDU1390 ZOJ1383 Binary Numbers
    HDU1390 ZOJ1383 Binary Numbers
    HDU2504 又见GCD
    HDU2504 又见GCD
    HDU1335 POJ1546 UVA389 UVALive5306 ZOJ1334 Basically Speaking
    HDU1335 POJ1546 UVA389 UVALive5306 ZOJ1334 Basically Speaking
    HDU1020 ZOJ2478 Encoding
    HDU1020 ZOJ2478 Encoding
    HDU2097 Sky数
  • 原文地址:https://www.cnblogs.com/you-xiaoqing/p/14372980.html
Copyright © 2011-2022 走看看