0

设置

  • 我有一个联邦 k8s 集群,每个集群都有 master 和 worker。
  • 在联合中,每个集群都有一个不同的域来访问镜像注册表。(例如 myregistry-1、myregistry-2)。
  • 换句话说,每个集群都有自己的注册表。

问题

  • 我不想更改每个集群的域。基本上,我想创建一个与该集群内部的每个内部注册表匹配的公共端点。

示例:所有集群上的以下部署。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: harbor.default:5000/nginx:1.14.2
        ports:
        - containerPort: 80

我尝试实现“没有选择器的服务”并创建了一个端点并更新了 deployment.yaml 但没有奏效。

港口.yaml

apiVersion: v1
kind: Service
metadata:
  name: harbor-service
spec:
  ports:
    - protocol: TCP
      port: 5000
      targetPort: 5000

港口端点.yaml

apiVersion: v1
kind: Endpoints
metadata:
  name: harbor-service
subsets:
  - addresses:
      - ip: <INTERNAL_IP_OF_REGISTRY>
    ports:
      - port: 5000
4

0 回答 0