用于部署的 Kubernetes 清单服务

Kubernetes manifest service for deployment

所以最终清单将是下一个:

apiVersion: v1
kind: Service
metadata:
  name: apiserver-service
  labels:
    app: apiserver
spec:
  selector:
    app: apiserver
  ports:
    - protocol: TCP
      port: 8080
      targetPort: 8080
      nodePort: 30005
  type: NodePort

它将用于定义特定的目标端口

Kubernetes 服务文档中的第一个示例 Defining a Service 包含您所要求的内容,其中 port:targetPort: 不同的服务。

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: MyApp
  ports:
    - protocol: TCP
      port: 80
      targetPort: 9376

服务是一种在一组 Pods 上公开您的应用程序 运行 的抽象方式。这是创建 service 的清单,这里 targetPort: 8080 是 pod 端口。在这个清单中,基本上有两个部分,一个是 metadata ,它给出了服务名称并给它一个标签。然后是 spec 部分,这是规范的缩写形式,它基本上是服务的规范,这里给出了 selector,这里还指定了端口,port 代表服务端口,targetPort 表示服务将在其上发送请求的端口。通过 nodePort 外界(从集群外部)可以与服务通信,最后 type 表示服务的类型。如果 type = NodePort 那么它基本上意味着从集群外部服务将公开一个端口 (nodePort)。

apiVersion: v1
kind: Service
metadata:
  name: apiserver-service
  labels:
    app: apiserver
spec:
  selector:
    app: apiserver
  ports:
    - protocol: TCP
      port: 8080
      targetPort: 8080
      nodePort: 30005
  type: NodePort