我已经成功地在google kubernetes cloud engine.But上部署了一个microservicespring应用,端点不工作。
Dockerfile

deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
name: user-management-deployment
labels:
app: happy-paws
spec:
replicas: 3
selector:
matchLabels:
name: user-management-deployment
app: happy-paws
template:
metadata:
name: user-management-deployment
labels:
name: user-management-deployment
app: happy-paws
spec:
containers:
- name: user-management
image: docker/user-management
ports:
- containerPort: 9106Service.yml
apiVersion: v1
kind: Service
metadata:
name: user-management
labels:
name: user-management-service
app: happy-paws
spec:
type: LoadBalancer
ports:
- port: 9106
targetPort: 9106
selector:
name: user-management-pod
app: happy-pawsapplication.properties

请帮助我理解这个问题。
更新:
更新端口后,应用程序开始工作
已启动的服务: user-order-detail LoadBalancer kubernetes ClusterIP订单管理LoadBalancer用户管理LoadBalancer
user-order-detail命中端点以检索所有用户。我收到这个错误:虚拟主机名没有匹配:user-management**
String url = "user-management/user";
InstanceInfo instance = eurekaClient.getNextServerFromEureka("user-management", false);
Object response = restTemplate.getForObject(instance.getHomePageUrl() + url +"/" + userId, Object.class);发布于 2020-03-30 02:46:43
尝试理解服务在kubernetes术语中的含义。在更高的层次上,这可以解释为将运行在容器内的应用程序(在pod内运行(在网络内运行))暴露给外部世界的一种方式。
这些模块中的每一个都可以有自己的单独网络。因此,引入了服务的概念。通过这种方式,您可以公开容器的哪个端口需要公开,以及如何公开(服务类型,在您的例子中是LoadBalancer)。
因此,如果您需要访问在容器内的端口9106上运行的应用程序,则需要公开该端口。
spec:
type: LoadBalancer
ports:
- port: 9106
targetPort: 9106发布于 2020-03-30 02:38:25
尝试将所有端口更改为9106
https://stackoverflow.com/questions/60918686
复制相似问题