gpt4 book ai didi

azure - 如何获取运行Kubernet服务的VM的外部IP

转载 作者:行者123 更新时间:2023-12-02 21:03:33 24 4
gpt4 key购买 nike

我已在 Azure 的 VM 中托管 Docker 镜像,并且我正在尝试访问 VM 外部的服务。这不起作用,因为没有为服务生成外部 IP。

构建 Docker 镜像后,我应用了 yml 文件来创建部署和服务。我的 yml 文件如下所示:

apiVersion: apps/v1
kind: Deployment
metadata:
name: planservice-deployment
labels:
app: planservice-deploy
spec:
selector:
matchLabels:
run: planservice-deploy
replicas: 2
template:
metadata:
labels:
run: planservice-deploy
spec:
containers:
- name: planservice-deploy
image: planserviceimage
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8086
---
apiVersion: v1
kind: Service
metadata:
name: planservice-service
labels:
app: planservice-deploy
spec:
type: NodePort
ports:
- port: 80
protocol: TCP
targetPort: 8086
selector:
run: planservice-deploy
---

在我运行以下命令来查看正在运行的服务后:

kubectl get pods --output=wide

此命令返回所有正在运行的服务及其外部 IP 信息。但是,当我看到该列表时,所有服务都是使用空白外部 IP 生成的。

如何为所有服务设置外部IP,以便我可以在VM之外访问我的Web服务?

最佳答案

您需要将类型更改为LoadBalancer:

apiVersion: v1
kind: Service
metadata:
name: planservice-service
labels:
app: planservice-deploy
spec:
type: LoadBalancer
ports:
- port: 80
protocol: TCP
targetPort: 8086
selector:
run: planservice-deploy

https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer

关于azure - 如何获取运行Kubernet服务的VM的外部IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59304264/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com