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端口即可访问。

     

     

  • 相关阅读:
    四,awk格式化
    printf命令详解
    三,awk变量
    二,awk分隔符
    一,AWK基础
    【leetcode_easy_array】1399. Count Largest Group
    【leetcode_easy_array】1184. Distance Between Bus Stops
    【leetcode_easy_array】1346. Check If N and Its Double Exist
    【leetcode_easy_array】1304. Find N Unique Integers Sum up to Zero
    【leetcode_easy_array】1337. The K Weakest Rows in a Matrix
  • 原文地址:https://www.cnblogs.com/you-xiaoqing/p/14372980.html
Copyright © 2011-2022 走看看