Kubernetes服务连接被拒绝,如何访问服务?

时间:2020-10-05 12:09:37

标签: docker kubernetes service yaml minikube

您好,我是minikube的新手,我无法连接到公开服务。我创建了一个Api .Net Core,构建了映像,将其放入我的私有注册表中,然后使用有效的yml文件创建了一个部署。 但是我无法将该部署公开为服务。每次我暴露它一切都很好之后,却无法通过端口和minikube ip地址连接到它。 如果我尝试连接到ipadress:port,则会拒绝连接。

部署yml文件:

kind: Deployment
apiVersion: apps/v1
metadata:
  name: testapp1-deployment
  labels:
    app: testapp1
spec:
  replicas: 2
  selector:
    matchLabels:
      app: testapp1
  template:
    metadata:
      labels:
        app: testapp1
        version: v0.1
    spec:
      containers:
      - name: testapp1-deployment
        image: localhost:5000/testapp1
        imagePullPolicy: Never
        resources:
          requests:
            cpu: 120m
        ports:
        - containerPort: 80

服务yml文件:

    apiVersion: v1
    kind: Service
    metadata:
      name: testapp1-service
    spec:
      type: NodePort
      selector:
          app: testapp1
      ports:
      - protocol: TCP
        port: 80  
        targetPort: 80

1 个答案:

答案 0 :(得分:1)

问题出在我的dockerfile上,我没有在ASP .NET Core的应用程序中启用docker支持。我启用了docker支持并稍稍更改了dockerfile,然后对其进行了重建,它对我有用。

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env

WORKDIR / app

COPY * .csproj ./ 运行dotnet还原

复制。 ./ RUN dotnet发布-c发布-o out

从只读存储器mcr.microsoft.com/dotnet/core/aspnet:3.1 WORKDIR / app 复制--from = build-env / app / out。 ENTRYPOINT [“ dotnet”,“ aspnetapp.dll”]

这是我目前在我的应用程序中使用的dockerfile,因此,如果其他人遇到与我相同的问题,请尝试使用dockerfile。如果仍然无法使用,请查看以前的评论。