k8s port、nodePort、targetPort

apiVersion: v1
kind: Service
metadata:
  name: ServiceNmae
  namespace: open
spec:
  type: NodePort
  ports:
      # kubectl get svc 输出的端口是 port:nodePort,nodePort是对外访问的端口,port是k8s集群内部访问的端口
      # 通过ingress配置的host加nodePort端口可以访问接口
    - port: ServicePort
      # targetPort是pod对外暴露的端口,只要targetPort配置正确,就可以访问到容器
      # targetPort可以填任意字符串,默认情况下,targetPort 将被设置为与 port字段相同的值,自定义时,建议和port的值相同
      # 实验表明,Deployment的containers配置错误的port,targetPort配置正确,可以正常访问
      targetPort: ServicePort
      # 可选字段,对外暴露端口
      # 默认情况下,为了方便起见,k8s会默认在Node上随机分配一个nodePort端口
      # 如果是dubbo服务,port、targetPort和nodePort配置同一个就可以了;
      # 如果是springmvc,这里可以不配;
      # 如果是springboot,这里可以配置成你spring配置文件的tomcat的端口或dubbo端口
      nodePort: ServicePort
      protocol: TCP
  selector:
    name: ServiceNmae
---

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ServiceNmae-ingress
  namespace: open
spec:
  rules:
    - host: ServiceNmae.coding.net
      http:
        paths:
          - path: /
            backend:
              serviceName: ServiceNmae
              servicePort: ServicePort

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_30038111/article/details/111822913