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

     

     

  • 相关阅读:
    CentOS7 安装Kafka
    使用ZeroTier搭建大局域网利用VNC远程桌面
    IntelliJ常用配置备忘
    docker-compose部署kafka
    使用Mybatis执行sql脚本
    jQuery实现三级联动菜单(鼠标悬停联动)
    phonegap 使用极光推送实现消息推送
    如何用HTML5+PhoneGap写个Path项目
    如何脱离SDK,使用DW5.5和phonegap以及JQMobile搭建开发环境
    JSON和JSONP有哪些区别,PhoneGap跨域请求如何实现
  • 原文地址:https://www.cnblogs.com/you-xiaoqing/p/14372980.html
Copyright © 2011-2022 走看看