一个容器应用可以提供多个端口的服务,在service 的定义中也可以相应地设置多个端口号。

在下面的例子中,service设置了两个端口号来分别提供不同的服务,如web 服务和management 服务(下面为每个端口号都进行了命名,以便区分):

apiVersion: v1
kind: Service
metadata: 
  name: webapp
spec: 
  ports: 
  - port: 8080
    targetPort: 8080
    name: web
  - port: 8005
    targetPort: 8005
    name: management
  selector: 
    app: webapp

另一个例子是同一个端口号使用的协议不同,如TCP 和 UDP ,也需要设置为多个端口号来提供不同的服务:

apiVersion: v1
kind: Service
metadata: 
  name: kube-dns
  namespace: kube-system
  labels: 
    k8s-app: kube-dns
    kubernetes.io/cluster-service: "true"
    kubernetes.io/name: "KubeDNS"
spec: 
  selector: 
    k8s-app: kube-dns
  clusterIP: 169.169.0.100
  ports: 
  - name: dns
    port: 53
    protocol: UDP
  - name: dns-tcp
    port: 53
    protocol: TCP
Logo

开源、云原生的融合云平台

更多推荐