从Kubernetes集群外部通过公网IP来访问一个应用程序

每个Pod都有一个私有的网络IP,要想从Kubernetes集群外部通过公网IP来访问一个应用程序,有三种方式

  • 第一种方式,在pod定义的时候指定HostPort, 这样可以通过 宿主机IP + host port来访问 缺点是,这种方式是通过pod所在的宿主机的IP调用,如果pod 改变了宿主机这种方式就没法使用了。不推荐使用HOSTPort
  • 第二种方式,pod定义的的时候不指定HostPort,通过创建Service并且让Service使用nodePort,让service来映射外部端口和Pod端口,service默认使用ClusterIP,ClusterIP只能在集群内部访问,外部的话就需要使用NodePort 缺点:Nodeport的端口的范围是:30000~32767, 定义的nodeport不能超出这个范围
  • 第三种方式: 通过共有云提供的负载均衡器 LoadBalancer

你可能感兴趣的:(从Kubernetes集群外部通过公网IP来访问一个应用程序)