根据以下约束,我将如何配置服务和/或入口来处理数百个此类部署的启动和关闭:
- 此部署是
foo-1
,后续部署将以唯一名称命名 - 每个部署都映射到 1 个唯一的 pod(元名称和副本处理此问题)
- 每个 pod 可通过 2 个唯一端口访问
- 端口将被分配,例如使用
NodePort
- 所有 Pod 都应该可以从同一 IP 访问
- 我可以使用 LoadBalancer,但不能为每个部署都使用一个
- 如果除了部署之外还有其他用途,那就没问题
部署将单独创建和删除,而不是作为一个组
apiVersion: apps/v1 kind: Deployment metadata: name: foo-1 labels: app: foo spec: replicas: 1 selector: matchLabels: app: foo template: metadata: labels: app: foo spec: containers: - name: foo image: bar/baz:latest ports: - containerPort: 83 name: listen - containerPort: 85 name: serve
我正在使用 GKE,我认为它有防火墙,阻止我直接访问节点。我并不反对禁用防火墙,但如果可能的话,我更愿意通过 LoadBalancer 来做到这一点。