【发布时间】:2023-03-28 09:43:01
【问题描述】:
我在一个 pod 上部署了一个 web 服务器,并创建了一个像这样的负载平衡服务
kubectl expose deployment api --port=80 --target-port=8080 --name api-LB --type=LoadBalancer
但是,当我重新部署 pod 时,假设进行了一些更新,似乎失去了与 LoadBalancer 的绑定。所以我必须从顶部创建一个负载平衡服务,以便获得一个外部 ip。
我想问一下,是否有办法绑定负载均衡器和 Pod,这样每次执行新的 Pod 部署时就不需要将 Pod 暴露给负载均衡器。
API 开发 yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-dev
namespace: default
spec:
template:
metadata:
name: api-dev
spec:
volumes:
- name: nfs-volume
nfs:
# URL for the NFS server
server: xxxx
path: xxxx
containers:
- name: api-dev
image: docker-image-at-registry
ports:
- containerPort: 80
name: server
volumeMounts:
- name: nfs-volume
mountPath: /var/nfs
imagePullSecrets:
- name: regcred
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: api-dev
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
【问题讨论】:
-
可以分享开发api的文件yaml吗?
-
您使用的是哪个版本的 Kubernetes,您是如何设置集群的?您是否使用裸机安装或某些云提供商?重现您的问题很重要。
-
您好@MikołajGłodziak,我正在使用 VMware 的 PKS。 NVM 我找到了一个为特定应用程序部署负载均衡器服务的解决方案。谢谢你的时间:)
标签: kubernetes kubernetes-service