【发布时间】:2021-12-01 15:42:34
【问题描述】:
我在 Kubernetes 集群上使用 Scaleway 部署了一个入口 pod,它存在于 kube-system 命名空间中。我不小心在 default 命名空间上创建了一个负载均衡器服务,我不想在 kube-system 命名空间上删除并重新创建一个新服务,所以我希望 default 命名空间中的负载均衡器拥有入口 pod作为端点:
apiVersion: v1
kind: Service
metadata:
name: ecom-loadbalancer
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
selector:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
ports:
- port: 443
targetPort: 443
type: LoadBalancer
这可能吗?我应该在选择器字段中添加什么内容吗?
我尝试在 kube-system 命名空间中创建一个 clusterIP 服务来与入口 pod 进行通信,它成功了。
apiVersion: v1
kind: Service
metadata:
name: ecom-loadbalancer
namespace: kube-system
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
selector:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
ports:
- port: 443
targetPort: 443
type: ClusterIP
然后,我尝试在默认命名空间中将该服务引用到我的loadbalancer:
apiVersion: v1
kind: Service
metadata:
name: ecom-loadbalancer
spec:
type: ExternalName
externalName: ecom-loadbalancer.kube-system.svc.cluster.local
ports:
- port: 443
targetPort: 443
type: LoadBalancer
但没有结果。 clusterIP 指向 Ingress pod,但负载均衡器仍然没有端点。
【问题讨论】:
标签: kubernetes kubernetes-service