• 【k8s】svc-type-ExternalName


    环境

    1. kubernetes 1.20.4
    2. Spring Boot 2.5.0-M3

    目标

    k8s 支持的服务类型有四种,分别是:

    1. ClusterIP
    2. NodePort
    3. ExternalName
    4. LoadBalancer

    这里介绍 ExternalName 类型,可以指定外部的域名地址。

    示例

    Deploy.yaml

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: spring-k8s
    spec:
      selector:
        matchLabels:
          app: spring-k8s
      template:
        metadata:
          labels:
            app: spring-k8s
        spec:
          containers:
            - name: spring-k8s
              image: jiangbo920827/spring-k8s:liveness
              ports:
                - containerPort: 8080
    

    Service.yaml

    apiVersion: v1
    kind: Service
    metadata:
      name: spring-k8s
    spec:
      type: ExternalName
      externalName: cn.bing.com
    

    查看

    [root@master ~]# kubectl describe svc spring-k8s
    Name:              spring-k8s
    Namespace:         default
    Labels:            <none>
    Annotations:       <none>
    Selector:          <none>
    Type:              ExternalName
    IP Families:       <none>
    IP:
    IPs:               <none>
    External Name:     cn.bing.com
    Session Affinity:  None
    Events:            <none>
    

    验证

    kubectl exec -it spring-k8s-79f74b55d7-d527c  -- sh
    / # ping cn.bing.com
    PING cn.bing.com (202.89.233.101): 56 data bytes
    64 bytes from 202.89.233.101: seq=0 ttl=117 time=37.679 ms
    64 bytes from 202.89.233.101: seq=1 ttl=117 time=37.467 ms
    64 bytes from 202.89.233.101: seq=2 ttl=117 time=37.158 ms
    64 bytes from 202.89.233.101: seq=3 ttl=117 time=37.342 ms
    64 bytes from 202.89.233.101: seq=4 ttl=117 time=37.259 ms
    ^C
    --- cn.bing.com ping statistics ---
    5 packets transmitted, 5 packets received, 0% packet loss
    round-trip min/avg/max = 37.158/37.381/37.679 ms
    / # ping spring-k8s
    PING spring-k8s (202.89.233.101): 56 data bytes
    64 bytes from 202.89.233.101: seq=0 ttl=117 time=37.315 ms
    64 bytes from 202.89.233.101: seq=1 ttl=117 time=37.030 ms
    64 bytes from 202.89.233.101: seq=2 ttl=117 time=37.258 ms
    

    总结

    ExternalName 可以将外部的域名服务引入到集群内部。

    附录

  • 相关阅读:
    浏览器HTML5支持程度测试
    Unit testing Cmockery 简单使用
    Linux likely unlikely
    Android development tools line_endings hacking
    Linux C enum
    Android 系统内置App JNI
    Android Broadcast Receiver
    Android获取SharedPreferences失败,且App无法启动
    Sublime-text markdown with Vim mode and auto preview
    遍历Map key-value的两种方法
  • 原文地址:https://www.cnblogs.com/jiangbo44/p/14827874.html
Copyright © 2020-2023  润新知