我不知道库伯奈特的哪个部门做过这样的工作。可能是kube-api-server或kube-controller-manager,因为它们都有一个名为“服务集群-ip范围”的参数。
我想知道任务是否会被取消?
谢谢
发布于 2021-09-14 07:23:56
经过一番研究,我终于发现cluster ip是由kube-api-server分配的:它在存储对象之前分配验证cluster ip!
参见链接:https://pkg.go.dev/k8s.io/kubernetes/pkg/registry/core/service@v1.22.1
您还可以在github上的kubernetes存储库中找到相关代码。
所以我想它不能被禁用:)
发布于 2021-08-31 13:18:27
不确定禁用赋值究竟意味着什么,但也可以使用spec.ClusterIP和None值在无头模式中使用服务。这允许您使用其他服务发现机制,而无需直接使用pods地址来绑定到Kubernetes的实现。示例:
apiVersion: v1
kind: Service
metadata:
name: headless-svc
spec:
clusterIP: None
selector:
app: web
ports:
- protocol: TCP
port: 80
targetPort: 8080发布于 2021-09-01 09:07:00
首先,我将解释一下为什么分配ClusterIP:
Kubernetes服务是一种抽象,它定义了运行在集群某处的逻辑Pods集,它们都提供了相同的功能。在创建时,每个服务都被分配一个唯一的IP地址(也称为clusterIP)。这个地址与服务的生命周期相关联,并且在服务仍然存在时,不会改变。豆荚可以配置成与服务对话,并且知道到服务的通信将自动被负载平衡到某个作为服务成员的荚中。
ClusterIP是在创建Kubernetes服务的时刻通过设计创建的.在该处还活着的时候也不可能改变它。不可能简单地关闭地址分配。IP地址是从--service-cluster-ip-range池中分配的,该池在api-server和kube-controller配置中配置。
用户卡西姆·萨弗雷兹的回答是好的。这实际上是使用ClusterIP做任何事情的唯一选择:
您可以使用无头服务与其他服务发现机制进行接口,而无需绑定到Kubernetes的实现。
另请参阅:
https://stackoverflow.com/questions/68999286
复制相似问题