• service 详解


    service 详解

    8.3.3 HeadLiness类型的Service

    在某些场景中,开发人员可能不想使用Service提供的负载均衡功能,而希望自己来控制负载均衡策略,针对这种情况,kubernetes提供了HeadLiness Service,这类Service不会分配Cluster IP,如果想要访问service,只能通过service的域名进行查询。
    创建service-headliness.yaml

    apiVersion: v1
    kind: Servicemetadata:
      name: service-headliness
      namespace: devspec:
      selector:
        app: nginx-pod
      clusterIP: None # 将clusterIP设置为None,即可创建headliness Service
      type: ClusterIP
      ports:
      - port: 80    
        targetPort: 80
    # 创建service
    [root@k8s-master01 ~]# kubectl create -f service-headliness.yaml
    service/service-headliness created
    # 获取service, 发现CLUSTER-IP未分配
    [root@k8s-master01 ~]# kubectl get svc service-headliness -n dev -o wide
    NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE   SELECTOR
    service-headliness   ClusterIP   None                 80/TCP    11s   app=nginx-pod
    # 查看service详情
    [root@k8s-master01 ~]# kubectl describe svc service-headliness  -n dev
    Name:              service-headliness
    Namespace:         dev
    Labels:            
    Annotations:       
    Selector:          app=nginx-pod
    Type:              ClusterIP
    IP:                None
    Port:                80/TCP
    TargetPort:        80/TCP
    Endpoints:         10.244.1.39:80,10.244.1.40:80,10.244.2.33:80
    Session Affinity:  None
    Events:            
    # 查看域名的解析情况
    [root@k8s-master01 ~]# kubectl exec -it pc-deployment-66cb59b984-8p84h -n dev /bin/sh
    / # cat /etc/resolv.conf
    nameserver 10.96.0.10
    search dev.svc.cluster.local svc.cluster.local cluster.local
    
    [root@k8s-master01 ~]# dig @10.96.0.10 service-headliness.dev.svc.cluster.local
    service-headliness.dev.svc.cluster.local. 30 IN A 10.244.1.40
    service-headliness.dev.svc.cluster.local. 30 IN A 10.244.1.39
    service-headliness.dev.svc.cluster.local. 30 IN A 10.244.2.33
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    8.3.4 NodePort类型的Service

    在之前的样例中,创建的Service的ip地址只有集群内部才可以访问,如果希望将Service暴露给集群外部使用,那么就要使用到另外一种类型的Service,称为NodePort类型。NodePort的工作原理其实就是将service的端口映射到Node的一个端口上,然后就可以通过NodeIp:NodePort来访问service了。
    在这里插入图片描述
    创建service-no

  • 相关阅读:
    充气泵方案设计—汽车打气泵方案开发
    利用Jmeter做接口测试(功能测试)全流程分析
    【办公类-21-05】20240227单个word按“段落数”拆分多个Word(成果汇编 只有段落文字 1拆5)
    【11.3】【VP】Codeforces Round #726 (Div. 2)
    基于springboot在线玩具商城交易平台的设计与实现
    Linux命令
    常见的排序算法
    Android-SQLite数据库实战
    JS案例:实现一个简易版axios
    (一)centos7案例实战——nginx服务器搭建详解
  • 原文地址:https://blog.csdn.net/weixin_72901306/article/details/128195850