外部流量访问K8s的一种方式,即nodeIP:nodePort,是提供给外部流量访问K8s集群资源的一种方式。 例子 1、创建POD; root@master:~# kubectl create deployment test-nodeport --image=nginx --replicas=2deployment.apps/test-nodeport created 2、创建service; root@master:~# kubectl create service nodeport test-node...
NodePort # 创建一个 NodePort service.将集群内部服务以端口形式对外提供4、针对一个已存在的pod、deployment等创建一个service 使用命令:kubectl expose (-f FILENAME |TYPE NAME) [options] 参数详解:--cluster-ip=''设定对外的ClusterIP地址--name=''创建service对外的svc名称--port=''设定对外的端口信息--ta...
这里我们以service-kube-dashboard做为例子,它的node port为9092,cluster ip是10.254.32.107,我们查看ipvs如何做DNAT 代码语言:javascript 复制 kubectl describe service service-kube-dashboard--namespace kube-system ipvsadm-L 我们看到service-kube-dashboard node port为9092,对应一个endpoint10.1.86.5:8443。然后通...
3.4 NodePort类型的Service 3.5 LoadBalancer类型的Service 3.6 ExternalName类型的Service 4 Ingress介绍 5 Ingress使用 5.1 环境准备 5.2 Http代理 5.3 Https代理 1 Service介绍 在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对...
NodePort:在 ClusterIP 基础上为 Service 在每台机器上绑定一个端口,这样就可以通过 : NodePort 来访问该服务 LoadBalancer:在 NodePort 的基础上,借助 cloud provider 创建一个外部负载均衡器,并将请求转发到: NodePort ExternalName:把集群外部的服务引入到集群内部来,在集群内部直接使用。没有任何类型代理被创建,这...
name: myapp-service spec: type: NodePort ports: - port: 80 #这个端口必须要有 targetPort: 80 #默认和port一致 nodePort: 30008 #默认随机一个端口 selector: app: myapp #这个选择器会取选对应的pod作为这个Service的pod 1. 2. 3. 4. 5. ...
在KUBE-SERVICES target中我们可以看到当访问nginx-ingress-controller-service在host上的8080或者8443port的时候,根据规则匹配到了KUBE-NODEPORTS这个target。 查看KUBE-NODEPORTS target: 代码语言:javascript 复制 iptables-nvL-t nat 在KUBE-NODEPORTS target中我们可以看到当访问8080和8443时: ...
1)ClusterIP:通过集群的内部 IP 暴露服务,选择该值,服务只能够在集群内部可以访问,这也是默认的 ServiceType。 2)NodePort:通过每个 Node 上的 IP 和静态端口(NodePort)暴露服务。NodePort 服务会路由到 ClusterIP 服务,这个 ClusterIP 服务会自动创建。通过请求 <NodeIP>:<NodePort>,可以从集群的外部访问一个 Nod...
可以通过 Service 的 ClusterIP 或者 Service 的域名来访问这些 Endpoints,从而实现与外部服务的通信。 适应场景:ip 3)注意事项: endpoints配置多个后端外部服务的ip,功能较为单一,且需要主动维护endpoints。 3.ExternalName: 1)配置要求:无 外部服务:http://atm.zte.com.cn ...