简述K8S是怎么进行服务注册的?

Kubernetes服务注册的过程如下:

  1. 当一个服务(Service)被创建时,它会向Kubernetes API Server发送一个POST请求,该请求包含新服务的定义。这个请求需要经过认证、鉴权以及其他的准入策略检查过程之后才会被放行。
  2. Kubernetes的CoreDNS会为这个服务创建一个DNS记录,同时该服务会得到一个ClusterIP(虚拟IP地址),这个地址会被保存在集群数据仓库中。
  3. 接下来,该服务的配置会被在集群范围内进行传播,这是通过kube-proxy在每个节点上存储这些数据到iptables规则中实现的。
  4. 集群DNS服务得知该服务的创建,据此创建必要的DNS记录。这一步是关键环节。Kubernetes使用的是CoreDNS,这是一个以Kubernetes原生应用形式运行的DNS服务。这种方式的服务注册,无需服务自己向DNS进行注册,而是由CoreDNS控制器对APIServer进行监听,一旦发现有新建的服务对象,就创建一个从服务名称映射到ClusterIP的域名记录。

发表评论

后才能评论