1、service
每个service对应一个cluster IP,cluster IP对应的服务网段最初是在配置kube-apiserver、kube-controller-manager和kube-proxy的systemd unit时指定的,如kube-apiserver参数为--service-cluster-ip-range。

Service提供提供了一种稳定访问一组pod的方式。Service使用clusterIP:port(默认方式)对外暴露服务,将外部流量从clusterIP:port导入到service中定义的selector标签指定的endpoint的targetport端口上(默认情况下targetport将被设置为与port字段相同的值)。Kube-proxy则为service提供了一种实现负载均衡的策略。Endpoint会在service创建后被自动创建。

2、kube-dns
集群中可以通过配置Kube-dns来实现服务发现的功能。Kube-dns实现了服务名到cluster IP的映射关系。Kube-dns通常会为service赋予一个名为“service名称.namespace.svc.cluster.local”的A记录,用来解析service的cluster IP。如果访问default namespace下的服务,可以通过“service名称”直接访问;如果访问其他namespace下的服务,可以通过“service名称.namespace”访问。k8s会为每个容器提供默认的/etc/resolv.conf配置,内容为:

    search default.svc.cluster.local svc.cluster.local cluster.local
    nameserver 10.0.0.10
    options ndots:5
集群通过查询/etc/resolv.conf文件的nameserver字段来确定dns服务器,该文件是在kubelet服务启动配置中指定—cluster-dns,并在服务启动后自动生成的。当用“service名称”访问服务时,最终会使用default.svc.cluster.local这条search记录拼接完整的服务名称;当使用“service名称.namespace”时,最终会使用svc.cluster.local这条search记录。

-------------未完...-------------

最新文章

  1. a chip multiprocessor
  2. GitHub 上一份很受欢迎的前端代码优化指南
  3. Codeforces Round #375 (Div. 2) - B
  4. SZ,RZ传送文件
  5. controller,link,compile不同
  6. 【转】VIRTUALBOX导入已有.VDI文件步骤
  7. C# #if DEBUG
  8. MySQL配置文件路径及‘The total number of locks exceeds the lock table size’问题
  9. C#中的??是什么意思
  10. CronJobs
  11. TortiseGit 添加SSH-Key
  12. Java基础 【Math、Random、System、BigInteger、BigDecimal、Date、Calendar等常用类的使用】
  13. spring ----> ResourceBundle [message] not found for MessageSource: Can't find bundle for base name message, local_zh
  14. jquery 根据自定义属性选择
  15. eclipse插件spket安装
  16. HDU 2143 Can you find it?(基础二分)
  17. [SSH]struts2-spring-plugin.jar了解
  18. 2-1 gradle安装
  19. localstorage存储对象
  20. Python-IO模式介绍

热门文章

  1. JS --- 数组循环要用length
  2. 一个炫酷的Actionbar效果
  3. iOS --- 总结Objective-C中经常使用的宏定义(持续更新中)
  4. NGUI UIScrollView - 大量item子项的性能优化
  5. 【试水CAS-4.0.3】第06节_CAS服务端配置HTTPS
  6. Android命令行下蓝牙使用
  7. Task C# 多线程和异步模型 TPL模型 【C#】43. TPL基础——Task初步 22 C# 第十八章 TPL 并行编程 TPL 和传统 .NET 异步编程一 Task.Delay() 和 Thread.Sleep() 区别
  8. CentOS挂载优盘
  9. effctive C++ 读书笔记 条款 16
  10. hadoop reduce 阶段遍历 Iterable 的 2 个“坑”