kubernetes 手动创建的EndpointSlice资源未与服务关联

xxe27gdn  于 2023-01-29  发布在  Kubernetes
关注(0)|答案(1)|浏览(248)

我尝试在群集A上创建指向群集B的IP地址的服务。我没有群集B的域名,因此无法使用ExternalName。我尝试执行此操作的方法是在群集A上创建不带选择器的服务,然后手动为该服务创建将指向群集B的EndpointSlice资源。根据Kubernetes文档,我需要“通过在EndpointSlice上设置www.example.com标签将EndpointSlice链接到服务kubernetes.io/service-name”,但即使这样做了,我的服务显然没有端点。
代码
endpointslice.yaml

apiVersion: discovery.k8s.io/v1
kind: EndpointSlice
metadata:
  name: hack-svc-1
  labels:
    kubernetes.io/service-name: hack-svc
    kubernetes.io/managed-by: manual
addressType: IPv4
ports:
  - port: 80
endpoints:
  - addresses:
    - "cluster B's IPv4 address here"
    conditions:
      ready: true

service.yaml

apiVersion: v1
kind: Service
metadata:
  name: hack-svc
spec:
  ports:
    - port: 80

kubectl describe service hack-svc之后:

Name:              hack-svc
Namespace:         default
Labels:            <none>
Annotations:       <none>
Selector:          <none>
Type:              ClusterIP
IP Family Policy:  SingleStack
IP Families:       IPv4
IP:                <IPv4 address here>
IPs:               <IPv4 address here>
Port:              http  80/TCP
TargetPort:        80/TCP
Endpoints:         <none>        <-- No endpoints??
Session Affinity:  None
Events:            <none>

如何将EndpointSlice与我的服务关联?

2vuwiymt

2vuwiymt1#

EndpointSlice API是Endpoints API的可伸缩和可扩展的替代方案。EndpointSlice从服务的pod中收集IP地址、端口、就绪性和拓扑等信息。请遵循此tutorial并验证在为群集配置EndpointSlice时是否存在任何不匹配,这在我的案例中很有帮助。

相关问题